Class JaversMember<T extends java.lang.reflect.Member>

  • Direct Known Subclasses:
    JaversField, JaversGetter

    public abstract class JaversMember<T extends java.lang.reflect.Member>
    extends java.lang.Object
    Enhanced Field or Method, deals with Java type erasure.

    A Member (getter or field) inherited from a Generic superclass with actual (return) type resolved.

    Formal type parameter of superclass is resolved to actual type argument of subclass.
    • Constructor Detail

      • JaversMember

        protected JaversMember​(T rawMember,
                               java.lang.reflect.Type resolvedReturnType)
        Parameters:
        resolvedReturnType - nullable
      • JaversMember

        protected JaversMember​(T rawMember,
                               java.lang.reflect.Type resolvedReturnType,
                               boolean looksLikeId)
    • Method Detail

      • getRawGenericType

        protected abstract java.lang.reflect.Type getRawGenericType()
      • getRawType

        public abstract java.lang.Class<?> getRawType()
      • getRawMember

        public T getRawMember()
      • getGenericResolvedType

        public java.lang.reflect.Type getGenericResolvedType()
      • getDeclaringClass

        public java.lang.Class<?> getDeclaringClass()
      • name

        public java.lang.String name()
      • propertyName

        public java.lang.String propertyName()
      • getAnnotations

        public java.util.Set<java.lang.annotation.Annotation> getAnnotations()
      • getAnnotationTypes

        public java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypes()
      • looksLikeId

        public boolean looksLikeId()
      • getEvenIfPrivate

        public abstract java.lang.Object getEvenIfPrivate​(java.lang.Object target)
      • setEvenIfPrivate

        public abstract void setEvenIfPrivate​(java.lang.Object target,
                                              java.lang.Object value)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • memberType

        public abstract java.lang.String memberType()