Skip to content

Commit

Permalink
Use vararg instead of optional (as a name). (helidon-io#8301)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomas-langer authored Jan 26, 2024
1 parent 6913bba commit 0be9a97
Showing 1 changed file with 11 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
*/
public final class Parameter extends AnnotatedComponent {

private final boolean optional;
private final boolean vararg;
private final List<String> description;

private Parameter(Builder builder) {
super(builder);
this.optional = builder.optional;
this.vararg = builder.vararg;
this.description = List.copyOf(builder.description);
}

Expand All @@ -54,7 +54,7 @@ void writeComponent(ModelWriter writer, Set<String> declaredTokens, ImportOrgani
writer.write(" ");
}
type().writeComponent(writer, declaredTokens, imports, classType);
if (optional) {
if (vararg) {
writer.write("...");
}
writer.write(" " + name());
Expand All @@ -69,13 +69,13 @@ public boolean equals(Object o) {
return false;
}
Parameter parameter = (Parameter) o;
return optional == parameter.optional
return vararg == parameter.vararg
&& type().equals(parameter.type());
}

@Override
public int hashCode() {
return Objects.hash(optional);
return Objects.hash(vararg);
}

@Override
Expand All @@ -92,7 +92,7 @@ List<String> description() {
*/
public static final class Builder extends AnnotatedComponent.Builder<Builder, Parameter> {

private boolean optional = false;
private boolean vararg = false;
private final List<String> description = new ArrayList<>();

private Builder() {
Expand All @@ -107,13 +107,14 @@ public Parameter build() {
}

/**
* Whether this parameter is optional.
* Whether this parameter is a vararg (zero to n repetitions, declared as {@code Object... objects}).
* Note that vararg parameter can be only one per method, and it MUST be the last argument defined.
*
* @param optional optional parameter
* @param vararg whether this is a vararg parameter
* @return updated builder instance
*/
public Builder optional(boolean optional) {
this.optional = optional;
public Builder vararg(boolean vararg) {
this.vararg = vararg;
return this;
}

Expand Down

0 comments on commit 0be9a97

Please sign in to comment.