Package org.codehaus.groovy.runtime.metaclass

# Class DefaultMetaClassInfo

java.lang.Object
org.codehaus.groovy.runtime.metaclass.DefaultMetaClassInfo

public class DefaultMetaClassInfo extends Object
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 Classes
  Modifier and Type
  Class
  Description
  `static class`
  `DefaultMetaClassInfo.ConstantMetaClassVersioning`
  Represents a constant version of the metaclass configuration at a point in time.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultMetaClassInfo()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `disabledStandardMetaClass()`
  Returns whether standard metaclass functionality has been disabled.
  `static DefaultMetaClassInfo.ConstantMetaClassVersioning`
  `getCurrentConstantMetaClassVersioning()`
  Retrieves the current constant metaclass versioning object.
  `static DefaultMetaClassInfo.ConstantMetaClassVersioning`
  `getNewConstantMetaClassVersioning()`
  Creates a new constant metaclass versioning instance and invalidates the old one.
  `static boolean`
  `isOrigBool()`
  Returns true if no metaclass creation handle is set and if the original boolean metaclass is used.
  `static boolean`
  `isOrigByte()`
  Returns true if no metaclass creation handle is set and if the original byte metaclass is used.
  `static boolean`
  `isOrigChar()`
  Returns true if no metaclass creation handle is set and if the original char metaclass is used.
  `static boolean`
  `isOrigDouble()`
  Returns true if no metaclass creation handle is set and if the original double metaclass is used.
  `static boolean`
  `isOrigFloat()`
  Returns true if no metaclass creation handle is set and if the original float metaclass is used.
  `static boolean`
  `isOrigInt()`
  Returns true if no metaclass creation handle is set and if the original integer metaclass is used.
  `static boolean`
  `isOrigIntArray()`
  Returns true if no metaclass creation handle is set and if the original integer array metaclass is used.
  `static boolean`
  `isOrigLong()`
  Returns true if no metaclass creation handle is set and if the original long metaclass is used.
  `static boolean`
  `isOrigShort()`
  Returns true if no metaclass creation handle is set and if the original short metaclass is used.
  `static void`
  `setCategoryUsed(boolean b)`
  Sets whether categories are currently in use and updates related flags accordingly.
  `static void`
  `setOrigBool(boolean v)`
  Sets if the original boolean metaclass is used.
  `static void`
  `setOrigByte(boolean v)`
  Sets if the original byte metaclass is used.
  `static void`
  `setOrigChar(boolean v)`
  Sets if the original char metaclass is used.
  `static void`
  `setOrigDouble(boolean v)`
  Sets if the original double metaclass is used.
  `static void`
  `setOrigFloat(boolean v)`
  Sets if the original float metaclass is used.
  `static void`
  `setOrigInt(boolean v)`
  Sets if the original int metaclass is used.
  `static void`
  `setOrigIntArray(boolean v)`
  Sets if the original int array metaclass is used.
  `static void`
  `setOrigLong(boolean v)`
  Sets if the original long metaclass is used.
  `static void`
  `setOrigShort(boolean v)`
  Sets if the original short metaclass is used.
  `static void`
  `setPrimitiveMeta(Class c, boolean orig)`
  Sets whether the original metaclass is used for the given primitive class.
  `static void`
  `setWithoutCustomMetaclassCreationHandle(boolean mch)`
  Sets whether the system uses a custom metaclass creation handle.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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

    public static void setPrimitiveMeta(Class c, boolean orig)
    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 class
      `orig` - 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

    public static DefaultMetaClassInfo.ConstantMetaClassVersioning 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