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