Package io.microsphere.reflect
Class MemberDefinition<M extends java.lang.reflect.Member>
- java.lang.Object
-
- io.microsphere.reflect.ReflectiveDefinition
-
- io.microsphere.reflect.MemberDefinition<M>
-
- Type Parameters:
M- the type of the member, which must be a subclass ofMember
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
ExecutableDefinition,FieldDefinition
@Immutable public abstract class MemberDefinition<M extends java.lang.reflect.Member> extends ReflectiveDefinition
The definition class for Java ReflectionMember.This abstract class provides a base implementation to define and resolve members (such as fields, methods, or constructors) from a class. It extends the capabilities of the
ReflectiveDefinitionclass by adding support for member names and lazy resolution of the actual reflection object.Example Usage
{@code public class FieldDefinition extends MemberDefinition{ public FieldDefinition(Version since, String declaredClassName, String name) { super(since, null, declaredClassName, name); } - Since:
- 1.0.0
- Author:
- Mercy
- See Also:
Member,ConstructorDefinition,FieldDefinition,MethodDefinition, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringname-
Fields inherited from class io.microsphere.reflect.ReflectiveDefinition
className, deprecation, since
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedMemberDefinition(Version since, Deprecation deprecation, java.lang.String declaredClassName, java.lang.String name)protectedMemberDefinition(Version since, java.lang.String declaredClassName, java.lang.String name)protectedMemberDefinition(java.lang.String since, Deprecation deprecation, java.lang.String declaredClassName, java.lang.String name)protectedMemberDefinition(java.lang.String since, java.lang.String declaredClassName, java.lang.String name)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)java.lang.Class<?>getDeclaredClass()Get the declared classjava.lang.StringgetDeclaredClassName()Get the declared class nameMgetMember()Get the member instancejava.lang.StringgetName()Get the member nameinthashCode()booleanisPresent()Whether the member is presentprotected abstract MresolveMember()Resolve thememberinstance-
Methods inherited from class io.microsphere.reflect.ReflectiveDefinition
getClassName, getDeprecation, getResolvedClass, getSince, isDeprecated, toString
-
-
-
-
Field Detail
-
name
@Nonnull protected final java.lang.String name
-
-
Constructor Detail
-
MemberDefinition
protected MemberDefinition(@Nonnull java.lang.String since, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name)
- Parameters:
since- the 'since' versiondeclaredClassName- the name of declared classname- the member name
-
MemberDefinition
protected MemberDefinition(@Nonnull java.lang.String since, @Nullable Deprecation deprecation, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name)
- Parameters:
since- the 'since' versiondeprecation- the deprecationdeclaredClassName- the name of declared classname- the member name
-
MemberDefinition
protected MemberDefinition(@Nonnull Version since, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name)
- Parameters:
since- the 'since' versiondeclaredClassName- the name of declared classname- the member name
-
MemberDefinition
protected MemberDefinition(@Nonnull Version since, @Nullable Deprecation deprecation, @Nonnull java.lang.String declaredClassName, @Nonnull java.lang.String name)
- Parameters:
since- the 'since' versiondeprecation- the deprecationdeclaredClassName- the name of declared classname- the member name
-
-
Method Detail
-
resolveMember
protected abstract M resolveMember()
Resolve thememberinstance- Returns:
nullif can't be resolved
-
getName
@Nonnull public final java.lang.String getName()
Get the member name- Returns:
- non-null
-
getDeclaredClassName
@Nonnull public final java.lang.String getDeclaredClassName()
Get the declared class name- Returns:
- non-null
-
getDeclaredClass
@Nullable public final java.lang.Class<?> getDeclaredClass()
Get the declared class- Returns:
- nullable
-
getMember
@Nullable public final M getMember()
Get the member instance- Returns:
nullif can't be resolved
-
isPresent
public boolean isPresent()
Description copied from class:ReflectiveDefinitionWhether the member is present- Specified by:
isPresentin classReflectiveDefinition- Returns:
trueif present
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classReflectiveDefinition
-
hashCode
public int hashCode()
- Overrides:
hashCodein classReflectiveDefinition
-
-