[Java] Interface MutableMetaClass
- groovy.lang.MetaObjectProtocol
- All Superinterfaces:
- MetaClass, MetaObjectProtocol
An interface that defines methods that implementers of mutable Meta classes should specify. It provides operations to perform mutations on the MetaClass instance.
Whether a MetaClass allows mutation is up to the MetaClass itself and considerations of Thread safety need to be taken into account when making a MetaClass mutable
The default implementation allows mutation of MetaClass instances before initialisation (before the initialize() method is called) but not after, thus ensuring Thread safety once a MetaClass has been constructed and placed in the registry
- See Also:
- MetaClassImpl
- MetaClass
- Authors:
- Graeme Rocher
- Since:
- 1.5
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
void |
addMetaBeanProperty(MetaBeanProperty metaBeanProperty) Adds a new MetaBeanProperty to the MetaClass | |
void |
addMetaMethod(MetaMethod metaMethod) Adds a new MetaMethod to the MetaClass | |
void |
addNewInstanceMethod(Method method) adds a new instance method to this MetaClass. | |
void |
addNewStaticMethod(Method method) adds a new static method to this MetaClass. | |
boolean |
isModified() Return whether the MetaClass has been modified or not |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
interface MetaClass | getAttribute, getClassNode, getMetaMethods, getMethods, getProperties, getProperty, initialize, invokeMethod, invokeMissingMethod, invokeMissingProperty, pickMethod, selectConstructorAndTransformArguments, setAttribute, setProperty |
interface MetaObjectProtocol | getAttribute, getMetaMethod, getMetaProperty, getMethods, getProperties, getProperty, getStaticMetaMethod, getTheClass, hasProperty, invokeConstructor, invokeMethod, invokeMethod, invokeStaticMethod, respondsTo, respondsTo, setAttribute, setProperty |
Method Detail
public void addMetaBeanProperty(MetaBeanProperty metaBeanProperty)
Adds a new MetaBeanProperty to the MetaClass
- Parameters:
-
metaBeanProperty
- The MetaBeanProperty instance
public void addMetaMethod(MetaMethod metaMethod)
Adds a new MetaMethod to the MetaClass
- Parameters:
-
metaMethod
- The MetaMethod to add
public void addNewInstanceMethod(Method method)
adds a new instance method to this MetaClass. Instance methods are able to overwrite the original methods of the class. Calling this method should not be done after initialise was called.
- Parameters:
-
method
- the method to be added
public void addNewStaticMethod(Method method)
adds a new static method to this MetaClass. This is only possible as long as initialise was not called.
- Parameters:
-
method
- the method to be added
public boolean isModified()
Return whether the MetaClass has been modified or not
- Returns:
- True if it has
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/groovy/lang/MutableMetaClass.html