com.fasterxml.classmate
Class ResolvedTypeWithMembers

java.lang.Object
  extended by com.fasterxml.classmate.ResolvedTypeWithMembers

public class ResolvedTypeWithMembers
extends Object

Class that contains information about fully resolved members of a type; resolution meaning that masking is handled for methods, and all inheritable annotations are flattened using optional overrides as well ("mix-in annotations"). Instances are created by MemberResolver.

Note that instances are not thread-safe, as the expectation is that instances will not be shared (unlike raw members or resolved types)


Field Summary
protected  com.fasterxml.classmate.ResolvedTypeWithMembers.AnnotationHandler _annotationHandler
          Handler for resolving annotation information
protected  Filter<RawConstructor> _constructorFilter
          Filter to use for selecting constructors to include
protected  ResolvedConstructor[] _constructors
           
protected  Filter<RawField> _fieldFilter
          Filter to use for selecting fields to include
protected  HierarchicType _mainType
          Leaf of the type hierarchy, i.e.
protected  ResolvedField[] _memberFields
           
protected  ResolvedMethod[] _memberMethods
           
protected  Filter<RawMethod> _methodFilter
          Filter to use for selecting methods to include
protected  ResolvedMethod[] _staticMethods
           
protected  TypeResolver _typeResolver
          Need to be able to resolve member types still
protected  HierarchicType[] _types
          All types that hierarchy contains, in order of increasing precedence (that is, later entries override members of earlier members)
protected static AnnotationConfiguration DEFAULT_ANNOTATION_CONFIG
          Default annotation configuration is to ignore all annotations types.
 
Constructor Summary
ResolvedTypeWithMembers(TypeResolver typeResolver, AnnotationConfiguration annotationConfig, HierarchicType mainType, HierarchicType[] types, Filter<RawConstructor> constructorFilter, Filter<RawField> fieldFilter, Filter<RawMethod> methodFilter)
           
 
Method Summary
 List<HierarchicType> allTypesAndOverrides()
          Accessor for getting full type hierarchy as priority-ordered list, from the lowest precedence to highest precedence (main type, its mix-in overrides)
 ResolvedConstructor[] getConstructors()
           
 ResolvedField[] getMemberFields()
           
 ResolvedMethod[] getMemberMethods()
           
 ResolvedMethod[] getStaticMethods()
          Method for finding all static methods of the main type (except for ones possibly filtered out by filter) and applying annotation overrides, if any, to annotations.
 List<HierarchicType> mainTypeAndOverrides()
          Accessor for getting subset of type hierarchy which only contains main type and possible overrides (mix-ins) it has, but not supertypes or their overrides.
 List<HierarchicType> overridesOnly()
          Accessor for finding just overrides for the main type (if any).
protected  ResolvedConstructor resolveConstructor(RawConstructor raw)
          Method for resolving individual constructor completely
protected  ResolvedConstructor[] resolveConstructors()
          Method that will actually resolve full information (types, annotations) for constructors of the main type.
protected  ResolvedField resolveField(RawField raw)
          Method for resolving individual field completely
protected  ResolvedField[] resolveMemberFields()
          Method for fully resolving field definitions and associated annotations.
protected  ResolvedMethod[] resolveMemberMethods()
           
protected  ResolvedMethod resolveMethod(RawMethod raw)
          Method for resolving individual method completely
protected  ResolvedMethod[] resolveStaticMethods()
          Method that will actually resolve full information (types, annotations) for static methods, using configured filter.
 int size()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ANNOTATION_CONFIG

protected static final AnnotationConfiguration DEFAULT_ANNOTATION_CONFIG
Default annotation configuration is to ignore all annotations types.


_typeResolver

protected final TypeResolver _typeResolver
Need to be able to resolve member types still


_annotationHandler

protected final com.fasterxml.classmate.ResolvedTypeWithMembers.AnnotationHandler _annotationHandler
Handler for resolving annotation information


_mainType

protected final HierarchicType _mainType
Leaf of the type hierarchy, i.e. type from which this hierarchy was generated.


_types

protected final HierarchicType[] _types
All types that hierarchy contains, in order of increasing precedence (that is, later entries override members of earlier members)


_fieldFilter

protected Filter<RawField> _fieldFilter
Filter to use for selecting fields to include


_constructorFilter

protected Filter<RawConstructor> _constructorFilter
Filter to use for selecting constructors to include


_methodFilter

protected Filter<RawMethod> _methodFilter
Filter to use for selecting methods to include


_staticMethods

protected ResolvedMethod[] _staticMethods

_memberMethods

protected ResolvedMethod[] _memberMethods

_memberFields

protected ResolvedField[] _memberFields

_constructors

protected ResolvedConstructor[] _constructors
Constructor Detail

ResolvedTypeWithMembers

public ResolvedTypeWithMembers(TypeResolver typeResolver,
                               AnnotationConfiguration annotationConfig,
                               HierarchicType mainType,
                               HierarchicType[] types,
                               Filter<RawConstructor> constructorFilter,
                               Filter<RawField> fieldFilter,
                               Filter<RawMethod> methodFilter)
Method Detail

size

public int size()

allTypesAndOverrides

public List<HierarchicType> allTypesAndOverrides()
Accessor for getting full type hierarchy as priority-ordered list, from the lowest precedence to highest precedence (main type, its mix-in overrides)


mainTypeAndOverrides

public List<HierarchicType> mainTypeAndOverrides()
Accessor for getting subset of type hierarchy which only contains main type and possible overrides (mix-ins) it has, but not supertypes or their overrides.


overridesOnly

public List<HierarchicType> overridesOnly()
Accessor for finding just overrides for the main type (if any).


getStaticMethods

public ResolvedMethod[] getStaticMethods()
Method for finding all static methods of the main type (except for ones possibly filtered out by filter) and applying annotation overrides, if any, to annotations.


getMemberFields

public ResolvedField[] getMemberFields()

getMemberMethods

public ResolvedMethod[] getMemberMethods()

getConstructors

public ResolvedConstructor[] getConstructors()

resolveConstructors

protected ResolvedConstructor[] resolveConstructors()
Method that will actually resolve full information (types, annotations) for constructors of the main type.


resolveMemberFields

protected ResolvedField[] resolveMemberFields()
Method for fully resolving field definitions and associated annotations. Neither field definitions nor associated annotations inherit, but we may still need to add annotation overrides, as well as filter out filters and annotations that caller is not interested in.


resolveStaticMethods

protected ResolvedMethod[] resolveStaticMethods()
Method that will actually resolve full information (types, annotations) for static methods, using configured filter.


resolveMemberMethods

protected ResolvedMethod[] resolveMemberMethods()

resolveConstructor

protected ResolvedConstructor resolveConstructor(RawConstructor raw)
Method for resolving individual constructor completely


resolveField

protected ResolvedField resolveField(RawField raw)
Method for resolving individual field completely


resolveMethod

protected ResolvedMethod resolveMethod(RawMethod raw)
Method for resolving individual method completely



Copyright © 2011 fasterxml.com. All Rights Reserved.