@Override void acceptBuilder(TypeSpec.Builder type) { for (BuilderProperty property : list) { property.acceptBuilder(type); } }
@Override void acceptBuilderClass(TypeSpec.Builder type) { for (BuilderProperty property : list) { property.acceptBuilderClass(type); } }
@Override public final BuilderProperty execute(Property property) { return BuilderProperty.of( property.standardBuilderProperty(), varargs(property)); }
private BuilderProperty empty(Property property) { return BuilderProperty.methodBuilder(property) .name() .assignment("$T.empty()", Optional.class) .build(); }
if (execution.skip()) { break; execution.acceptBuilder(iface);
@Override public BuilderProperty execute(Property property) { return BuilderProperty.ignore(); }
private BuilderProperty of(Property property) { return BuilderProperty.methodBuilder(property) .nameSuffix("Of") .addParameter(property.typeParameterInfoStream() .map(TypeParameterInfo::typeNameBound) .findFirst() .get()) .assignment("$T.of($L)", Optional.class, property.name()) .build(); }
if (execution.skip()) { break; execution.acceptBuilder(iface);
private BuilderProperty empty(Property property) { return BuilderProperty.methodBuilder(property) .name() .assignment("$T.empty()", Optional.class) .build(); }
@Override public final BuilderProperty execute(Property property) { return BuilderProperty.of( property.standardBuilderProperty(), varargs(property)); }
@Override void acceptBuilderClass(TypeSpec.Builder type) { for (BuilderProperty property : list) { property.acceptBuilderClass(type); } }
@Override void acceptBuilder(TypeSpec.Builder type) { for (BuilderProperty property : list) { property.acceptBuilder(type); } }
private BuilderProperty ofNullable(Property property) { return BuilderProperty.methodBuilder(property) .nameSuffix("OfNullable") .addParameter(property.typeParameterInfoStream() .map(TypeParameterInfo::typeNameBound) .findFirst() .get()) .assignment("$T.ofNullable($L)", Optional.class, property.name()) .build(); }
@Override public BuilderProperty execute(Property property) { return BuilderProperty.of( property.standardBuilderProperty(), of(property)); }
public Artifact execute() { List<BuilderClassConstructor> constructorList = builder.constructorList(); List<Property> propertyList = builder.propertyList(); List<BuilderPropertyPlugin> pluginList = builder.builderPropertyPluginList(); type.addFields(field(constructorList)) .addFields(builder.customFieldSpecList()) .addMethods(constructor(constructorList)) .addMethod(build(constructorList)); for (Property property : propertyList) { for (BuilderPropertyPlugin plugin : pluginList) { if (plugin.test(property)) { plugin.execute(property).acceptBuilderClass(type); break; } } } return builder.artifact(type); }
private BuilderProperty of(Property property) { return BuilderProperty.methodBuilder(property) .nameSuffix("Of") .addParameter(property.typeParameterInfoStream() .map(TypeParameterInfo::typeNameBound) .findFirst() .get()) .assignment("$T.of($L)", Optional.class, property.name()) .build(); }
@Override public BuilderProperty execute(Property property) { return BuilderProperty.of( property.standardBuilderProperty(), of(property)); }
public Artifact execute() { List<BuilderClassConstructor> constructorList = builder.constructorList(); List<Property> propertyList = builder.propertyList(); List<BuilderPropertyPlugin> pluginList = builder.builderPropertyPluginList(); type.addFields(field(constructorList)) .addFields(builder.customFieldSpecList()) .addMethods(constructor(constructorList)) .addMethod(build(constructorList)); for (Property property : propertyList) { for (BuilderPropertyPlugin plugin : pluginList) { if (plugin.test(property)) { plugin.execute(property).acceptBuilderClass(type); break; } } } return builder.artifact(type); }
private BuilderProperty ofNullable(Property property) { return BuilderProperty.methodBuilder(property) .nameSuffix("OfNullable") .addParameter(property.typeParameterInfoStream() .map(TypeParameterInfo::typeNameBound) .findFirst() .get()) .assignment("$T.ofNullable($L)", Optional.class, property.name()) .build(); }
@Override public BuilderProperty execute(Property property) { return BuilderProperty.of( property.standardBuilderProperty(), ofMinute(property), ofSecond(property)); }