Package spoon.pattern.internal
Class DefaultGenerator
java.lang.Object
spoon.pattern.internal.DefaultGenerator
- All Implemented Interfaces:
Generator
- Direct Known Subclasses:
PatternPrinter
Drives generation process
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyGeneratedBy(CtElement generatedElement, String genBy)Adds a Generated by comment to the javadoc of generatedElement<T extends CtType<?>>
TGenerates a type with qualified name `typeQualifiedName` by replacing the generator parameters with the arguments given in `params`.Main method to generate a new AST made from substituting of parameters by the values in `params`generate(ImmutableMap params)Utility method that provides the same feature asGenerator.generate(Map), but with aImmutableMapas parameter (a Spoon elegant utility type)<T> @Nullable TgenerateSingleTarget(RootNode node, ImmutableMap parameters, Class<T> expectedType)Generates one target depending on kind of thisRootNode, expected `expectedType` and input `parameters`<T> voidgenerateTargets(RootNode node, ResultHolder<T> result, ImmutableMap parameters)Generates zero, one or more target depending on kind of thisRootNode, expected `result` and input `parameters`<T> List<T>generateTargets(RootNode node, ImmutableMap parameters, Class<T> expectedType)Generates zero, one or more targets depending on kind of thisRootNode, expected `expectedType` and input `parameters`<T> voidgetValueAs(ParameterInfo parameterInfo, ResultHolder<T> result, ImmutableMap parameters)Returns zero, one or more values into `result`.booleansetAddGeneratedBy(boolean addGeneratedBy)
-
Field Details
-
factory
-
-
Constructor Details
-
DefaultGenerator
-
-
Method Details
-
generateSingleTarget
public <T> @Nullable T generateSingleTarget(RootNode node, ImmutableMap parameters, Class<T> expectedType)Generates one target depending on kind of thisRootNode, expected `expectedType` and input `parameters`- Parameters:
node- to be generated nodeparameters-ImmutableMapexpectedType- definesClassof returned value- Returns:
- a generate value or null
-
generateTargets
Generates zero, one or more targets depending on kind of thisRootNode, expected `expectedType` and input `parameters`- Parameters:
node- to be generated nodeparameters-ImmutableMapexpectedType- definesClassof returned value- Returns:
- a
Listof generated targets
-
generateTargets
Generates zero, one or more target depending on kind of thisRootNode, expected `result` and input `parameters`- Parameters:
node- to be generated noderesult- the holder which receives the generated nodeparameters- the input parameters
-
getValueAs
public <T> void getValueAs(ParameterInfo parameterInfo, ResultHolder<T> result, ImmutableMap parameters)Returns zero, one or more values into `result`. The value comes from `parameters` from the location defined by `parameterInfo`- Parameters:
parameterInfo- theParameterInfo, which describes exact parameter from `parameters`result- the holder which receives the generated nodeparameters- the input parameters
-
getFactory
- Specified by:
getFactoryin interfaceGenerator- Returns:
- a
Factory, which has to be used to generate instances
-
setAddGeneratedBy
-
applyGeneratedBy
Adds a Generated by comment to the javadoc of generatedElement- Parameters:
generatedElement- a newly generated elementgenBy- the documentation to be added
-
getGeneratedByComment
-
generate
Description copied from interface:GeneratorUtility method that provides the same feature asGenerator.generate(Map), but with aImmutableMapas parameter (a Spoon elegant utility type) -
generate
Description copied from interface:GeneratorMain method to generate a new AST made from substituting of parameters by the values in `params` -
generate
Description copied from interface:GeneratorGenerates a type with qualified name `typeQualifiedName` by replacing the generator parameters with the arguments given in `params`. Note: the root element of pattern must be a CtType. -
isAddGeneratedBy
public boolean isAddGeneratedBy()
-