[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
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
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
Type Params | Return Type | Name and description |
---|---|---|
public MetaMethod |
getMetaMethod(String name, Object[] argTypes)
| |
public MetaProperty |
getMetaProperty(String name)
| |
public MetaClassRegistry |
getRegistry() Returns the registry for this metaclass | |
public MetaMethod |
getStaticMetaMethod(String name, Object[] argTypes)
| |
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)
| |
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)
| |
public List |
respondsTo(Object obj, String name)
| |
public boolean |
skipClass(Class<?> clazz) |
Inherited Methods Summary
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