Class FieldScope


  • public class FieldScope
    extends MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
    Representation of a single introspected field.
    • Constructor Detail

      • FieldScope

        protected FieldScope​(com.fasterxml.classmate.members.ResolvedField field,
                             com.fasterxml.classmate.ResolvedTypeWithMembers declaringTypeMembers,
                             TypeContext context)
        Constructor.
        Parameters:
        field - targeted field
        declaringTypeMembers - collection of the declaring type's (other) fields and methods
        context - the overall type resolution context
      • FieldScope

        protected FieldScope​(com.fasterxml.classmate.members.ResolvedField field,
                             com.fasterxml.classmate.ResolvedType overriddenType,
                             String overriddenName,
                             com.fasterxml.classmate.ResolvedTypeWithMembers declaringTypeMembers,
                             boolean fakeContainerItemScope,
                             TypeContext context)
        Constructor.
        Parameters:
        field - targeted field
        overriddenType - alternative type for this field
        overriddenName - alternative name for this field
        declaringTypeMembers - collection of the declaring type's (other) fields and methods
        fakeContainerItemScope - whether this field/method scope represents only the container item type of the actual field/method
        context - the overall type resolution context
    • Method Detail

      • withOverriddenType

        public FieldScope withOverriddenType​(com.fasterxml.classmate.ResolvedType overriddenType)
        Description copied from class: MemberScope
        Create another instance for this field or method and context, but overriding the declared field/method return type with the given one.
        Specified by:
        withOverriddenType in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Parameters:
        overriddenType - alternative type for this field or method return value (overriding the declared type)
        Returns:
        new instance with the given type override
        See Also:
        MemberScope.getDeclaredType(), MemberScope.getOverriddenType()
      • doGetSchemaPropertyName

        protected String doGetSchemaPropertyName()
        Returns the name to be used to reference this field in its parent's "properties".
        Specified by:
        doGetSchemaPropertyName in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Returns:
        the (potentially overridden) name of this field
        See Also:
        MemberScope.getName()
      • isTransient

        public boolean isTransient()
        Indicates whether the field has the transient keyword.
        Returns:
        whether field is transient
      • findGetter

        public MethodScope findGetter()
        Return the conventional getter method (if one exists). E.g. for a field named "foo", look-up either "getFoo()" or "isFoo()".
        Returns:
        public getter from within the field's declaring class
      • hasGetter

        public boolean hasGetter()
        Determine whether the field's declaring class contains a matching method starting with "get" or "is".
        Returns:
        whether a matching getter exists in the field's declaring class
        See Also:
        findGetter()
      • getContainerItemAnnotation

        public <A extends Annotation> A getContainerItemAnnotation​(Class<A> annotationClass)
        Description copied from class: MemberScope
        Return the annotation of the given type on the member's container item (i.e. first type parameter if there is one), if such an annotation is present on either the field or its getter.
        Specified by:
        getContainerItemAnnotation in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Type Parameters:
        A - type of annotation
        Parameters:
        annotationClass - type of annotation
        Returns:
        annotation instance (or null if no annotation of the given type is present)
      • getAnnotationConsideringFieldAndGetter

        public <A extends Annotation> A getAnnotationConsideringFieldAndGetter​(Class<A> annotationClass)
        Description copied from class: MemberScope
        Return the annotation of the given type on the member, if such an annotation is present on either the field or its getter.
        Specified by:
        getAnnotationConsideringFieldAndGetter in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Type Parameters:
        A - type of annotation
        Parameters:
        annotationClass - type of annotation
        Returns:
        annotation instance (or null if no annotation of the given type is present)
      • getContainerItemAnnotationConsideringFieldAndGetter

        public <A extends Annotation> A getContainerItemAnnotationConsideringFieldAndGetter​(Class<A> annotationClass)
        Description copied from class: MemberScope
        Return the annotation of the given type on the member's container item (i.e. single type parameter if there is one), if such an annotation is present on either the field or its getter.
        Specified by:
        getContainerItemAnnotationConsideringFieldAndGetter in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Type Parameters:
        A - type of annotation
        Parameters:
        annotationClass - type of annotation
        Returns:
        annotation instance (or null if no annotation of the given type is present)