E - The type that represents the super type of all elements in the ASTC - The type that represents a class in the ASTM - The type that represents a method in the ASTF - The type that represents a field in the ASTpublic interface ElementFactory<E,C extends E,M extends E,F extends E>
| Modifier and Type | Method and Description | 
|---|---|
| ClassElement | newClassElement(C type,
               AnnotationMetadata annotationMetadata)Builds a new class element for the given type. | 
| ClassElement | newClassElement(C type,
               AnnotationMetadata annotationMetadata,
               Map<String,ClassElement> resolvedGenerics)Builds a new class element for the given type. | 
| ConstructorElement | newConstructorElement(ClassElement declaringClass,
                     M constructor,
                     AnnotationMetadata annotationMetadata)Builds a new constructor element for the given type. | 
| EnumConstantElement | newEnumConstantElement(ClassElement declaringClass,
                      F enumConstant,
                      AnnotationMetadata annotationMetadata)Builds a new enum constant element for the given type. | 
| FieldElement | newFieldElement(ClassElement declaringClass,
               F field,
               AnnotationMetadata annotationMetadata)Builds a new field element for the given type. | 
| FieldElement | newFieldElement(F field,
               AnnotationMetadata annotationMetadata)Builds a new field element for the given field. | 
| MethodElement | newMethodElement(ClassElement declaringClass,
                M method,
                AnnotationMetadata annotationMetadata)Builds a new method element for the given type. | 
| ClassElement | newSourceClassElement(C type,
                     AnnotationMetadata annotationMetadata)Builds a new source class element for the given type. | 
| MethodElement | newSourceMethodElement(ClassElement declaringClass,
                      M method,
                      AnnotationMetadata annotationMetadata)Builds a new source method element for the given method. | 
@NonNull ClassElement newClassElement(@NonNull C type, @NonNull AnnotationMetadata annotationMetadata)
type - The typeannotationMetadata - The resolved annotation metadata@NonNull ClassElement newClassElement(@NonNull C type, @NonNull AnnotationMetadata annotationMetadata, @NonNull Map<String,ClassElement> resolvedGenerics)
type - The typeannotationMetadata - The resolved annotation metadataresolvedGenerics - The resolved generics@NonNull ClassElement newSourceClassElement(@NonNull C type, @NonNull AnnotationMetadata annotationMetadata)
newClassElement(Object, AnnotationMetadata) in that
 it should only be called from elements that are known to originate from source code.type - The typeannotationMetadata - The resolved annotation metadata@NonNull MethodElement newSourceMethodElement(ClassElement declaringClass, @NonNull M method, @NonNull AnnotationMetadata annotationMetadata)
newMethodElement(ClassElement, Object, AnnotationMetadata) in that
 it should only be called from elements that are known to originate from source code.declaringClass - The declaring classmethod - The methodannotationMetadata - The resolved annotation metadata@NonNull MethodElement newMethodElement(ClassElement declaringClass, @NonNull M method, @NonNull AnnotationMetadata annotationMetadata)
declaringClass - The declaring classmethod - The methodannotationMetadata - The resolved annotation metadata@NonNull ConstructorElement newConstructorElement(ClassElement declaringClass, @NonNull M constructor, @NonNull AnnotationMetadata annotationMetadata)
declaringClass - The declaring classconstructor - The constructorannotationMetadata - The resolved annotation metadata@NonNull EnumConstantElement newEnumConstantElement(ClassElement declaringClass, @NonNull F enumConstant, @NonNull AnnotationMetadata annotationMetadata)
declaringClass - The declaring classenumConstant - The enum constantannotationMetadata - The resolved annotation metadata@NonNull FieldElement newFieldElement(ClassElement declaringClass, @NonNull F field, @NonNull AnnotationMetadata annotationMetadata)
declaringClass - The declaring classfield - The fieldannotationMetadata - The resolved annotation metadata@NonNull FieldElement newFieldElement(@NonNull F field, @NonNull AnnotationMetadata annotationMetadata)
field - The fieldannotationMetadata - The resolved annotation metadata