97 lines
1.9 KiB
Java
97 lines
1.9 KiB
Java
package com.monkeyk.sos.domain;
|
|
|
|
import com.monkeyk.sos.infrastructure.DateUtils;
|
|
import com.monkeyk.sos.domain.shared.GuidGenerator;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.Date;
|
|
|
|
/**
|
|
* @author Shengzhao Li
|
|
*/
|
|
public abstract class AbstractDomain implements Serializable {
|
|
|
|
/**
|
|
* Database id
|
|
*/
|
|
protected int id;
|
|
|
|
protected boolean archived;
|
|
/**
|
|
* Domain business guid.
|
|
*/
|
|
protected String guid = GuidGenerator.generate();
|
|
|
|
/**
|
|
* The domain create time.
|
|
*/
|
|
protected Date createTime = DateUtils.now();
|
|
|
|
public AbstractDomain() {
|
|
}
|
|
|
|
public int id() {
|
|
return id;
|
|
}
|
|
|
|
public void id(int id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public boolean archived() {
|
|
return archived;
|
|
}
|
|
|
|
public AbstractDomain archived(boolean archived) {
|
|
this.archived = archived;
|
|
return this;
|
|
}
|
|
|
|
public String guid() {
|
|
return guid;
|
|
}
|
|
|
|
public void guid(String guid) {
|
|
this.guid = guid;
|
|
}
|
|
|
|
public Date createTime() {
|
|
return createTime;
|
|
}
|
|
|
|
public boolean isNewly() {
|
|
return id == 0;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) {
|
|
return true;
|
|
}
|
|
if (!(o instanceof AbstractDomain)) {
|
|
return false;
|
|
}
|
|
AbstractDomain that = (AbstractDomain) o;
|
|
return guid.equals(that.guid);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return guid.hashCode();
|
|
}
|
|
|
|
//For subclass override it
|
|
public void saveOrUpdate() {
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
final StringBuilder sb = new StringBuilder();
|
|
sb.append("{id=").append(id);
|
|
sb.append(", archived=").append(archived);
|
|
sb.append(", guid='").append(guid).append('\'');
|
|
sb.append(", createTime=").append(createTime);
|
|
sb.append('}');
|
|
return sb.toString();
|
|
}
|
|
} |