public abstract static class JavacSingularsRecipes.JavacSingularizer extends Object
Constructor and Description |
---|
JavacSingularizer() |
Modifier and Type | Method and Description |
---|---|
protected JCExpression |
addTypeArgs(int count,
boolean addExtends,
JavacNode node,
JCExpression type,
<any> typeArgs,
JCTree source)
Adds the requested number of type arguments to the provided type, copying each argument in
typeArgs . |
abstract void |
appendBuildCode(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
JCTree source,
<any> statements,
Name targetVariableName) |
void |
appendCleaningCode(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
JCTree source,
<any> statements) |
boolean |
checkForAlreadyExistingNodesAndGenerateError(JavacNode builderType,
JavacSingularsRecipes.SingularData data)
Checks if any of the to-be-generated nodes (fields, methods) already exist.
|
protected JCExpression |
cloneParamType(int index,
lombok.javac.JavacTreeMaker maker,
<any> typeArgs,
JavacNode builderType,
JCTree source) |
protected <any> |
createTypeArgs(int count,
boolean addExtends,
JavacNode node,
<any> typeArgs,
JCTree source) |
abstract List<JavacNode> |
generateFields(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
JCTree source) |
abstract void |
generateMethods(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
JCTree source,
boolean fluent,
boolean chain) |
protected JCExpression |
getSize(lombok.javac.JavacTreeMaker maker,
JavacNode builderType,
Name name,
boolean nullGuard)
Generates 'this.name.size()' as an expression; if nullGuard is true, it's this.name == null ? 0 : this.name.size().
|
abstract lombok.core.LombokImmutableList<String> |
getSupportedTypes() |
List<Name> |
listFieldsToBeGenerated(JavacSingularsRecipes.SingularData data,
JavacNode builderType) |
List<Name> |
listMethodsToBeGenerated(JavacSingularsRecipes.SingularData data,
JavacNode builderType) |
boolean |
requiresCleaning() |
public abstract lombok.core.LombokImmutableList<String> getSupportedTypes()
public boolean checkForAlreadyExistingNodesAndGenerateError(JavacNode builderType, JavacSingularsRecipes.SingularData data)
public List<Name> listFieldsToBeGenerated(JavacSingularsRecipes.SingularData data, JavacNode builderType)
public List<Name> listMethodsToBeGenerated(JavacSingularsRecipes.SingularData data, JavacNode builderType)
public abstract List<JavacNode> generateFields(JavacSingularsRecipes.SingularData data, JavacNode builderType, JCTree source)
public abstract void generateMethods(JavacSingularsRecipes.SingularData data, JavacNode builderType, JCTree source, boolean fluent, boolean chain)
public abstract void appendBuildCode(JavacSingularsRecipes.SingularData data, JavacNode builderType, JCTree source, <any> statements, Name targetVariableName)
public boolean requiresCleaning()
public void appendCleaningCode(JavacSingularsRecipes.SingularData data, JavacNode builderType, JCTree source, <any> statements)
protected JCExpression addTypeArgs(int count, boolean addExtends, JavacNode node, JCExpression type, <any> typeArgs, JCTree source)
typeArgs
. If typeArgs is too long, the extra elements are ignored.
If typeArgs
is null or too short, java.lang.Object
will be substituted for each missing type argument.count
- The number of type arguments requested.addExtends
- If true
, all bounds are either '? extends X' or just '?'. If false, the reverse is applied, and '? extends Foo' is converted to Foo, '?' to Object, etc.node
- Some node in the same AST. Just used to obtain makers and contexts and such.type
- The type to add generics to.typeArgs
- the list of type args to clone.source
- The source annotation that is the root cause of this code generation.protected <any> createTypeArgs(int count, boolean addExtends, JavacNode node, <any> typeArgs, JCTree source)
protected JCExpression getSize(lombok.javac.JavacTreeMaker maker, JavacNode builderType, Name name, boolean nullGuard)
protected JCExpression cloneParamType(int index, lombok.javac.JavacTreeMaker maker, <any> typeArgs, JavacNode builderType, JCTree source)
Copyright © 2009-2015 The Project Lombok Authors, licensed under the MIT licence.