Skip to content

Instantly share code, notes, and snippets.

@jhaber
Created June 24, 2020 13:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhaber/1cb1cb9f3a91e5db88106e5a8bf8afd7 to your computer and use it in GitHub Desktop.
Save jhaber/1cb1cb9f3a91e5db88106e5a8bf8afd7 to your computer and use it in GitHub Desktop.
package com.hubspot;
import java.io.Serializable;
import java.util.Objects;
public class SomeClass implements Serializable {
private final long id;
private final String name;
private SomeClass(long id, String name) {
this.id = id;
this.name = name;
}
public static Builder builder() {
return new Builder();
}
public long getId() {
return id;
}
public String getName() {
return name;
}
public static final class Builder {
private Long id = null;
private String name = null;
private Builder() {}
public Builder setId(Long id) {
this.id = id;
return this;
}
public Builder setName(String name) {
this.name = name;
return this;
}
public SomeClass build() {
Objects.requireNonNull(id, "id");
Objects.requireNonNull(name, "name");
return new SomeClass(id, name);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment