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
-
-
-
Method Detail
-
getModel
CtModel getModel()
returns the Spoon model that has been built with this factory or one of its subfactories
-
Core
CoreFactory Core()
Access toCoreFactory
subfactory
-
Type
TypeFactory Type()
Access toTypeFactory
subfactory
-
Enum
EnumFactory Enum()
Access toEnumFactory
subfactory
-
getEnvironment
Environment getEnvironment()
Access to theEnvironment
-
Package
PackageFactory Package()
Access toPackageFactory
subfactory
-
Code
CodeFactory Code()
Access toCodeFactory
subfactory
-
Class
ClassFactory Class()
Access toClassFactory
subfactory
-
Field
FieldFactory Field()
Access toFieldFactory
subfactory
-
Executable
ExecutableFactory Executable()
Access toExecutableFactory
subfactory
-
CompilationUnit
CompilationUnitFactory CompilationUnit()
Access toCompilationUnitFactory
subfactory
-
Interface
InterfaceFactory Interface()
Access toInterfaceFactory
subfactory
-
Method
MethodFactory Method()
Access toMethodFactory
subfactory
-
Annotation
AnnotationFactory Annotation()
Access toAnnotationFactory
subfactory
-
Eval
EvalFactory Eval()
Access toEvalFactory
subfactory
-
Constructor
ConstructorFactory Constructor()
Access toConstructorFactory
subfactory
-
Query
QueryFactory Query()
Access toQueryFactory
subfactory
-
Module
ModuleFactory Module()
Access toModuleFactory
subfactory for Java 9 modules
-
Templates
Factory Templates()
Access to templates
-
createAnnotation
<A extends Annotation> CtAnnotation<A> createAnnotation(CtTypeReference<A> annotationType)
-
createVariableAssignment
<A,T extends A> CtAssignment<A,T> createVariableAssignment(CtVariableReference<A> variable, boolean isStatic, CtExpression<T> expression)
-
createStatementList
<R> CtStatementList createStatementList(CtBlock<R> block)
- See Also:
CodeFactory.createStatementList(CtBlock)
-
createCtBlock
<T extends CtStatement> CtBlock<?> createCtBlock(T element)
- See Also:
CodeFactory.createCtBlock(CtStatement)
-
createBinaryOperator
<T> CtBinaryOperator<T> createBinaryOperator(CtExpression<?> left, CtExpression<?> right, BinaryOperatorKind kind)
-
createCatchVariable
<T> CtCatchVariable<T> createCatchVariable(CtTypeReference<T> type, String name, ModifierKind... modifierKinds)
-
createCodeSnippetExpression
<T> CtCodeSnippetExpression<T> createCodeSnippetExpression(String expression)
-
createConstructorCall
<T> CtConstructorCall<T> createConstructorCall(CtTypeReference<T> type, CtExpression<?>... parameters)
-
createClassAccess
<T> CtFieldAccess<Class<T>> createClassAccess(CtTypeReference<T> type)
-
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
<T> CtLiteral<T> createLiteral(T value)
- See Also:
CodeFactory.createLiteral(Object)
-
createLocalVariable
<T> CtLocalVariable<T> createLocalVariable(CtTypeReference<T> type, String name, CtExpression<T> defaultExpression)
-
createLiteralArray
<T> CtNewArray<T[]> createLiteralArray(T[] value)
- See Also:
CodeFactory.createLiteralArray(Object[])
-
createNewClass
CtNewClass<?> createNewClass(CtType<?> superClass, CtExpression<?>... parameters)
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
<T> CtThisAccess<T> createThisAccess(CtTypeReference<T> type)
-
createThisAccess
<T> CtThisAccess<T> createThisAccess(CtTypeReference<T> type, boolean isImplicit)
-
createTypeAccess
<T> CtTypeAccess<T> createTypeAccess(CtTypeReference<T> accessedType)
-
createTypeAccess
<T> CtTypeAccess<T> createTypeAccess(CtTypeReference<T> accessedType, boolean isImplicit)
-
createTypeAccessWithoutCloningReference
<T> CtTypeAccess<T> createTypeAccessWithoutCloningReference(CtTypeReference<T> accessedType)
-
createVariableRead
<T> CtVariableAccess<T> createVariableRead(CtVariableReference<T> variable, boolean isStatic)
-
createVariableWrite
<T> CtVariableAccess<T> createVariableWrite(CtVariableReference<T> variable, boolean isStatic)
-
createCtField
<T> CtField<T> createCtField(String name, CtTypeReference<T> type, String exp, ModifierKind... visibilities)
-
createCatchVariableReference
<T> CtCatchVariableReference<T> createCatchVariableReference(CtCatchVariable<T> catchVariable)
-
createLocalVariableReference
<T> CtLocalVariableReference<T> createLocalVariableReference(CtLocalVariable<T> localVariable)
-
createLocalVariableReference
<T> CtLocalVariableReference<T> createLocalVariableReference(CtTypeReference<T> type, String name)
-
createCtTypeReference
<T> CtTypeReference<T> createCtTypeReference(Class<?> originalClass)
- See Also:
CodeFactory.createCtTypeReference(Class)
-
createVariableReads
List<CtExpression<?>> createVariableReads(List<? extends CtVariable<?>> variables)
- See Also:
CodeFactory.createVariableReads(List)
-
createCtCatch
CtCatch createCtCatch(String nameCatch, Class<? extends Throwable> exception, CtBlock<?> ctBlock)
-
createCodeSnippetStatement
CtCodeSnippetStatement createCodeSnippetStatement(String statement)
-
createComment
CtComment createComment(String content, CtComment.CommentType type)
-
createJavaDocTag
CtJavaDocTag createJavaDocTag(String content, CtJavaDocTag.TagType type)
-
createJavaDocTag
CtJavaDocTag createJavaDocTag(String content, CtJavaDocTag.TagType type, String realName)
-
createJavaDoc
CtJavaDoc createJavaDoc()
- See Also:
CoreFactory.createJavaDoc()
-
createJavaDocTag
CtJavaDocTag createJavaDocTag()
- See Also:
CodeFactory#createJavaDocTag()
-
createInlineComment
CtComment createInlineComment(String content)
- See Also:
CodeFactory.createInlineComment(String)
-
createCtThrow
CtThrow createCtThrow(String thrownExp)
- See Also:
CodeFactory.createCtThrow(String)
-
createCtPackageReference
CtPackageReference createCtPackageReference(Package originalPackage)
-
createDefault
<T> CtConstructor<T> createDefault(CtClass<T> target)
-
createAnnotation
<A extends Annotation> CtAnnotation<A> createAnnotation()
- See Also:
CoreFactory.createAnnotation()
-
createBlock
<R> CtBlock<R> createBlock()
- See Also:
CoreFactory.createBlock()
-
createReturn
<R> CtReturn<R> createReturn()
- See Also:
CoreFactory.createReturn()
-
createStatementList
<R> CtStatementList createStatementList()
- See Also:
CoreFactory.createStatementList()
-
createCase
<S> CtCase<S> createCase()
- See Also:
CoreFactory.createCase()
-
createSwitch
<S> CtSwitch<S> createSwitch()
- See Also:
CoreFactory.createSwitch()
-
createSwitchExpression
<T,S> CtSwitchExpression<T,S> createSwitchExpression()
- See Also:
CoreFactory.createSwitchExpression()
-
createEnum
<T extends Enum<?>> CtEnum<T> createEnum()
- See Also:
CoreFactory.createEnum()
-
createAnnotationType
<T extends Annotation> CtAnnotationType<T> createAnnotationType()
- See Also:
CoreFactory.createAnnotationType()
-
createAssignment
<T,A extends T> CtAssignment<T,A> createAssignment()
- See Also:
CoreFactory.createAssignment()
-
createOperatorAssignment
<T,A extends T> CtOperatorAssignment<T,A> createOperatorAssignment()
- See Also:
CoreFactory.createOperatorAssignment()
-
createExecutableReferenceExpression
<T,E extends CtExpression<?>> CtExecutableReferenceExpression<T,E> createExecutableReferenceExpression()
-
createAnnotationFieldAccess
<T> CtAnnotationFieldAccess<T> createAnnotationFieldAccess()
-
createArrayRead
<T> CtArrayRead<T> createArrayRead()
- See Also:
CoreFactory.createArrayRead()
-
createArrayWrite
<T> CtArrayWrite<T> createArrayWrite()
- See Also:
CoreFactory.createArrayWrite()
-
createAssert
<T> CtAssert<T> createAssert()
- See Also:
CoreFactory.createAssert()
-
createBinaryOperator
<T> CtBinaryOperator<T> createBinaryOperator()
- See Also:
CoreFactory.createBinaryOperator()
-
createCatchVariable
<T> CtCatchVariable<T> createCatchVariable()
- See Also:
CoreFactory.createCatchVariable()
-
createCodeSnippetExpression
<T> CtCodeSnippetExpression<T> createCodeSnippetExpression()
-
createConditional
<T> CtConditional<T> createConditional()
- See Also:
CoreFactory.createConditional()
-
createConstructorCall
<T> CtConstructorCall<T> createConstructorCall()
- See Also:
CoreFactory.createConstructorCall()
-
createFieldRead
<T> CtFieldRead<T> createFieldRead()
- See Also:
CoreFactory.createFieldRead()
-
createFieldWrite
<T> CtFieldWrite<T> createFieldWrite()
- See Also:
CoreFactory.createFieldWrite()
-
createInvocation
<T> CtInvocation<T> createInvocation()
- See Also:
CoreFactory.createInvocation()
-
createLambda
<T> CtLambda<T> createLambda()
- See Also:
CoreFactory.createLambda()
-
createLiteral
<T> CtLiteral<T> createLiteral()
- See Also:
CoreFactory.createLiteral()
-
createTextBlock
CtTextBlock createTextBlock()
- See Also:
CoreFactory.createTextBlock()
-
createTextBlock
CtTextBlock createTextBlock(String value)
- See Also:
CodeFactory.createTextBlock(String)
-
createLocalVariable
<T> CtLocalVariable<T> createLocalVariable()
- See Also:
CoreFactory.createLocalVariable()
-
createNewArray
<T> CtNewArray<T> createNewArray()
- See Also:
CoreFactory.createNewArray()
-
createNewClass
<T> CtNewClass<T> createNewClass()
- See Also:
CoreFactory.createNewClass()
-
createSuperAccess
<T> CtSuperAccess<T> createSuperAccess()
- See Also:
CoreFactory.createSuperAccess()
-
createThisAccess
<T> CtThisAccess<T> createThisAccess()
- See Also:
CoreFactory.createThisAccess()
-
createTypeAccess
<T> CtTypeAccess<T> createTypeAccess()
- See Also:
CoreFactory.createTypeAccess()
-
createUnaryOperator
<T> CtUnaryOperator<T> createUnaryOperator()
- See Also:
CoreFactory.createUnaryOperator()
-
createVariableRead
<T> CtVariableRead<T> createVariableRead()
- See Also:
CoreFactory.createVariableRead()
-
createVariableWrite
<T> CtVariableWrite<T> createVariableWrite()
- See Also:
CoreFactory.createVariableWrite()
-
createAnnotationMethod
<T> CtAnnotationMethod<T> createAnnotationMethod()
- See Also:
CoreFactory.createAnnotationMethod()
-
createClass
<T> CtClass<T> createClass()
- See Also:
CoreFactory.createClass()
-
createConstructor
<T> CtConstructor<T> createConstructor()
- See Also:
CoreFactory.createConstructor()
-
createInvisibleArrayConstructor
<T> CtConstructor<T> createInvisibleArrayConstructor()
- See Also:
()
-
createEnumValue
<T> CtEnumValue<T> createEnumValue()
- See Also:
CoreFactory.createEnumValue()
-
createField
<T> CtField<T> createField()
- See Also:
CoreFactory.createField()
-
createInterface
<T> CtInterface<T> createInterface()
- See Also:
CoreFactory.createInterface()
-
createMethod
<T> CtMethod<T> createMethod()
- See Also:
CoreFactory.createMethod()
-
createParameter
<T> CtParameter<T> createParameter()
- See Also:
CoreFactory.createParameter()
-
createArrayTypeReference
<T> CtArrayTypeReference<T> createArrayTypeReference()
- See Also:
CoreFactory.createArrayTypeReference()
-
createCatchVariableReference
<T> CtCatchVariableReference<T> createCatchVariableReference()
-
createExecutableReference
<T> CtExecutableReference<T> createExecutableReference()
- See Also:
CoreFactory.createExecutableReference()
-
createFieldReference
<T> CtFieldReference<T> createFieldReference()
- See Also:
CoreFactory.createFieldReference()
-
createIntersectionTypeReference
<T> CtIntersectionTypeReference<T> createIntersectionTypeReference()
-
createLocalVariableReference
<T> CtLocalVariableReference<T> createLocalVariableReference()
-
createParameterReference
<T> CtParameterReference<T> createParameterReference()
- See Also:
CoreFactory.createParameterReference()
-
createTypeReference
<T> CtTypeReference<T> createTypeReference()
- See Also:
CoreFactory.createTypeReference()
-
createUnboundVariableReference
<T> CtUnboundVariableReference<T> createUnboundVariableReference()
-
createBreak
CtBreak createBreak()
- See Also:
CoreFactory.createBreak()
-
createCatch
CtCatch createCatch()
- See Also:
CoreFactory.createCatch()
-
createCodeSnippetStatement
CtCodeSnippetStatement createCodeSnippetStatement()
- See Also:
CoreFactory.createCodeSnippetStatement()
-
createComment
CtComment createComment()
- See Also:
CoreFactory.createComment()
-
createContinue
CtContinue createContinue()
- See Also:
CoreFactory.createContinue()
-
createDo
CtDo createDo()
- See Also:
CoreFactory.createDo()
-
createFor
CtFor createFor()
- See Also:
CoreFactory.createFor()
-
createForEach
CtForEach createForEach()
- See Also:
CoreFactory.createForEach()
-
createIf
CtIf createIf()
- See Also:
CoreFactory.createIf()
-
createSynchronized
CtSynchronized createSynchronized()
- See Also:
CoreFactory.createSynchronized()
-
createThrow
CtThrow createThrow()
- See Also:
CoreFactory.createThrow()
-
createTry
CtTry createTry()
- See Also:
CoreFactory.createTry()
-
createTryWithResource
CtTryWithResource createTryWithResource()
- See Also:
CoreFactory.createTryWithResource()
-
createWhile
CtWhile createWhile()
- See Also:
CoreFactory.createWhile()
-
createCompilationUnit
CompilationUnit createCompilationUnit()
- See Also:
CoreFactory.createCompilationUnit()
-
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:
CoreFactory.createAnonymousExecutable()
-
createPackage
CtPackage createPackage()
- See Also:
CoreFactory.createPackage()
-
createTypeParameter
CtTypeParameter createTypeParameter()
- See Also:
CoreFactory.createTypeParameter()
-
createPackageReference
CtPackageReference createPackageReference()
- See Also:
CoreFactory.createPackageReference()
-
createTypeParameterReference
CtTypeParameterReference createTypeParameterReference()
-
createWildcardReference
CtWildcardReference createWildcardReference()
- See Also:
CoreFactory.createWildcardReference()
-
createPartialEvaluator
PartialEvaluator createPartialEvaluator()
- See Also:
EvalFactory.createPartialEvaluator()
-
createParameter
<T> CtParameter<T> createParameter(CtExecutable<?> parent, CtTypeReference<T> type, String name)
-
createParameterReference
<T> CtParameterReference<T> createParameterReference(CtParameter<T> parameter)
-
createAnonymous
CtAnonymousExecutable createAnonymous(CtClass<?> target, CtBlock<Void> body)
-
createArrayReference
<T> CtArrayTypeReference<T> createArrayReference(String qualifiedName)
- See Also:
TypeFactory.createArrayReference(String)
-
createArrayReference
<T> CtArrayTypeReference<T[]> createArrayReference(CtType<T> type)
- See Also:
TypeFactory.createArrayReference(CtType)
-
createArrayReference
<T> CtArrayTypeReference<T[]> createArrayReference(CtTypeReference<T> reference)
-
createIntersectionTypeReferenceWithBounds
<T> CtIntersectionTypeReference<T> createIntersectionTypeReferenceWithBounds(List<CtTypeReference<?>> bounds)
-
createTypeAdapter
GenericTypeAdapter createTypeAdapter(CtFormalTypeDeclarer formalTypeDeclarer)
-
createReferences
List<CtTypeReference<?>> createReferences(List<Class<?>> classes)
- See Also:
TypeFactory.createReferences(List)
-
createArrayReference
CtArrayTypeReference<?> createArrayReference(CtTypeReference<?> reference, int n)
-
createTypeParameterReference
CtTypeParameterReference createTypeParameterReference(String name)
-
createQuery
CtQuery createQuery()
- See Also:
QueryFactory.createQuery()
-
createQuery
CtQuery createQuery(Object input)
- See Also:
QueryFactory.createQuery(Object)
-
createQuery
CtQuery createQuery(Object... input)
- See Also:
QueryFactory.createQuery(Object...)
-
createQuery
CtQuery createQuery(Iterable<?> input)
- See Also:
QueryFactory.createQuery(Iterable)
-
createAnnotationType
CtAnnotationType createAnnotationType(String qualifiedName)
- See Also:
AnnotationFactory.create(String)
-
createAnnotationType
CtAnnotationType createAnnotationType(CtPackage owner, String simpleName)
-
createClass
CtClass createClass(String qualifiedName)
- See Also:
ClassFactory.create(String)
-
createClass
CtClass createClass(CtClass<?> declaringClass, String simpleName)
- See Also:
ClassFactory.create(CtClass, String)
-
createClass
CtClass createClass(CtPackage owner, String simpleName)
- See Also:
ClassFactory.create(CtPackage, String)
-
createConstructor
CtConstructor createConstructor(CtClass target, CtConstructor<?> source)
-
createConstructor
CtConstructor createConstructor(CtClass target, CtMethod<?> source)
-
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
CtEnum<?> createEnum(String qualifiedName)
- See Also:
EnumFactory.create(String)
-
createEnum
CtEnum<?> createEnum(CtPackage owner, String simpleName)
- See Also:
EnumFactory.create(CtPackage, String)
-
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
CtField createField(CtType<?> target, CtField source)
- See Also:
FieldFactory.create(CtType, CtField)
-
createInterface
CtInterface createInterface(CtPackage owner, String simpleName)
-
createInterface
CtInterface createInterface(CtType owner, String simpleName)
- See Also:
InterfaceFactory.create(CtType, String)
-
createInterface
CtInterface createInterface(String qualifiedName)
- See Also:
InterfaceFactory.create(String)
-
createMethod
CtMethod createMethod(CtClass<?> target, Set<ModifierKind> modifiers, CtTypeReference returnType, String name, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes, CtBlock body)
-
createMethod
CtMethod createMethod(CtType<?> target, Set<ModifierKind> modifiers, CtTypeReference returnType, String name, List<CtParameter<?>> parameters, Set<CtTypeReference<? extends Throwable>> thrownTypes)
-
createPackage
CtPackage createPackage(CtPackage parent, String simpleName)
- See Also:
PackageFactory.create(CtPackage, String)
-
createElement
CtElement createElement(Class<? extends CtElement> klass)
- See Also:
CoreFactory.create(Class)
-
createImport
CtImport createImport(CtReference reference)
- See Also:
TypeFactory.createImport(CtReference)
-
createTypeMemberWildcardImportReference
CtTypeMemberWildcardImportReference createTypeMemberWildcardImportReference(CtTypeReference<?> typeReference)
-
createPackageExport
CtPackageExport createPackageExport(CtPackageReference ctPackageReference)
-
createProvidedService
CtProvidedService createProvidedService(CtTypeReference ctTypeReference)
-
createModuleRequirement
CtModuleRequirement createModuleRequirement(CtModuleReference ctModuleReference)
-
createModule
CtModule createModule(String moduleName)
- See Also:
ModuleFactory.getOrCreate(String)
-
createModuleReference
CtModuleReference createModuleReference(CtModule ctModule)
- See Also:
ModuleFactory.createReference(CtModule)
-
createUsedService
CtUsedService createUsedService(CtTypeReference typeReference)
-
createPartialSourcePosition
SourcePosition createPartialSourcePosition(CompilationUnit compilationUnit)
-
createPackageDeclaration
CtPackageDeclaration createPackageDeclaration(CtPackageReference packageRef)
-
createReference
<T> CtTypeReference<T> createReference(String qualifiedName)
- See Also:
TypeFactory.createReference(String)
-
createSimplyQualifiedReference
<T> CtTypeReference<T> createSimplyQualifiedReference(String qualifiedName)
-
createYieldStatement
CtYieldStatement createYieldStatement(boolean isImplicit)
- See Also:
CoreFactory.createYieldStatement()
-
-