/** Completion handler for module. */
public final class ModuleCompletion {
private int code; /*
8 more fields defined here
*/
/** Builder class */
public static final class Builder {
private int code; /*
8 more fields defined here
*/
// Fields and methods for building a ModuleCompletion object
public ModuleCompletion build() {
return new ModuleCompletion(this);
}
public Builder code(final int code) {
return this;
}
// Additional builder methods for other fields
}
private ModuleCompletion(final Builder builder) {
this.code = builder.code;
// Initialization of fields from builder
}
/** Gets a generic, empty builder object. */
public static Builder builder() {
return new Builder();
}
/** Gets a failure builder object with a pre-populated job status. */
public static Builder failure() {
return new Builder().jobStatus(Job.Status.FAILURE);
}
/** Gets a success builder object with a pre-populated job status. */
public static Builder success() {
return new Builder().jobStatus(Job.Status.SUCCESS);
}
/** Handles the completion of the module. */
public void completeModule() {
// Logic to complete the module
switch (this.jobStatus) {
case SUCCESS, SUCCESS_WITH_ERRORS -> handleModuleSuccess();
default -> handleModuleFailure();
}
}
private void handleModuleFailure() {
// Logic for handling module failure
}
private void handleModuleSuccess() {
// Logic for handling module success
}
}