Package groovy.lang

# Class MetaClassRegistryChangeEvent

java.lang.Object
java.util.EventObject
groovy.lang.MetaClassRegistryChangeEvent

All Implemented Interfaces:
  `Serializable`

    public class MetaClassRegistryChangeEvent
    extends EventObject

An event used to propagate meta class updates

See Also:
  Serialized Form

- ## Field Summary

  ### Fields inherited from class java.util.EventObject

  `source`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `MetaClassRegistryChangeEvent​(Object source, Object instance, Class clazz, MetaClass oldMetaClass, MetaClass newMetaClass)` | Constructs a new MetaClassRegistryChangeEvent Object

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Class` | `getClassToUpdate()` | Get the class that is updated.
  `Object` | `getInstance()` | Returns the instance this event is for.
  `MetaClass` | `getNewMetaClass()` | Get the new MetaClass
  `MetaClass` | `getOldMetaClass()` | Get the old MetaClass
  `MetaClassRegistry` | `getRegistry()` | Get the MetaClassRegistry that originates this change
  `boolean` | `isPerInstanceMetaClassChange()` | Determines if this event is for a change for a single instance or all instances of the Class.

  ### Methods inherited from class java.util.EventObject

  `getSource, toString`

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

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

- ## Constructor Details

  - ### MetaClassRegistryChangeEvent

    public MetaClassRegistryChangeEvent​(Object source, Object instance, Class clazz, MetaClass oldMetaClass, MetaClass newMetaClass)
    Constructs a new MetaClassRegistryChangeEvent Object
    Parameters:
      `source` - The object the event originates at.
      `instance` - Object instance the MetaClass change is on.
      `clazz` - The class that is affected by the registry change
      `oldMetaClass` - The old MetaClass
      `newMetaClass` - The new MetaClass

- ## Method Details

  - ### getClassToUpdate

    public Class getClassToUpdate()
    Get the class that is updated.
    Returns:
      The updated class

  - ### getNewMetaClass

    public MetaClass getNewMetaClass()
    Get the new MetaClass
    Returns:
      The new MetaClass

  - ### getOldMetaClass

    public MetaClass getOldMetaClass()
    Get the old MetaClass
    Returns:
      The old MetaClass

  - ### isPerInstanceMetaClassChange

    public boolean isPerInstanceMetaClassChange()
    Determines if this event is for a change for a single instance or all instances of the Class.
    Returns:
      whether this event is for a single instance

  - ### getInstance

    public Object getInstance()
    Returns the instance this event is for.
    Returns:
      the instance or null if this event is for a change for all instances of a class

  - ### getRegistry

    public MetaClassRegistry getRegistry()
    Get the MetaClassRegistry that originates this change
    Returns:
      the source MetaClassRegistry