package be.itcooks.dagelijksekost.core.domain.impl;
import be.itcooks.dagelijksekost.core.domain.IActivity;
import be.itcooks.dagelijksekost.core.domain.IQuantity;
public final class Activity implements IActivity {
private final IQuantity duration;
private final ActivityType activityType;
private String description;
private Activity(Builder builder) {
this.duration = builder.duration.build();
this.activityType = builder.activityType;
this.description = builder.description;
}
public IQuantity getDuration() {
return duration;
}
public ActivityType getActivityType() {
return activityType;
}
public String getDescription() {
return description;
}
public static final class Builder {
private final Quantity.Builder duration;
private final ActivityType activityType;
private String description;
public Builder(Quantity.Builder duration, ActivityType activityType) {
this.duration = duration;
this.activityType = activityType;
}
public Builder description(String description) {
this.description = description;
return this;
}
public IActivity build() {
return new Activity(this);
}
}
}
|