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 TypeMethodDescriptionvoid
applyGeneratedBy(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 aImmutableMap
as parameter (a Spoon elegant utility type)<T> @Nullable T
generateSingleTarget(RootNode node, ImmutableMap parameters, Class<T> expectedType)
Generates one target depending on kind of thisRootNode
, expected `expectedType` and input `parameters`<T> void
generateTargets(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> void
getValueAs(ParameterInfo parameterInfo, ResultHolder<T> result, ImmutableMap parameters)
Returns zero, one or more values into `result`.boolean
setAddGeneratedBy(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
-ImmutableMap
expectedType
- definesClass
of 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
-ImmutableMap
expectedType
- definesClass
of returned value- Returns:
- a
List
of 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:
getFactory
in 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:Generator
Utility method that provides the same feature asGenerator.generate(Map)
, but with aImmutableMap
as parameter (a Spoon elegant utility type) -
generate
Description copied from interface:Generator
Main method to generate a new AST made from substituting of parameters by the values in `params` -
generate
Description copied from interface:Generator
Generates 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()
-