Skip to content

Instantly share code, notes, and snippets.

@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:24
ClaimBuilder using CRTP abbreviated
// imports elided...
public abstract class ClaimBuilder<T extends ClaimBuilder<T>> {
// some fields elided...
protected ClaimBuilder() {
// setting some defaults elided...
}
public T withClaimId(String number) {
// imports elided...
public class OpenButNotNotifiedClaimBuilder extends ClaimBuilder<OpenButNotNotifiedClaimBuilder> {
private ClaimReferenceInCompany referenceInCompany;
private ClaimsOpeningListener claimsOpeningListener;
private OpenButNotNotifiedClaimBuilder() {
super();
}
// some imports elided...
public class ReadyToOpenClaimBuilder extends ClaimBuilder<ReadyToOpenClaimBuilder> {
private Company company;
private ReadyToOpenClaimBuilder() {
super();
}
// imports elided...
public class ClaimDataBuilder extends ClaimBuilder<ClaimDataBuilder> {
private ClaimDataBuilder() {
super();
}
public static ClaimDataBuilder aClaimDto() {
return new ClaimDataBuilder();
}
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:21
ClaimBuilder using generics initial version abbreviated
// imports elided...
public abstract class ClaimBuilder<T> {
// some fields elided...
protected ClaimBuilder() {
// setting some defaults elided...
}
public T withClaimId(String number) {
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:21
before segregating abbreviated
// imports elided...
public class ClaimBuilder {
// some fields elided...
public static ClaimBuilder aClaimReadyToOpen() {
ClaimBuilder builder = new ClaimBuilder();
builder.status = ClaimStatus.ReadyToOpen;
return aClaim(builder);
}
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:20
initial abbreviated
// imports elided...
public class ClaimBuilder {
// some fields elided...
public static ClaimBuilder aClaimToOpen() {
ClaimBuilder builder = new ClaimBuilder();
builder.description = "lalala";
// setting some more defaults elided...
return builder;
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:19
supporting Claim introduction abbreviated
// imports elided...
public class ClaimBuilder {
// some fields elided...
public static ClaimBuilder aClaimToOpen() {
ClaimBuilder builder = new ClaimBuilder();
builder.description = "lalala";
// setting some more defaults elided...
return builder;
@trikitrok
trikitrok / ReadyToOpenClaimBuilder.java
Last active July 30, 2025 07:23
using ClaimBuilder with CRTP
// imports elided...
public class ReadyToOpenClaimBuilder extends ClaimBuilder<ReadyToOpenClaimBuilder> {
private Company company;
private ReadyToOpenClaimBuilder() {
super();
}
describe('case insensitive word to key', () => {
test.each([
["A", "a"],
["Hello", "hello"],
["WORLD", "world"],
["MiXeDcAsE", "mixedcase"],
["PiPa", "pipa"],
["CHACHA", "chacha"],
["Hello123", "hello123"],
[" Space ", " space "],