W3cubDocs

/Groovy 3.0

[Java] Class MetaClassImpl

  • groovy.lang.MetaClassImpl
All Implemented Interfaces and Traits:
MetaClass, MutableMetaClass
public class MetaClassImpl
extends Object
implements MetaClass, MutableMetaClass

Allows methods to be dynamically added to existing classes at runtime

See Also:
MetaClass

Field Summary

Fields
Modifiers Name Description
static Object[] EMPTY_ARGUMENTS
protected static String INVOKE_METHOD_METHOD
protected static String METHOD_MISSING
protected static String PROPERTY_MISSING
protected static String STATIC_METHOD_MISSING
protected static String STATIC_PROPERTY_MISSING
protected MetaMethod getPropertyMethod
protected MetaMethod invokeMethodMethod
protected boolean isGroovyObject
protected boolean isMap
protected MetaMethodIndex metaMethodIndex
protected MetaClassRegistry registry
protected MetaMethod setPropertyMethod
protected CachedClass theCachedClass
protected Class theClass

Constructor Summary

Constructors
Constructor and description
MetaClassImpl (Class theClass, MetaMethod[] add)
Constructor
MetaClassImpl (Class theClass)
Constructor that sets the methods to null
MetaClassImpl (MetaClassRegistry registry, Class theClass, MetaMethod[] add)
Constructor with registry
MetaClassImpl (MetaClassRegistry registry, Class theClass)
Constructor with registry setting methods to null

Methods Summary

Methods
Type Params Return Type Name and description
public MetaMethod getMetaMethod(String name, Object[] argTypes)
See Also:
MetaObjectProtocol.getMetaMethod
public MetaProperty getMetaProperty(String name)
See Also:
MetaObjectProtocol.getMetaProperty
public MetaClassRegistry getRegistry()
Returns the registry for this metaclass
public MetaMethod getStaticMetaMethod(String name, Object[] argTypes)
See Also:
MetaObjectProtocol.getStaticMetaMethod
protected LinkedList<CachedClass> getSuperClasses()
public final CachedClass getTheCachedClass()
Returns the cached class for this metaclass
public Class getTheClass()
Returns the class this object this is the metaclass of.
public MetaProperty hasProperty(Object obj, String name)
See Also:
MetaObjectProtocol.hasProperty
public boolean isGroovyObject()
Return whether the class represented by this metaclass instance is an instance of the GroovyObject class
public void methodNameAction(Class<?> clazz, Entry e)
public List respondsTo(Object obj, String name, Object[] argTypes)
See Also:
MetaObjectProtocol.respondsTo
public List respondsTo(Object obj, String name)
See Also:
MetaObjectProtocol.respondsTo
public boolean skipClass(Class<?> clazz)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Field Detail

public static final Object[] EMPTY_ARGUMENTS

protected static final String INVOKE_METHOD_METHOD

protected static final String METHOD_MISSING

protected static final String PROPERTY_MISSING

protected static final String STATIC_METHOD_MISSING

protected static final String STATIC_PROPERTY_MISSING

protected MetaMethod getPropertyMethod

protected MetaMethod invokeMethodMethod

protected final boolean isGroovyObject

protected final boolean isMap

protected final MetaMethodIndex metaMethodIndex

protected MetaClassRegistry registry

protected MetaMethod setPropertyMethod

protected final CachedClass theCachedClass

protected final Class theClass

Constructor Detail

public MetaClassImpl(Class theClass, MetaMethod[] add)

Constructor

Parameters:
theClass - The class this is the metaclass dor
add - The methods for this class

public MetaClassImpl(Class theClass)

Constructor that sets the methods to null

Parameters:
theClass - The class this is the metaclass dor

public MetaClassImpl(MetaClassRegistry registry, Class theClass, MetaMethod[] add)

Constructor with registry

Parameters:
registry - The metaclass registry for this MetaClass
theClass - The class
add - The methods

public MetaClassImpl(MetaClassRegistry registry, Class theClass)

Constructor with registry setting methods to null

Parameters:
registry - The metaclass registry for this MetaClass
theClass - The class

Method Detail

@Override public MetaMethod getMetaMethod(String name, Object[] argTypes)

See Also:
MetaObjectProtocol.getMetaMethod

@Override public MetaProperty getMetaProperty(String name)

See Also:
MetaObjectProtocol.getMetaProperty

public MetaClassRegistry getRegistry()

Returns the registry for this metaclass

Returns:
The resgistry

@Override public MetaMethod getStaticMetaMethod(String name, Object[] argTypes)

See Also:
MetaObjectProtocol.getStaticMetaMethod

protected LinkedList<CachedClass> getSuperClasses()

public final CachedClass getTheCachedClass()

Returns the cached class for this metaclass

Returns:
The cached class.

public Class getTheClass()

Returns the class this object this is the metaclass of.

Returns:
The class contained by this metaclass

@Override public MetaProperty hasProperty(Object obj, String name)

See Also:
MetaObjectProtocol.hasProperty

public boolean isGroovyObject()

Return whether the class represented by this metaclass instance is an instance of the GroovyObject class

Returns:
true if this is a groovy class, false otherwise.

@Override public void methodNameAction(Class<?> clazz, Entry e)

@Override public List respondsTo(Object obj, String name, Object[] argTypes)

See Also:
MetaObjectProtocol.respondsTo

@Override public List respondsTo(Object obj, String name)

See Also:
MetaObjectProtocol.respondsTo

@Override public boolean skipClass(Class<?> clazz)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/groovy/lang/MetaClassImpl.html