groovy.lang

## Class MetaClassRegistryChangeEvent

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

All Implemented Interfaces:
  java.io.Serializable

    public class MetaClassRegistryChangeEvent
    extends java.util.EventObject

An event used to propagate meta class updates

Author:
  Jochen Theodorou
See Also:
  Serialized Form

### Field Summary

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

`source`

### Constructor Summary

Constructors
Constructor and Description
`MetaClassRegistryChangeEvent(java.lang.Object source, java.lang.Object instance, java.lang.Class clazz, MetaClass oldMetaClass, MetaClass newMetaClass)` Constructs a new MetaClassRegistryChangeEvent Object

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Class` `getClassToUpdate()` Get the class that is updated.
`java.lang.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 Detail

#### MetaClassRegistryChangeEvent

    public MetaClassRegistryChangeEvent(java.lang.Object source,
                                        java.lang.Object instance,
                                        java.lang.Class clazz,
                                        MetaClass oldMetaClass,
                                        MetaClass newMetaClass)

Constructs a new MetaClassRegistryChangeEvent Object

Parameters:
  `source` - The object the 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 Detail

#### getClassToUpdate

    public java.lang.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 java.lang.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