Package spoon.reflect.factory
Interface Factory
- All Known Implementing Classes:
FactoryImpl
public interface Factory
Provides the sub-factories required by Spoon.
Most classes provides a method getFactory() that returns the current factory.
Otherwise FactoryImpl is a default implementation.
-
Method Summary
Modifier and TypeMethodDescriptionAccess toAnnotationFactorysubfactoryClass()Access toClassFactorysubfactoryCode()Access toCodeFactorysubfactoryAccess toCompilationUnitFactorysubfactoryAccess toConstructorFactorysubfactoryCore()Access toCoreFactorysubfactory<A extends Annotation>
CtAnnotation<A><A extends Annotation>
CtAnnotation<A>createAnnotation(CtTypeReference<A> annotationType) <T> CtAnnotationFieldAccess<T><T> CtAnnotationMethod<T><T extends Annotation>
CtAnnotationType<T>createAnnotationType(String qualifiedName) createAnnotationType(CtPackage owner, String simpleName) createAnonymous(CtClass<?> target, CtBlock<Void> body) <T> CtArrayRead<T><T> CtArrayTypeReference<T>createArrayReference(String qualifiedName) <T> CtArrayTypeReference<T[]>createArrayReference(CtType<T> type) createArrayReference(CtTypeReference<?> reference, int n) <T> CtArrayTypeReference<T[]>createArrayReference(CtTypeReference<T> reference) <T> CtArrayTypeReference<T><T> CtArrayWrite<T><T> CtAssert<T><T,A extends T>
CtAssignment<T,A> <T> CtBinaryOperator<T><T> CtBinaryOperator<T>createBinaryOperator(CtExpression<?> left, CtExpression<?> right, BinaryOperatorKind kind) <R> CtBlock<R>createBodyHolderSourcePosition(CompilationUnit compilationUnit, int startSource, int end, int modifierStart, int modifierEnd, int declarationStart, int declarationEnd, int bodyStart, int bodyEnd, int[] lineSeparatorPositions) <S> CtCase<S><T> CtCatchVariable<T><T> CtCatchVariable<T>createCatchVariable(CtTypeReference<T> type, String name, ModifierKind... modifierKinds) <T> CtCatchVariableReference<T><T> CtCatchVariableReference<T>createCatchVariableReference(CtCatchVariable<T> catchVariable) <T> CtClass<T>createClass(String qualifiedName) createClass(CtClass<?> declaringClass, String simpleName) createClass(CtPackage owner, String simpleName) <T> CtFieldAccess<Class<T>>createClassAccess(CtTypeReference<T> type) <T> CtCodeSnippetExpression<T><T> CtCodeSnippetExpression<T>createCodeSnippetExpression(String expression) createCodeSnippetStatement(String statement) createComment(String content, CtComment.CommentType type) <T> CtConditional<T><T> CtConstructor<T>createConstructor(CtClass target, Set<ModifierKind> modifiers, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes) createConstructor(CtClass target, Set<ModifierKind> modifiers, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes, CtBlock body) createConstructor(CtClass target, CtConstructor<?> source) createConstructor(CtClass target, CtMethod<?> source) <T> CtConstructorCall<T><T> CtConstructorCall<T>createConstructorCall(CtTypeReference<T> type, CtExpression<?>... parameters) <T extends CtStatement>
CtBlock<?>createCtBlock(T element) createCtCatch(String nameCatch, Class<? extends Throwable> exception, CtBlock<?> ctBlock) <T> CtField<T>createCtField(String name, CtTypeReference<T> type, String exp, ModifierKind... visibilities) createCtPackageReference(Package originalPackage) <T> CtReturn<T>createCtReturn(CtExpression<T> expression) createCtThrow(String thrownExp) <T> CtTypeReference<T>createCtTypeReference(Class<?> originalClass) createDeclarationSourcePosition(CompilationUnit compilationUnit, int startSource, int end, int modifierStart, int modifierEnd, int declarationStart, int declarationEnd, int[] lineSeparatorPositions) <T> CtConstructor<T>createDefault(CtClass<T> target) createDo()createElement(Class<? extends CtElement> klass) CtEnum<?>createEnum(String qualifiedName) CtEnum<?>createEnum(CtPackage owner, String simpleName) <T> CtEnumValue<T><T> CtExecutableReference<T><T,E extends CtExpression<?>>
CtExecutableReferenceExpression<T,E> <T> CtField<T>createField(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference type, String name) createField(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference type, String name, CtExpression defaultExpression) createField(CtType<?> target, CtField source) <T> CtFieldRead<T><T> CtFieldReference<T><T> CtFieldWrite<T>createIf()createImport(CtReference reference) createInlineComment(String content) <T> CtInterface<T>createInterface(String qualifiedName) createInterface(CtPackage owner, String simpleName) createInterface(CtType owner, String simpleName) <T> CtIntersectionTypeReference<T><T> CtIntersectionTypeReference<T><T> CtConstructor<T><T> CtInvocation<T><T> CtInvocation<T>createInvocation(CtExpression<?> target, CtExecutableReference<T> executable, List<CtExpression<?>> arguments) <T> CtInvocation<T>createInvocation(CtExpression<?> target, CtExecutableReference<T> executable, CtExpression<?>... arguments) createJavaDocTag(String content, CtJavaDocTag.TagType type) createJavaDocTag(String content, CtJavaDocTag.TagType type, String realName) <T> CtLambda<T><T> CtLiteral<T><T> CtLiteral<T>createLiteral(T value) <T> CtNewArray<T[]>createLiteralArray(T[] value) <T> CtLocalVariable<T><T> CtLocalVariable<T>createLocalVariable(CtTypeReference<T> type, String name, CtExpression<T> defaultExpression) <T> CtLocalVariableReference<T><T> CtLocalVariableReference<T>createLocalVariableReference(CtLocalVariable<T> localVariable) <T> CtLocalVariableReference<T>createLocalVariableReference(CtTypeReference<T> type, String name) <T> CtMethod<T>createMethod(CtClass<?> target, Set<ModifierKind> modifiers, CtTypeReference returnType, String name, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes, CtBlock body) createMethod(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference returnType, String name, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes) createMethod(CtType<?> target, CtMethod source, boolean redirectReferences) createModule(String moduleName) createModuleReference(CtModule ctModule) createModuleRequirement(CtModuleReference ctModuleReference) <T> CtNewArray<T><T> CtNewClass<T>CtNewClass<?>createNewClass(CtType<?> superClass, CtExpression<?>... parameters) Creates an anonymous class<T,A extends T>
CtOperatorAssignment<T,A> createPackage(CtPackage parent, String simpleName) createPackageDeclaration(CtPackageReference packageRef) createPackageExport(CtPackageReference ctPackageReference) <T> CtParameter<T><T> CtParameter<T>createParameter(CtExecutable<?> parent, CtTypeReference<T> type, String name) <T> CtParameterReference<T><T> CtParameterReference<T>createParameterReference(CtParameter<T> parameter) createPartialSourcePosition(CompilationUnit compilationUnit) createProvidedService(CtTypeReference ctTypeReference) createQuery(Iterable<?> input) createQuery(Object input) createQuery(Object... input) <T> CtTypeReference<T>createReference(String qualifiedName) List<CtTypeReference<?>>createReferences(List<Class<?>> classes) <R> CtReturn<R><T> CtTypeReference<T>createSimplyQualifiedReference(String qualifiedName) createSourcePosition(CompilationUnit compilationUnit, int startSource, int end, int[] lineSeparatorPositions) <R> CtStatementList<R> CtStatementListcreateStatementList(CtBlock<R> block) <T> CtSuperAccess<T><S> CtSwitch<S><T,S> CtSwitchExpression<T, S> createTextBlock(String value) <T> CtThisAccess<T><T> CtThisAccess<T>createThisAccess(CtTypeReference<T> type) <T> CtThisAccess<T>createThisAccess(CtTypeReference<T> type, boolean isImplicit) <T> CtTypeAccess<T><T> CtTypeAccess<T>createTypeAccess(CtTypeReference<T> accessedType) <T> CtTypeAccess<T>createTypeAccess(CtTypeReference<T> accessedType, boolean isImplicit) <T> CtTypeAccess<T>createTypeAccessWithoutCloningReference(CtTypeReference<T> accessedType) createTypeAdapter(CtFormalTypeDeclarer formalTypeDeclarer) createTypeMemberWildcardImportReference(CtTypeReference<?> typeReference) <T> CtTypeReference<T><T> CtUnaryOperator<T><T> CtUnboundVariableReference<T>createUnresolvedImport(String reference, boolean isStatic) createUsedService(CtTypeReference typeReference) <A,T extends A>
CtAssignment<A,T> createVariableAssignment(CtVariableReference<A> variable, boolean isStatic, CtExpression<T> expression) <T> CtStatementListcreateVariableAssignments(List<? extends CtVariable<T>> variables, List<? extends CtExpression<T>> expressions) <T> CtVariableRead<T><T> CtVariableAccess<T>createVariableRead(CtVariableReference<T> variable, boolean isStatic) List<CtExpression<?>>createVariableReads(List<? extends CtVariable<?>> variables) <T> CtVariableWrite<T><T> CtVariableAccess<T>createVariableWrite(CtVariableReference<T> variable, boolean isStatic) createYieldStatement(boolean isImplicit) Enum()Access toEnumFactorysubfactoryEval()Access toEvalFactorysubfactoryAccess toExecutableFactorysubfactoryField()Access toFieldFactorysubfactoryAccess to theEnvironmentgetModel()returns the Spoon model that has been built with this factory or one of its subfactoriesAccess toInterfaceFactorysubfactoryMethod()Access toMethodFactorysubfactoryModule()Access toModuleFactorysubfactory for Java 9 modulesPackage()Access toPackageFactorysubfactoryQuery()Access toQueryFactorysubfactoryAccess to templatesType()Access toTypeFactorysubfactory
-
Method Details
-
getModel
CtModel getModel()returns the Spoon model that has been built with this factory or one of its subfactories -
Core
CoreFactory Core()Access toCoreFactorysubfactory -
Type
TypeFactory Type()Access toTypeFactorysubfactory -
Enum
EnumFactory Enum()Access toEnumFactorysubfactory -
getEnvironment
Environment getEnvironment()Access to theEnvironment -
Package
PackageFactory Package()Access toPackageFactorysubfactory -
Code
CodeFactory Code()Access toCodeFactorysubfactory -
Class
ClassFactory Class()Access toClassFactorysubfactory -
Field
FieldFactory Field()Access toFieldFactorysubfactory -
Executable
ExecutableFactory Executable()Access toExecutableFactorysubfactory -
CompilationUnit
CompilationUnitFactory CompilationUnit()Access toCompilationUnitFactorysubfactory -
Interface
InterfaceFactory Interface()Access toInterfaceFactorysubfactory -
Method
MethodFactory Method()Access toMethodFactorysubfactory -
Annotation
AnnotationFactory Annotation()Access toAnnotationFactorysubfactory -
Eval
EvalFactory Eval()Access toEvalFactorysubfactory -
Constructor
ConstructorFactory Constructor()Access toConstructorFactorysubfactory -
Query
QueryFactory Query()Access toQueryFactorysubfactory -
Module
ModuleFactory Module()Access toModuleFactorysubfactory for Java 9 modules -
Templates
Factory Templates()Access to templates -
createAnnotation
-
createVariableAssignment
<A,T extends A> CtAssignment<A,T> createVariableAssignment(CtVariableReference<A> variable, boolean isStatic, CtExpression<T> expression) -
createStatementList
- See Also:
-
createCtBlock
- See Also:
-
createBinaryOperator
<T> CtBinaryOperator<T> createBinaryOperator(CtExpression<?> left, CtExpression<?> right, BinaryOperatorKind kind) -
createCatchVariable
<T> CtCatchVariable<T> createCatchVariable(CtTypeReference<T> type, String name, ModifierKind... modifierKinds) -
createCodeSnippetExpression
-
createConstructorCall
<T> CtConstructorCall<T> createConstructorCall(CtTypeReference<T> type, CtExpression<?>... parameters) -
createClassAccess
-
createInvocation
<T> CtInvocation<T> createInvocation(CtExpression<?> target, CtExecutableReference<T> executable, List<CtExpression<?>> arguments) -
createInvocation
<T> CtInvocation<T> createInvocation(CtExpression<?> target, CtExecutableReference<T> executable, CtExpression<?>... arguments) -
createLiteral
- See Also:
-
createLocalVariable
<T> CtLocalVariable<T> createLocalVariable(CtTypeReference<T> type, String name, CtExpression<T> defaultExpression) -
createLiteralArray
- See Also:
-
createNewClass
Creates an anonymous class- Parameters:
superClass- Anonymous class in the new class.parameters- the arguments of the constructor call.
-
createVariableAssignments
<T> CtStatementList createVariableAssignments(List<? extends CtVariable<T>> variables, List<? extends CtExpression<T>> expressions) -
createThisAccess
-
createThisAccess
-
createTypeAccess
-
createTypeAccess
-
createTypeAccessWithoutCloningReference
-
createVariableRead
-
createVariableWrite
-
createCtField
<T> CtField<T> createCtField(String name, CtTypeReference<T> type, String exp, ModifierKind... visibilities) -
createCatchVariableReference
-
createLocalVariableReference
-
createCtReturn
- Type Parameters:
T- the type of the expression- Parameters:
expression- the expression to return- Returns:
- a return statement
- See Also:
-
createLocalVariableReference
-
createCtTypeReference
- See Also:
-
createVariableReads
- See Also:
-
createCtCatch
-
createCodeSnippetStatement
-
createComment
-
createJavaDocTag
-
createJavaDocTag
-
createJavaDoc
CtJavaDoc createJavaDoc()- See Also:
-
createJavaDocTag
CtJavaDocTag createJavaDocTag()- See Also:
-
CodeFactory#createJavaDocTag()
-
createInlineComment
- See Also:
-
createCtThrow
- See Also:
-
createCtPackageReference
-
createDefault
-
createAnnotation
- See Also:
-
createBlock
- See Also:
-
createReturn
- See Also:
-
createStatementList
- See Also:
-
createCase
- See Also:
-
createSwitch
- See Also:
-
createSwitchExpression
- See Also:
-
createEnum
- See Also:
-
createAnnotationType
- See Also:
-
createAssignment
- See Also:
-
createOperatorAssignment
- See Also:
-
createExecutableReferenceExpression
<T,E extends CtExpression<?>> CtExecutableReferenceExpression<T,E> createExecutableReferenceExpression() -
createAnnotationFieldAccess
-
createArrayRead
- See Also:
-
createArrayWrite
- See Also:
-
createAssert
- See Also:
-
createBinaryOperator
- See Also:
-
createCatchVariable
- See Also:
-
createCodeSnippetExpression
-
createConditional
- See Also:
-
createConstructorCall
- See Also:
-
createFieldRead
- See Also:
-
createFieldWrite
- See Also:
-
createInvocation
- See Also:
-
createLambda
- See Also:
-
createLiteral
- See Also:
-
createTextBlock
CtTextBlock createTextBlock()- See Also:
-
createTextBlock
- See Also:
-
createLocalVariable
- See Also:
-
createNewArray
- See Also:
-
createNewClass
- See Also:
-
createSuperAccess
- See Also:
-
createThisAccess
- See Also:
-
createTypeAccess
- See Also:
-
createUnaryOperator
- See Also:
-
createVariableRead
- See Also:
-
createVariableWrite
- See Also:
-
createAnnotationMethod
- See Also:
-
createClass
- See Also:
-
createConstructor
- See Also:
-
createInvisibleArrayConstructor
- See Also:
-
createEnumValue
- See Also:
-
createField
- See Also:
-
createInterface
- See Also:
-
createMethod
- See Also:
-
createParameter
- See Also:
-
createArrayTypeReference
- See Also:
-
createCatchVariableReference
-
createExecutableReference
- See Also:
-
createFieldReference
- See Also:
-
createIntersectionTypeReference
-
createLocalVariableReference
-
createParameterReference
- See Also:
-
createTypeReference
- See Also:
-
createUnboundVariableReference
-
createBreak
CtBreak createBreak()- See Also:
-
createCatch
CtCatch createCatch()- See Also:
-
createCodeSnippetStatement
CtCodeSnippetStatement createCodeSnippetStatement()- See Also:
-
createComment
CtComment createComment()- See Also:
-
createContinue
CtContinue createContinue()- See Also:
-
createDo
CtDo createDo()- See Also:
-
createFor
CtFor createFor()- See Also:
-
createForEach
CtForEach createForEach()- See Also:
-
createIf
CtIf createIf()- See Also:
-
createSynchronized
CtSynchronized createSynchronized()- See Also:
-
createThrow
CtThrow createThrow()- See Also:
-
createTry
CtTry createTry()- See Also:
-
createTryWithResource
CtTryWithResource createTryWithResource()- See Also:
-
createWhile
CtWhile createWhile()- See Also:
-
createCompilationUnit
CompilationUnit createCompilationUnit()- See Also:
-
createSourcePosition
SourcePosition createSourcePosition(CompilationUnit compilationUnit, int startSource, int end, int[] lineSeparatorPositions) -
createBodyHolderSourcePosition
BodyHolderSourcePosition createBodyHolderSourcePosition(CompilationUnit compilationUnit, int startSource, int end, int modifierStart, int modifierEnd, int declarationStart, int declarationEnd, int bodyStart, int bodyEnd, int[] lineSeparatorPositions) -
createDeclarationSourcePosition
DeclarationSourcePosition createDeclarationSourcePosition(CompilationUnit compilationUnit, int startSource, int end, int modifierStart, int modifierEnd, int declarationStart, int declarationEnd, int[] lineSeparatorPositions) -
createAnonymousExecutable
CtAnonymousExecutable createAnonymousExecutable()- See Also:
-
createPackage
CtPackage createPackage()- See Also:
-
createTypeParameter
CtTypeParameter createTypeParameter()- See Also:
-
createPackageReference
CtPackageReference createPackageReference()- See Also:
-
createTypeParameterReference
CtTypeParameterReference createTypeParameterReference() -
createWildcardReference
CtWildcardReference createWildcardReference()- See Also:
-
createPartialEvaluator
PartialEvaluator createPartialEvaluator()- See Also:
-
createParameter
-
createParameterReference
-
createAnonymous
-
createArrayReference
- See Also:
-
createArrayReference
- See Also:
-
createArrayReference
-
createIntersectionTypeReferenceWithBounds
<T> CtIntersectionTypeReference<T> createIntersectionTypeReferenceWithBounds(List<CtTypeReference<?>> bounds) -
createTypeAdapter
-
createReferences
- See Also:
-
createArrayReference
-
createTypeParameterReference
-
createQuery
CtQuery createQuery()- See Also:
-
createQuery
- See Also:
-
createQuery
- See Also:
-
createQuery
- See Also:
-
createAnnotationType
- See Also:
-
createAnnotationType
-
createClass
- See Also:
-
createClass
- See Also:
-
createClass
- See Also:
-
createConstructor
-
createConstructor
-
createConstructor
CtConstructor createConstructor(CtClass target, Set<ModifierKind> modifiers, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes) -
createConstructor
CtConstructor createConstructor(CtClass target, Set<ModifierKind> modifiers, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes, CtBlock body) -
createEnum
- See Also:
-
createEnum
- See Also:
-
createField
CtField createField(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference type, String name) -
createField
CtField createField(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference type, String name, CtExpression defaultExpression) -
createField
- See Also:
-
createInterface
-
createInterface
- See Also:
-
createInterface
- See Also:
-
createMethod
CtMethod createMethod(CtClass<?> target, Set<ModifierKind> modifiers, CtTypeReference returnType, String name, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes, CtBlock body) -
createMethod
-
createMethod
CtMethod createMethod(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference returnType, String name, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes) -
createPackage
- See Also:
-
createElement
- See Also:
-
createImport
- See Also:
-
createUnresolvedImport
-
createTypeMemberWildcardImportReference
CtTypeMemberWildcardImportReference createTypeMemberWildcardImportReference(CtTypeReference<?> typeReference) -
createPackageExport
-
createProvidedService
-
createModuleRequirement
-
createModule
- See Also:
-
createModuleReference
- See Also:
-
createUsedService
-
createPartialSourcePosition
-
createPackageDeclaration
-
createReference
- See Also:
-
createSimplyQualifiedReference
-
createYieldStatement
- See Also:
-
createRecord
CtRecord createRecord()- Returns:
- a CtRecord
- See Also:
-
createRecordComponent
CtRecordComponent createRecordComponent()- Returns:
- a CtRecordComponent.
- See Also:
-