blob: ac18b3d65a0cb65e741eb414b4ffa19d75a783f6 [file] [log] [blame]
package com.intellij.tasks.jira.rest.api20alpha1.model;
import com.intellij.tasks.jira.rest.model.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Date;
import java.util.List;
/**
* @author Mikhail Golubev
*/
public class JiraIssueApi20Alpha1 extends JiraIssue {
private Fields fields;
private String self;
private String key;
@NotNull
@Override
public String getKey() {
return key;
}
@NotNull
@Override
public String getIssueUrl() {
return self;
}
@NotNull
@Override
public String getSummary() {
return fields.summary.getValue();
}
@Nullable
@Override
public String getDescription() {
return fields.description.getValue();
}
@NotNull
@Override
public Date getCreated() {
return fields.created.getValue();
}
@NotNull
@Override
public Date getUpdated() {
return fields.updated.getValue();
}
@Nullable
@Override
public Date getResolutionDate() {
return fields.resolutiondate.getValue();
}
@Nullable
@Override
public Date getDueDate() {
return fields.duedate.getValue();
}
@NotNull
@Override
public JiraIssueType getIssueType() {
return fields.issuetype.getValue();
}
@Nullable
@Override
public JiraUser getAssignee() {
return fields.assignee.getValue();
}
@Nullable
@Override
public JiraUser getReporter() {
return fields.reporter.getValue();
}
@NotNull
@Override
public List<JiraComment> getComments() {
return fields.comment.getValue();
}
@NotNull
@Override
public JiraStatus getStatus() {
return fields.status.getValue();
}
public static class FieldWrapper<T> {
/**
* Serialization constructor
*/
public FieldWrapper() {
// empty
}
public FieldWrapper(T value) {
this.value = value;
}
T value;
public T getValue() {
return value;
}
}
public static class Fields {
private FieldWrapper<JiraUser> reporter;
private FieldWrapper<JiraUser> assignee;
private FieldWrapper<String > summary;
private FieldWrapper<String> description;
private FieldWrapper<Date> created;
private FieldWrapper<Date> updated;
private FieldWrapper<Date> resolutiondate;
private FieldWrapper<Date> duedate;
private FieldWrapper<JiraStatus> status;
private FieldWrapper<JiraIssueType> issuetype;
private FieldWrapper<List<JiraComment>> comment;
}
}