Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public interface DateBean {
- public Date getDate();
- public DateBean getImmutableInstance();
- public DateBean getMutableInstance();
- }
- public class ImmutableDate implements DateBean {
- private Date date;
- ImmutableDate(Date date) {
- this.date = new Date(date.getTime());
- }
- public Date getDate() {
- return new Date(date.getTime());
- }
- public DateBean getImmutableInstance() {
- return this;
- }
- public DateBean getMutableInstance() {
- MutableDate dateBean = new MutableDate();
- dateBean.setDate(getDate());
- return dateBean;
- }
- }
- public class MutableDate implements DateBean {
- private Date date;
- public Date getDate() {
- return date;
- }
- public void setDate(Date date) {
- this.date = date;
- }
- public DateBean getImmutableInstance() {
- return new ImmutableDate(this.date);
- }
- public DateBean getMutableInstance() {
- MutableDate dateBean = new MutableDate();
- dateBean.setDate(getDate());
- return dateBean;
- }
- }
- public class ImmutableDate implements DateBean
- {
- private DateBean delegate;
- public ImmutableDate(DateBean d)
- {
- this.delegate = d;
- }
- public Date getDate()
- {
- return delegate.getDate();
- }
- }
- public interface DateBean {
- public Date getDate();
- }
- public class ImmutableDate implements DateBean {
- private final long date;
- ImmutableDate(long date) {
- this.date = date;
- }
- ImmutableDate(Date date) {
- this(date.getTime());
- }
- ImmutableDate(DateBean bean) {
- this(bean.getDate());
- }
- public Date getDate() {
- return new Date(date);
- }
- }
- public class MutableDate implements DateBean {
- private long date;
- MutableDate() {}
- MutableDate(long date) {
- this.date = date;
- }
- MutableDate(Date date) {
- this(date.getTime());
- }
- MutableDate(DateBean bean) {
- this(bean.getDate());
- }
- public Date getDate() {
- return new Date(date);
- }
- public void setDate(Date date) {
- this.date = date.getTime();
- }
- }
- public interface User{
- long getId();
- String getName();
- int getAge();
- }
- public interface MutableUser extends User{
- void setName(String name);
- void setAge(int age);
- }
- public void validateUser(User user){
- if(user.getName() == null) ...
- }
- public void updateUserAge(MutableUser user, int age){
- user.setAge(age);
- }
Add Comment
Please, Sign In to add comment