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 eitherMethodorConstructor
- 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{ 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 protectedExecutableDefinition(Version since, Deprecation deprecation, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)protectedExecutableDefinition(Version since, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)protectedExecutableDefinition(java.lang.String since, Deprecation deprecation, java.lang.String declaredClassName, java.lang.String name, java.lang.String... parameterClassNames)protectedExecutableDefinition(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 booleanequals(java.lang.Object o)java.lang.String[]getParameterClassNames()Get the parameter class namesjava.lang.Class<?>[]getParameterTypes()the class names of parametersinthashCode()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- theExecutablenameparameterClassNames- 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- theExecutablenameparameterClassNames- 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- theExecutablenameparameterClassNames- 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- theExecutablenameparameterClassNames- 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
nullif it can't be resolved
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classMemberDefinition<E extends java.lang.reflect.Executable>
-
hashCode
public int hashCode()
- Overrides:
hashCodein classMemberDefinition<E extends java.lang.reflect.Executable>
-
resolveParameterTypes
protected java.lang.Class<?>[] resolveParameterTypes(java.lang.String[] parameterClassNames)
-
-