Skip to content

Instantly share code, notes, and snippets.

@trikitrok
Created November 20, 2025 09:27
Show Gist options
  • Select an option

  • Save trikitrok/88ce9749e16444c895e5b4cb56a4055d to your computer and use it in GitHub Desktop.

Select an option

Save trikitrok/88ce9749e16444c895e5b4cb56a4055d to your computer and use it in GitHub Desktop.
// some imports...
public class OpenClaimCommandBuilder {
private Company company;
private ClaimDataBuilder claimBuilder;
private OpenClaimCommandBuilder() {}
public static OpenClaimCommandBuilder anOpenCommand() {
return new OpenClaimCommandBuilder();
}
public OpenClaimCommandBuilder inCompany(Company company) {
this.company = company;
return this;
}
public OpenClaimCommandBuilder of(ClaimDataBuilder claimBuilder) {
this.claimBuilder = claimBuilder;
return this;
}
public ClaimCommand build() {
Objects.requireNonNull(company, "Company must not be null");
Objects.requireNonNull(claimBuilder, "ClaimBuilder must not be null");
return new OpenClaimCommand(
claimBuilder.withStatus(ClaimStatus.ReadyToOpen).build(),
company
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment