package se.bjurr.sbcc.data;
import static com.google.common.base.MoreObjects.firstNonNull;
public class SbccChangeSetBuilder {
public static final SbccPerson DEFAULT_AUTHOR = new SbccPerson("Tomas", "my@email.com");
public static final SbccPerson DEFAULT_COMMITTER = new SbccPerson("Tomas", "my@email.com");
public static SbccChangeSetBuilder changeSetBuilder() {
return new SbccChangeSetBuilder();
}
private SbccPerson author;
private SbccPerson committer;
private String id;
private String message;
private SbccChangeSetBuilder() {}
public SbccChangeSet build() {
return new SbccChangeSet(
this.id,
firstNonNull(this.committer, DEFAULT_COMMITTER),
firstNonNull(this.author, DEFAULT_AUTHOR),
this.message);
}
public SbccChangeSetBuilder withAuthor(SbccPerson author) {
this.author = author;
return this;
}
public SbccChangeSetBuilder withCommitter(SbccPerson committer) {
this.committer = committer;
return this;
}
public SbccChangeSetBuilder withId(String id) {
this.id = id;
return this;
}
public SbccChangeSetBuilder withMessage(String message) {
this.message = message;
return this;
}
}