Class MemberResolver

  • All Implemented Interfaces:
    java.io.Serializable

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

      • _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 Detail

      • MemberResolver

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

      • 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.
      • 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​(java.util.List<HierarchicType> typesWithOverrides,
                                   java.util.Set<ClassKey> seenTypes,
                                   java.lang.Class<?> override)