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(); }
private BuilderProperty varargs0(Property property, TypeName elementTypeName, String parameterName) { return BuilderProperty.methodBuilder(property) .addAnnotationIf(SUPPRESS_UNCHECKED, safeVarargs(elementTypeName)) .name() .addParameter(ArrayTypeName.of(elementTypeName), parameterName) .varargs() .nullCheck(parameterName) .statement( "$T $L = new $T<>($L.length)", ParameterizedTypeName.get(ClassName.get(collectionInterface()), elementTypeName), property.name(), collectionImplementation(), parameterName) .beginControlFlow("for (int i = 0; i < elements.length; i++)") .statement("$T e = $L[i]", elementTypeName, parameterName) .nullCheck("e") .statement("$L.add(e)", property.name()) .endControlFlow() .assignment("$T.$L($L)", Collections.class, unmodifiableMethodName(), property.name()) .build(); }
private BuilderProperty varargs0(Property property, TypeName elementTypeName, String parameterName) { return BuilderProperty.methodBuilder(property) .addAnnotationIf(SUPPRESS_UNCHECKED, safeVarargs(elementTypeName)) .name() .addParameter(ArrayTypeName.of(elementTypeName), parameterName) .varargs() .nullCheck(parameterName) .statement( "$T $L = new $T<>($L.length)", ParameterizedTypeName.get(ClassName.get(collectionInterface()), elementTypeName), property.name(), collectionImplementation(), parameterName) .beginControlFlow("for (int i = 0; i < elements.length; i++)") .statement("$T e = $L[i]", elementTypeName, parameterName) .nullCheck("e") .statement("$L.add(e)", property.name()) .endControlFlow() .assignment("$T.$L($L)", Collections.class, unmodifiableMethodName(), property.name()) .build(); }
private BuilderProperty of(Property property) { return BuilderProperty.methodBuilder(property) .name() .addParameter(TypeName.INT, "year") .addParameter(TypeName.INT, "month") .addParameter(TypeName.INT, "dayOfMonth") .assignment("$T.of(year, month, dayOfMonth)", LocalDate.class) .build(); }
private BuilderProperty of(Property property) { return BuilderProperty.methodBuilder(property) .name() .addParameter(TypeName.INT, "year") .addParameter(TypeName.INT, "month") .addParameter(TypeName.INT, "dayOfMonth") .assignment("$T.of(year, month, dayOfMonth)", LocalDate.class) .build(); }
private BuilderProperty ofMinute(Property property) { return BuilderProperty.methodBuilder(property) .name() .addParameter(TypeName.INT, "year") .addParameter(TypeName.INT, "month") .addParameter(TypeName.INT, "dayOfMonth") .addParameter(TypeName.INT, "hour") .addParameter(TypeName.INT, "minute") .assignment("$T.of(year, month, dayOfMonth, hour, minute)", LocalDateTime.class) .build(); }
private BuilderProperty empty(Property property) { return BuilderProperty.methodBuilder(property) .name() .assignment("$T.empty()", Optional.class) .build(); }
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(); }
private BuilderProperty empty(Property property) { return BuilderProperty.methodBuilder(property) .name() .assignment("$T.empty()", Optional.class) .build(); }
private BuilderProperty ofSecond(Property property) { return BuilderProperty.methodBuilder(property) .name() .addParameter(TypeName.INT, "year") .addParameter(TypeName.INT, "month") .addParameter(TypeName.INT, "dayOfMonth") .addParameter(TypeName.INT, "hour") .addParameter(TypeName.INT, "minute") .addParameter(TypeName.INT, "second") .assignment("$T.of(year, month, dayOfMonth, hour, minute, second)", LocalDateTime.class) .build(); }
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(); }
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(); }
public BuilderProperty standardBuilderMethod() { return BuilderProperty.methodBuilder(this) .name() .addParameter() .nullCheckIfNecessary() .assignment() .build(); }
private BuilderProperty ofSecond(Property property) { return BuilderProperty.methodBuilder(property) .name() .addParameter(TypeName.INT, "year") .addParameter(TypeName.INT, "month") .addParameter(TypeName.INT, "dayOfMonth") .addParameter(TypeName.INT, "hour") .addParameter(TypeName.INT, "minute") .addParameter(TypeName.INT, "second") .assignment("$T.of(year, month, dayOfMonth, hour, minute, second)", LocalDateTime.class) .build(); }
private BuilderProperty ofMinute(Property property) { return BuilderProperty.methodBuilder(property) .name() .addParameter(TypeName.INT, "year") .addParameter(TypeName.INT, "month") .addParameter(TypeName.INT, "dayOfMonth") .addParameter(TypeName.INT, "hour") .addParameter(TypeName.INT, "minute") .assignment("$T.of(year, month, dayOfMonth, hour, minute)", LocalDateTime.class) .build(); }
public BuilderProperty standardBuilderMethod() { return BuilderProperty.methodBuilder(this) .name() .addParameter() .nullCheckIfNecessary() .assignment() .build(); }