Class ExecutableDefinition<E extends java.lang.reflect.Executable>

  • Type Parameters:
    E - the subtype of Executable, typically either Method or Constructor
    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 Reflection Executable, 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 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' version
        declaredClassName - The declared class name of the method
        name - the Executable name
        parameterClassNames - 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' version
        deprecation - the deprecation
        declaredClassName - The declared class name of the method
        name - the Executable name
        parameterClassNames - 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' version
        declaredClassName - The declared class name of the method
        name - the Executable name
        parameterClassNames - 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' version
        deprecation - the deprecation
        declaredClassName - The declared class name of the method
        name - the Executable name
        parameterClassNames - 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 class MemberDefinition<E extends java.lang.reflect.Executable>
      • resolveParameterTypes

        protected java.lang.Class<?>[] resolveParameterTypes​(java.lang.String[] parameterClassNames)