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,
                             MemberScope.DeclarationDetails declarationDetails,
                             com.github.victools.jsonschema.generator.MemberScope.OverrideDetails overrideDetails,
                             TypeContext context)
        Constructor.
        Parameters:
        field - targeted field
        declarationDetails - basic details regarding the declaration context
        overrideDetails - augmenting details (e.g., overridden type, name, or container item index)
        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,
                                                                   Predicate<Annotation> considerOtherAnnotation)
        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.
        Additionally, also consider annotations on annotations, if the given predicate indicates another annotation as eligible for holding the target.
        Specified by:
        getContainerItemAnnotation in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Type Parameters:
        A - type of annotation
        Parameters:
        annotationClass - type of annotation
        considerOtherAnnotation - check whether some other annotation should also be checked for holding an instance of the target 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,
                                                                               Predicate<Annotation> considerOtherAnnotation)
        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.
        Additionally, also consider annotations on annotations, if the given predicate indicates another annotation as eligible for holding the target.
        Specified by:
        getAnnotationConsideringFieldAndGetter in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Type Parameters:
        A - type of annotation
        Parameters:
        annotationClass - type of annotation
        considerOtherAnnotation - check whether some other annotation should also be checked for holding an instance of the target 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,
                                                                                            Predicate<Annotation> considerOtherAnnotation)
        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.
        Additionally, also consider annotations on annotations, if the given predicate indicates another annotation as eligible for holding the target.
        Specified by:
        getContainerItemAnnotationConsideringFieldAndGetter in class MemberScope<com.fasterxml.classmate.members.ResolvedField,​Field>
        Type Parameters:
        A - type of annotation
        Parameters:
        annotationClass - type of annotation
        considerOtherAnnotation - check whether some other annotation should also be checked for holding an instance of the target annotation
        Returns:
        annotation instance (or null if no annotation of the given type is present)