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,
                              com.fasterxml.classmate.ResolvedTypeWithMembers declaringTypeMembers,
                              TypeContext context)
        Constructor.
        Parameters:
        method - targeted method
        declaringTypeMembers - collection of the declaring type's fields and (other) methods
        context - the overall type resolution context
      • MethodScope

        protected MethodScope​(com.fasterxml.classmate.members.ResolvedMethod method,
                              com.fasterxml.classmate.ResolvedType overriddenType,
                              String overriddenName,
                              com.fasterxml.classmate.ResolvedTypeWithMembers declaringTypeMembers,
                              TypeContext context)
        Constructor.
        Parameters:
        method - targeted method
        overriddenType - alternative type for this method's return value
        overriddenName - alternative name for this method
        declaringTypeMembers - collection of the declaring type's fields and (other) methods
        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()
      • 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.ResolvedMethod,​Method>
        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)