I created a constructor for the lookup table and used it as shown below.
public class RaceCodeDataBuilder {
private RaceCode raceCode;
public RaceCodeDataBuilder() {
raceCode = new RaceCode();
}
public RaceCodeDataBuilder code(String code) {
raceCode.setCode(code);
return this;
}
public RaceCodeDataBuilder displayName(String displayName) {
raceCode.setDisplayName(displayName);
return this;
}
public RaceCode build() {
return raceCode;
}
}
Using this constructor in a test:
RaceCode mockRaceCode = new RaceCodeDataBuilder()
.code("2054-5")
.displayName("Black or African American")
.build();
I expect that other similar builders will have other similar tables, such as StateCodeBuilder, GenderCodeBuilder, and all of them have only "code" and "displayName", similar to the constructor.
I want to create a common constructor and not create several constructor classes that perform the same task with a different name.
I tried something in generics, but I'm leaving.
public class CodeDataBuilder<T>{
private T t;
public CodeDataBuilder(T t) {
this.t = t;
}
public CodeDataBuilder code(String code) {
raceCode.setCode(code);
return this;
}
public CodeDataBuilder displayName(String displayName) {
raceCode.setDisplayName(displayName);
return this;
}
public T build() {
return t;
}
}
Can someone help me?
Thank.
source
share