Class MemberResolver

java.lang.Object
com.fasterxml.classmate.MemberResolver
All Implemented Interfaces:
Serializable

public class MemberResolver extends Object implements Serializable
Builder class used to completely resolve members (fields, methods, constructors) of ResolvedTypes (generics-aware classes).
See Also:
  • Field Details

    • _typeResolver

      protected final TypeResolver _typeResolver
      Type resolved needed for resolving types of member objects (method argument and return; field types; constructor argument types)
    • _cfgIncludeLangObject

      protected boolean _cfgIncludeLangObject
      Configuration setting that determines whether members from Object are included or not; by default false meaning that they are not.
    • _fieldFilter

      protected Filter<RawField> _fieldFilter
      Filter used for determining whether given field (static or member) is to be included in aggregation of all fields.
    • _methodFilter

      protected Filter<RawMethod> _methodFilter
      Filter used for determining whether given method (static or member) is to be included in aggregation of all methods.
    • _constructorFilter

      protected Filter<RawConstructor> _constructorFilter
      Filter used for determining whether given constructor is to be included in aggregation of all constructors.
  • Constructor Details

    • MemberResolver

      public MemberResolver(TypeResolver typeResolver)
      Constructor for resolver that does not include java.lang.Object in type hierarchy
  • Method Details

    • setIncludeLangObject

      public MemberResolver setIncludeLangObject(boolean state)
      Configuration method for specifying whether members of java.lang.Object are to be included in resolution; if false, no members from Object are to be included; if true, will be included.
    • setFieldFilter

      public MemberResolver setFieldFilter(Filter<RawField> f)
    • setMethodFilter

      public MemberResolver setMethodFilter(Filter<RawMethod> f)
    • setConstructorFilter

      public MemberResolver setConstructorFilter(Filter<RawConstructor> f)
    • resolve

      public ResolvedTypeWithMembers resolve(ResolvedType mainType, AnnotationConfiguration annotationConfig, AnnotationOverrides annotationOverrides)
      Method for constructing hierarchy object needed to fully resolve member information, including basic type flattening as well as addition of mix-in types in appropriate positions.
      Parameters:
      mainType - Resolved type that is the starting point (i.e. the leaf class) for member resolution.
      annotationConfig - Configuration of annotation types; which ones to include, how to inherit
      annotationOverrides - Definitions of annotation overrides to use, if any (may be null)
    • _addOverrides

      private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey> seenTypes, Class<?> override)
    • _addOverrides

      private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey> seenTypes, ResolvedType override)
    • _gatherTypes

      protected void _gatherTypes(ResolvedType currentType, Set<ClassKey> seenTypes, List<ResolvedType> types)