You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.1 KiB
Java
135 lines
3.1 KiB
Java
package eu.eudat.logic.builders.model.models;
|
|
|
|
import eu.eudat.logic.builders.Builder;
|
|
import eu.eudat.data.entities.UserInfo;
|
|
import eu.eudat.models.data.dmp.DataManagementPlan;
|
|
import eu.eudat.models.data.project.Project;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* Created by ikalyvas on 2/15/2018.
|
|
*/
|
|
public class ProjectBuilder extends Builder<Project> {
|
|
|
|
private UUID id;
|
|
|
|
private List<DataManagementPlan> dmps;
|
|
|
|
private String label;
|
|
|
|
private String abbreviation;
|
|
|
|
private String reference;
|
|
|
|
private String uri;
|
|
|
|
private String definition;
|
|
|
|
private Date startDate;
|
|
|
|
private Date endDate;
|
|
|
|
private eu.eudat.data.entities.Project.Status status;
|
|
|
|
private UserInfo creationUser;
|
|
|
|
private Date created;
|
|
|
|
private Date modified;
|
|
|
|
private String description;
|
|
|
|
public ProjectBuilder id(UUID id) {
|
|
this.id = id;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder dmps(List<DataManagementPlan> dmps) {
|
|
this.dmps = dmps;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder label(String label) {
|
|
this.label = label;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder abbreviation(String abbreviation) {
|
|
this.abbreviation = abbreviation;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder reference(String reference) {
|
|
this.reference = reference;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder uri(String uri) {
|
|
this.uri = uri;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder definition(String definition) {
|
|
this.definition = definition;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder startDate(Date startDate) {
|
|
this.startDate = startDate;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder endDate(Date endDate) {
|
|
this.endDate = endDate;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder status(eu.eudat.data.entities.Project.Status status) {
|
|
this.status = status;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder creationUser(UserInfo creationUser) {
|
|
this.creationUser = creationUser;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder created(Date created) {
|
|
this.created = created;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder modified(Date modified) {
|
|
this.modified = modified;
|
|
return this;
|
|
}
|
|
|
|
public ProjectBuilder description(String description) {
|
|
this.description = description;
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public Project build() {
|
|
Project project = new Project();
|
|
project.setStatus(status.getValue());
|
|
project.setAbbreviation(abbreviation);
|
|
project.setCreated(created);
|
|
project.setCreationUser(creationUser);
|
|
project.setDefinition(definition);
|
|
project.setDescription(description);
|
|
project.setDmps(dmps);
|
|
project.setEndDate(endDate);
|
|
project.setId(id);
|
|
project.setLabel(label);
|
|
project.setModified(modified);
|
|
project.setReference(reference);
|
|
project.setCreationUser(creationUser);
|
|
project.setStartDate(startDate);
|
|
return project;
|
|
}
|
|
}
|