Class MethodScope


  • public class MethodScope
    extends MemberScope<com.fasterxml.classmate.members.ResolvedMethod,​Method>
    Representation of a single introspected method.
    • Constructor Detail

      • MethodScope

        protected MethodScope​(com.fasterxml.classmate.members.ResolvedMethod method,
                              MemberScope.DeclarationDetails declarationDetails,
                              com.github.victools.jsonschema.generator.MemberScope.OverrideDetails overrideDetails,
                              TypeContext context)
        Constructor.
        Parameters:
        method - targeted method
        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 MethodScope 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.ResolvedMethod,​Method>
        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()
      • isVoid

        public boolean isVoid()
        Indicating whether the method is declared as void, i.e. has no return value.
        Returns:
        whether method has no return value
      • getArgumentCount

        public int getArgumentCount()
        Returns the number of arguments this method has.
        Returns:
        number of arguments
      • getArgumentTypes

        public List<com.fasterxml.classmate.ResolvedType> getArgumentTypes()
        Returns the list of types of this method's arguments.
        Returns:
        argument types
      • findGetterField

        public FieldScope findGetterField()
        Look-up the field associated with this method if it is deemed to be a getter by convention.
        Returns:
        associated field
      • isGetter

        public boolean isGetter()
        Determine whether the method's name matches the getter naming convention ("getFoo()"/"isFoo()") and a respective field ("foo") exists.
        Returns:
        whether method name starts with "get"/"is" and rest matches name of field in declaring class
        See Also:
        findGetterField()
      • getAnnotation

        public <A extends Annotation> A getAnnotation​(Class<A> annotationClass,
                                                      Predicate<Annotation> considerOtherAnnotation)
        Return the annotation of the given type on the method or its return type, if such an annotation is present.
        Overrides:
        getAnnotation in class MemberScope<com.fasterxml.classmate.members.ResolvedMethod,​Method>
        Type Parameters:
        A - type of annotation to look-up
        Parameters:
        annotationClass - annotation class to look up instance on member for
        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
      • 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.ResolvedMethod,​Method>
        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.ResolvedMethod,​Method>
        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.ResolvedMethod,​Method>
        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)