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:
  • 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