Class GeneratedBuilder
- java.lang.Object
-
- org.inferred.freebuilder.processor.source.ValueType
-
- org.inferred.freebuilder.processor.GeneratedType
-
- org.inferred.freebuilder.processor.GeneratedBuilder
-
- All Implemented Interfaces:
Excerpt
public class GeneratedBuilder extends GeneratedType
Code generation for the @FreeBuilderannotation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classGeneratedBuilder.FieldAccessList-
Nested classes/interfaces inherited from class org.inferred.freebuilder.processor.source.ValueType
ValueType.FieldReceiver
-
-
Field Summary
Fields Modifier and Type Field Description private Datatypedatatypeprivate java.util.Map<Property,PropertyCodeGenerator>generatorsByPropertyprivate static java.util.function.Predicate<PropertyCodeGenerator>IS_REQUIRED
-
Constructor Summary
Constructors Constructor Description GeneratedBuilder(Datatype datatype, java.util.Map<Property,PropertyCodeGenerator> generatorsByProperty)
-
Method Summary
-
-
-
Field Detail
-
datatype
private final Datatype datatype
-
generatorsByProperty
private final java.util.Map<Property,PropertyCodeGenerator> generatorsByProperty
-
IS_REQUIRED
private static final java.util.function.Predicate<PropertyCodeGenerator> IS_REQUIRED
-
-
Constructor Detail
-
GeneratedBuilder
public GeneratedBuilder(Datatype datatype, java.util.Map<Property,PropertyCodeGenerator> generatorsByProperty)
-
-
Method Detail
-
getDatatype
Datatype getDatatype()
-
getGeneratorsByProperty
public java.util.Map<Property,PropertyCodeGenerator> getGeneratorsByProperty()
-
addFields
protected void addFields(ValueType.FieldReceiver fields)
Description copied from class:ValueTypeImplement this method to report the name and value of each field.
-
addTo
public void addTo(SourceBuilder code)
-
addBuilderTypeDeclaration
private void addBuilderTypeDeclaration(SourceBuilder code)
-
addStaticFromMethod
private void addStaticFromMethod(SourceBuilder code)
-
addFieldDeclarations
private void addFieldDeclarations(SourceBuilder code)
-
addAccessors
private void addAccessors(SourceBuilder body)
-
addBuildMethod
private void addBuildMethod(SourceBuilder code)
-
addMergeFromValueMethod
private void addMergeFromValueMethod(SourceBuilder code)
-
addMergeFromBuilderMethod
private void addMergeFromBuilderMethod(SourceBuilder code)
-
mergeActions
private java.util.Set<MergeAction> mergeActions()
-
addClearMethod
private void addClearMethod(SourceBuilder code)
-
addBuildPartialMethod
private void addBuildPartialMethod(SourceBuilder code)
-
addPropertyEnum
private void addPropertyEnum(SourceBuilder code)
-
addRebuildableSuperclass
private void addRebuildableSuperclass(SourceBuilder code)
-
addValueType
private void addValueType(SourceBuilder code)
-
addValueTypeConstructor
private void addValueTypeConstructor(SourceBuilder code)
-
addValueTypeGetters
private void addValueTypeGetters(SourceBuilder code)
-
addValueTypeToBuilder
private void addValueTypeToBuilder(SourceBuilder code)
-
addValueTypeEquals
private void addValueTypeEquals(SourceBuilder code)
-
addValueTypeEqualsOverride
private void addValueTypeEqualsOverride(SourceBuilder code)
-
addValueTypeHashCode
private void addValueTypeHashCode(SourceBuilder code)
-
addPartialType
private void addPartialType(SourceBuilder code)
-
addPartialFields
private void addPartialFields(SourceBuilder code)
-
addPartialConstructor
private void addPartialConstructor(SourceBuilder code)
-
addPartialGetters
private void addPartialGetters(SourceBuilder code)
-
addPartialToBuilderMethod
private void addPartialToBuilderMethod(SourceBuilder code)
-
addPartialEquals
private void addPartialEquals(SourceBuilder code)
-
addPartialHashCode
private void addPartialHashCode(SourceBuilder code)
-
extending
private static Excerpt extending(java.lang.Object type, boolean isInterface)
Returns anExcerptof "implements/extendstype".
-
getFields
private static GeneratedBuilder.FieldAccessList getFields(java.util.stream.Stream<Property> properties)
-
-