Package io.microsphere.reflect
Class ExecutableDefinition<E extends java.lang.reflect.Executable>
- java.lang.Object
-
- io.microsphere.reflect.ReflectiveDefinition
-
- io.microsphere.reflect.MemberDefinition<E>
-
- io.microsphere.reflect.ExecutableDefinition<E>
-
- Type Parameters:
E
- the subtype ofExecutable
, typically eitherMethod
orConstructor
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
ConstructorDefinition
,MethodDefinition
@Immutable public abstract class ExecutableDefinition<E extends java.lang.reflect.Executable> extends MemberDefinition<E>
The definition class for Java ReflectionExecutable
, which serves as a base class for executable members like methods and constructors. It provides common functionality to store and resolve parameter types based on their class names.Example Usage
{@code public class MethodDefinition extends ExecutableDefinition<Method> { public MethodDefinition(Version since, String declaredClassName, String name, String... parameterClassNames) { super(since, null, declaredClassName, name, parameterClassNames); }
- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
ConstructorDefinition
,MethodDefinition
,Executable
,Method
,Constructor
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String[]
parameterClassNames
-
Fields inherited from class io.microsphere.reflect.MemberDefinition
name
-
Fields inherited from class io.microsphere.reflect.ReflectiveDefinition
className, deprecation, since
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ExecutableDefinition(Version since, Deprecation deprecation, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)
protected
ExecutableDefinition(Version since, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)
protected
ExecutableDefinition(java.lang.String since, Deprecation deprecation, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)
protected
ExecutableDefinition(java.lang.String since, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.lang.String[]
getParameterClassNames()
Get the parameter class namesjava.lang.Class<?>[]
getParameterTypes()
the class names of parametersint
hashCode()
protected java.lang.Class<?>[]
resolveParameterTypes(java.lang.String[] parameterClassNames)
-
Methods inherited from class io.microsphere.reflect.MemberDefinition
getDeclaredClass, getDeclaredClassName, getMember, getName, isPresent, resolveMember
-
Methods inherited from class io.microsphere.reflect.ReflectiveDefinition
getClassName, getDeprecation, getResolvedClass, getSince, isDeprecated, toString
-
-
-
-
Field Detail
-
parameterClassNames
@Nonnull protected final java.lang.String[] parameterClassNames
-
-
Constructor Detail
-
ExecutableDefinition
protected ExecutableDefinition(@Nonnull java.lang.String since, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name, @Nonnull java.lang.String... parameterClassNames)
- Parameters:
since
- the 'since' versiondeclaredClassName
- The declared class name of the methodname
- theExecutable
nameparameterClassNames
- the class names of parameters
-
ExecutableDefinition
protected ExecutableDefinition(@Nonnull java.lang.String since, @Nonnull Deprecation deprecation, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name, @Nonnull java.lang.String... parameterClassNames)
- Parameters:
since
- the 'since' versiondeprecation
- the deprecationdeclaredClassName
- The declared class name of the methodname
- theExecutable
nameparameterClassNames
- the parameter class names
-
ExecutableDefinition
protected ExecutableDefinition(@Nonnull Version since, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name, @Nonnull java.lang.String... parameterClassNames)
- Parameters:
since
- the 'since' versiondeclaredClassName
- The declared class name of the methodname
- theExecutable
nameparameterClassNames
- the class names of parameters
-
ExecutableDefinition
protected ExecutableDefinition(@Nonnull Version since, @Nonnull Deprecation deprecation, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name, @Nonnull java.lang.String... parameterClassNames)
- Parameters:
since
- the 'since' versiondeprecation
- the deprecationdeclaredClassName
- The declared class name of the methodname
- theExecutable
nameparameterClassNames
- the parameter class names
-
-
Method Detail
-
getParameterClassNames
@Nonnull public final java.lang.String[] getParameterClassNames()
Get the parameter class names- Returns:
- non-null
-
getParameterTypes
@Nonnull public final java.lang.Class<?>[] getParameterTypes()
the class names of parameters- Returns:
- the element of array may contain
null
if it can't be resolved
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classMemberDefinition<E extends java.lang.reflect.Executable>
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classMemberDefinition<E extends java.lang.reflect.Executable>
-
resolveParameterTypes
protected java.lang.Class<?>[] resolveParameterTypes(java.lang.String[] parameterClassNames)
-
-