package to.rtc.rtc2jira.exporter.jira.entities;
import java.util.Date;
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonView;
/**
* Represents one object of a list, retrieved by resource /project/. <br>
*
* @author Manuel
*/
@XmlRootElement()
@JsonIgnoreProperties({"avatarUrls"})
public class ProjectOverview extends NamedEntity {
private String expand;
private List<IssueType> issuetypes;
// override JsonView
@JsonView(IssueView.Create.class)
public String getKey() {
return super.getKey();
}
// override JsonView
@JsonView(IssueView.Create.class)
public String getId() {
return super.getId();
}
@JsonView(IssueView.Filtered.class)
@Override
public Date getCreated() {
return null;
}
@Override
public void setCreated(Date created) {}
@JsonView(IssueView.Read.class)
public String getExpand() {
return expand;
}
public void setExpand(String expand) {
this.expand = expand;
}
/**
* Only available when called rest method with expand="issuetypes"
*
* @return {@link List} of {@link IssueType}
*/
@JsonView(IssueView.Read.class)
public List<IssueType> getIssuetypes() {
return issuetypes;
}
public void setIssueTypes(List<IssueType> issuetypes) {
this.issuetypes = issuetypes;
}
@Override
public String getPath() {
return "/project";
}
@Override
public String getSelfPath() {
return getPath() + "/" + getKey();
}
}