public class DefaultGenerator extends java.lang.Object implements Generator
Constructor and Description |
---|
DefaultGenerator(Factory factory,
ListOfNodes nodes) |
Modifier and Type | Method and Description |
---|---|
void |
applyGeneratedBy(CtElement generatedElement,
java.lang.String genBy)
Adds a Generated by comment to the javadoc of generatedElement
|
<T extends CtElement> |
generate(ImmutableMap params)
Utility method that provides the same feature as
Generator.generate(Map) , but with a ImmutableMap as parameter (a Spoon elegant utility type) |
<T extends CtElement> |
generate(java.util.Map<java.lang.String,java.lang.Object> params)
Main method to generate a new AST made from substituting of parameters by
the values in `params`
|
<T extends CtType<?>> |
generate(java.lang.String typeQualifiedName,
java.util.Map<java.lang.String,java.lang.Object> params)
Generates a type with qualified name `typeQualifiedName`
by replacing the generator parameters with the arguments given in `params`.
|
<T> T |
generateSingleTarget(RootNode node,
ImmutableMap parameters,
java.lang.Class<T> expectedType)
Generates one target depending on kind of this
RootNode , expected `expectedType` and input `parameters` |
<T> java.util.List<T> |
generateTargets(RootNode node,
ImmutableMap parameters,
java.lang.Class<T> expectedType)
Generates zero, one or more targets depending on kind of this
RootNode , 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 this
RootNode , expected `result` and input `parameters` |
Factory |
getFactory() |
java.lang.String |
getGeneratedByComment(CtElement ele) |
<T> void |
getValueAs(ParameterInfo parameterInfo,
ResultHolder<T> result,
ImmutableMap parameters)
Returns zero, one or more values into `result`.
|
boolean |
isAddGeneratedBy() |
DefaultGenerator |
setAddGeneratedBy(boolean addGeneratedBy) |
protected final Factory factory
public DefaultGenerator(Factory factory, ListOfNodes nodes)
public <T> T generateSingleTarget(RootNode node, ImmutableMap parameters, java.lang.Class<T> expectedType)
RootNode
, expected `expectedType` and input `parameters`node
- to be generated nodeparameters
- ImmutableMap
expectedType
- defines Class
of returned valuepublic <T> java.util.List<T> generateTargets(RootNode node, ImmutableMap parameters, java.lang.Class<T> expectedType)
RootNode
, expected `expectedType` and input `parameters`node
- to be generated nodeparameters
- ImmutableMap
expectedType
- defines Class
of returned valueList
of generated targetspublic <T> void generateTargets(RootNode node, ResultHolder<T> result, ImmutableMap parameters)
RootNode
, expected `result` and input `parameters`node
- to be generated noderesult
- the holder which receives the generated nodeparameters
- the input parameterspublic <T> void getValueAs(ParameterInfo parameterInfo, ResultHolder<T> result, ImmutableMap parameters)
parameterInfo
- the ParameterInfo
, which describes exact parameter from `parameters`result
- the holder which receives the generated nodeparameters
- the input parameterspublic Factory getFactory()
getFactory
in interface Generator
Factory
, which has to be used to generate instancespublic DefaultGenerator setAddGeneratedBy(boolean addGeneratedBy)
public void applyGeneratedBy(CtElement generatedElement, java.lang.String genBy)
generatedElement
- a newly generated elementgenBy
- the documentation to be addedpublic java.lang.String getGeneratedByComment(CtElement ele)
public <T extends CtElement> java.util.List<T> generate(ImmutableMap params)
Generator
Generator.generate(Map)
, but with a ImmutableMap
as parameter (a Spoon elegant utility type)public <T extends CtElement> java.util.List<T> generate(java.util.Map<java.lang.String,java.lang.Object> params)
Generator
public <T extends CtType<?>> T generate(java.lang.String typeQualifiedName, java.util.Map<java.lang.String,java.lang.Object> params)
Generator
public boolean isAddGeneratedBy()
Copyright © 2007–2021 Inria. All rights reserved.