Class DefaultMetaClassInfo
java.lang.Object
org.codehaus.groovy.runtime.metaclass.DefaultMetaClassInfo
WARNING: This class is for internal use only!
We use this class to store information about if a default MetaClass is
used for certain primitives.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRepresents a constant version of the metaclass configuration at a point in time. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanReturns whether standard metaclass functionality has been disabled.Retrieves the current constant metaclass versioning object.Creates a new constant metaclass versioning instance and invalidates the old one.static booleanReturns true if no metaclass creation handle is set and if the original boolean metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original byte metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original char metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original double metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original float metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original integer metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original integer array metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original long metaclass is used.static booleanReturns true if no metaclass creation handle is set and if the original short metaclass is used.static voidsetCategoryUsed(boolean b) Sets whether categories are currently in use and updates related flags accordingly.static voidsetOrigBool(boolean v) Sets if the original boolean metaclass is used.static voidsetOrigByte(boolean v) Sets if the original byte metaclass is used.static voidsetOrigChar(boolean v) Sets if the original char metaclass is used.static voidsetOrigDouble(boolean v) Sets if the original double metaclass is used.static voidsetOrigFloat(boolean v) Sets if the original float metaclass is used.static voidsetOrigInt(boolean v) Sets if the original int metaclass is used.static voidsetOrigIntArray(boolean v) Sets if the original int array metaclass is used.static voidsetOrigLong(boolean v) Sets if the original long metaclass is used.static voidsetOrigShort(boolean v) Sets if the original short metaclass is used.static voidsetPrimitiveMeta(Class c, boolean orig) Sets whether the original metaclass is used for the given primitive class.static voidsetWithoutCustomMetaclassCreationHandle(boolean mch) Sets whether the system uses a custom metaclass creation handle.
-
Constructor Details
-
DefaultMetaClassInfo
public DefaultMetaClassInfo()
-
-
Method Details
-
isOrigBool
public static boolean isOrigBool()Returns true if no metaclass creation handle is set and if the original boolean metaclass is used. -
setOrigBool
public static void setOrigBool(boolean v) Sets if the original boolean metaclass is used. -
isOrigByte
public static boolean isOrigByte()Returns true if no metaclass creation handle is set and if the original byte metaclass is used. -
setOrigByte
public static void setOrigByte(boolean v) Sets if the original byte metaclass is used. -
isOrigChar
public static boolean isOrigChar()Returns true if no metaclass creation handle is set and if the original char metaclass is used. -
setOrigChar
public static void setOrigChar(boolean v) Sets if the original char metaclass is used. -
isOrigShort
public static boolean isOrigShort()Returns true if no metaclass creation handle is set and if the original short metaclass is used. -
setOrigShort
public static void setOrigShort(boolean v) Sets if the original short metaclass is used. -
isOrigInt
public static boolean isOrigInt()Returns true if no metaclass creation handle is set and if the original integer metaclass is used. -
setOrigInt
public static void setOrigInt(boolean v) Sets if the original int metaclass is used. -
isOrigIntArray
public static boolean isOrigIntArray()Returns true if no metaclass creation handle is set and if the original integer array metaclass is used. -
setOrigIntArray
public static void setOrigIntArray(boolean v) Sets if the original int array metaclass is used. -
isOrigLong
public static boolean isOrigLong()Returns true if no metaclass creation handle is set and if the original long metaclass is used. -
setOrigLong
public static void setOrigLong(boolean v) Sets if the original long metaclass is used. -
isOrigFloat
public static boolean isOrigFloat()Returns true if no metaclass creation handle is set and if the original float metaclass is used. -
setOrigFloat
public static void setOrigFloat(boolean v) Sets if the original float metaclass is used. -
isOrigDouble
public static boolean isOrigDouble()Returns true if no metaclass creation handle is set and if the original double metaclass is used. -
setOrigDouble
public static void setOrigDouble(boolean v) Sets if the original double metaclass is used. -
setWithoutCustomMetaclassCreationHandle
public static void setWithoutCustomMetaclassCreationHandle(boolean mch) Sets whether the system uses a custom metaclass creation handle. When set to false, indicates that a custom handle is in use; when set to true, indicates the system uses the standard metaclass creation handle.- Parameters:
mch- true if using standard metaclass creation handle, false if using custom
-
setCategoryUsed
public static void setCategoryUsed(boolean b) Sets whether categories are currently in use and updates related flags accordingly. When categories are used, standard metaclass functionality may be affected.- Parameters:
b- true if categories are in use, false otherwise
-
disabledStandardMetaClass
public static boolean disabledStandardMetaClass()Returns whether standard metaclass functionality has been disabled. This occurs when either categories are in use or a custom metaclass creation handle is set.- Returns:
- true if standard metaclass is disabled, false otherwise
-
setPrimitiveMeta
Sets whether the original metaclass is used for the given primitive class. This method updates the appropriate flag based on the class type (Byte, Character, Short, Integer, Long, Float, Double, or Integer array).- Parameters:
c- the primitive or primitive array classorig- true if using the original metaclass, false otherwise
-
getCurrentConstantMetaClassVersioning
public static DefaultMetaClassInfo.ConstantMetaClassVersioning getCurrentConstantMetaClassVersioning()Retrieves the current constant metaclass versioning object. All cached metaclass information is tagged with the current version. When the version changes, all caches using the old version become invalid.- Returns:
- the current metaclass versioning instance
-
getNewConstantMetaClassVersioning
Creates a new constant metaclass versioning instance and invalidates the old one. This should be called when global metaclass configuration changes occur.- Returns:
- the new metaclass versioning instance
-