package to.rtc.rtc2jira.exporter.jira.entities;
import java.net.URL;
import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.codehaus.jackson.map.annotate.JsonView;
@XmlRootElement
public abstract class BaseEntity {
private String id;
private String key;
private URL self;
private Date created;
protected BaseEntity() {}
protected BaseEntity(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@JsonView(IssueView.Read.class)
public URL getSelf() {
return self;
}
public void setSelf(URL self) {
this.self = self;
}
@JsonView(IssueView.Filtered.class)
abstract public String getPath();
@JsonView(IssueView.Filtered.class)
public String getSelfPath() {
return getPath() + "/" + getId();
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
@XmlJavaTypeAdapter(JiraDateStringAdapter.class)
@JsonView(IssueView.Read.class)
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
}