/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package hu.sch.ejb.test.builder;
import hu.sch.domain.Group;
import hu.sch.domain.Membership;
import hu.sch.domain.user.User;
import java.util.Date;
/**
*
* @author tomi
*/
public class MembershipBuilder extends AbstractBuilder<Membership> {
private User user;
private Group group;
private Date start;
private Date end;
public MembershipBuilder() {
user = new UserBuilder().build();
group = new GroupBuilder().build();
start = new Date();
end = null;
}
public MembershipBuilder withUser(User user) {
this.user = user;
return this;
}
public MembershipBuilder withGroup(Group group) {
this.group = group;
return this;
}
public MembershipBuilder withStart(Date date) {
start = date;
return this;
}
public MembershipBuilder withEnd(Date date) {
end = date;
return this;
}
@Override
public Membership build() {
Membership ms = new Membership();
ms.setStart(start);
ms.setEnd(end);
ms.setUser(user);
ms.setGroup(group);
return ms;
}
}