Class MemberDefinition<M extends java.lang.reflect.Member>

  • Type Parameters:
    M - the type of the member, which must be a subclass of Member
    All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    ExecutableDefinition, FieldDefinition

    public abstract class MemberDefinition<M extends java.lang.reflect.Member>
    extends ReflectiveDefinition
    The definition class for Java Reflection Member.

    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 ReflectiveDefinition class 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 Detail

      • name

        @Nonnull
        protected final java.lang.String name
    • Constructor Detail

      • MemberDefinition

        public MemberDefinition​(@Nonnull
                                java.lang.String since,
                                @Nonnull
                                java.lang.String declaredClassName,
                                @Nonnull
                                java.lang.String name)
        Parameters:
        since - the 'since' version
        declaredClassName - the name of declared class
        name - the member name
      • MemberDefinition

        public MemberDefinition​(@Nonnull
                                java.lang.String since,
                                @Nullable
                                Deprecation deprecation,
                                @Nonnull
                                java.lang.String declaredClassName,
                                @Nonnull
                                java.lang.String name)
        Parameters:
        since - the 'since' version
        deprecation - the deprecation
        declaredClassName - the name of declared class
        name - the member name
      • MemberDefinition

        public MemberDefinition​(@Nonnull
                                Version since,
                                @Nonnull
                                java.lang.String declaredClassName,
                                @Nonnull
                                java.lang.String name)
        Parameters:
        since - the 'since' version
        declaredClassName - the name of declared class
        name - the member name
      • MemberDefinition

        public MemberDefinition​(@Nonnull
                                Version since,
                                @Nullable
                                Deprecation deprecation,
                                @Nonnull
                                java.lang.String declaredClassName,
                                @Nonnull
                                java.lang.String name)
        Parameters:
        since - the 'since' version
        deprecation - the deprecation
        declaredClassName - the name of declared class
        name - the member name
    • Method Detail

      • resolveMember

        protected abstract M resolveMember()
        Resolve the member instance
        Returns:
        null if 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:
        null if can't be resolved