Class Property

  • All Implemented Interfaces:
    Comparable<Property>
    Direct Known Subclasses:
    GenericProperty, MissingProperty, PropertySubstitute

    public abstract class Property
    extends Object
    implements Comparable<Property>

    A Property represents a single member variable of a class, possibly including its accessor methods (getX, setX). The name stored in this class is the actual name of the property as given for the class, not an alias.

    Objects of this class have a total ordering which defaults to ordering based on the name of the property.

    • Constructor Detail

      • Property

        public Property​(String name,
                        Class<?> type)
    • Method Detail

      • getType

        public Class<?> getType()
      • getActualTypeArguments

        public abstract Class<?>[] getActualTypeArguments()
      • getName

        public String getName()
      • isWritable

        public boolean isWritable()
      • isReadable

        public boolean isReadable()
      • getAnnotations

        public abstract List<Annotation> getAnnotations()
        Returns the annotations that are present on this property or empty List if there're no annotations.
        Returns:
        the annotations that are present on this property or empty List if there're no annotations
      • getAnnotation

        public abstract <A extends Annotation> A getAnnotation​(Class<A> annotationType)
        Returns property's annotation for the given type or null if it's not present.
        Type Parameters:
        A - class of the annotation
        Parameters:
        annotationType - the type of the annotation to be returned
        Returns:
        property's annotation for the given type or null if it's not present
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object