CreateActivitiesCommand.java
package com.wilzwert.myjobs.core.domain.model.activity.command;
import com.wilzwert.myjobs.core.domain.model.activity.ActivityType;
import com.wilzwert.myjobs.core.domain.model.job.JobId;
import com.wilzwert.myjobs.core.domain.model.user.UserId;
import java.util.List;
/**
* @author Wilhelm Zwertvaegher
*/
public record CreateActivitiesCommand(List<CreateActivityCommand> createActivityCommandList, UserId userId, JobId jobId) {
public static class Builder {
private List<CreateActivityCommand> createActivityCommandList;
private UserId userId;
private JobId jobId;
public Builder() {}
public Builder(CreateActivitiesCommand command) {
this.createActivityCommandList = command.createActivityCommandList();
this.userId = command.userId();
this.jobId = command.jobId();
}
public CreateActivitiesCommand.Builder commandList(List<CreateActivityCommand> createActivityCommandList) {
this.createActivityCommandList = createActivityCommandList;
return this;
}
public CreateActivitiesCommand.Builder userId(UserId userId) {
this.userId = userId;
return this;
}
public CreateActivitiesCommand.Builder jobId(JobId jobId) {
this.jobId = jobId;
return this;
}
public CreateActivitiesCommand build() {
return new CreateActivitiesCommand(createActivityCommandList, userId, jobId);
}
}
}