W3cubDocs

/Groovy 3.0

[Java] Interface MutableMetaClass

  • groovy.lang.MetaObjectProtocol
All Superinterfaces:
MetaClass, MetaObjectProtocol
public interface MutableMetaClass
extends MetaClass

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
Since:
1.5

Methods Summary

Methods
Type Params Return Type Name and description
public void addMetaBeanProperty(MetaBeanProperty metaBeanProperty)
Adds a new MetaBeanProperty to the MetaClass
public void addMetaMethod(MetaMethod metaMethod)
Adds a new MetaMethod to the MetaClass
public void addNewInstanceMethod(Method method)
adds a new instance method to this MetaClass.
public void addNewStaticMethod(Method method)
adds a new static method to this MetaClass.
public boolean isModified()
Return whether the MetaClass has been modified or not

Inherited Methods Summary

Inherited Methods
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/3.0.7/html/gapi/groovy/lang/MutableMetaClass.html