/*
* Copyright (c) 2016 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.model.event;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.emc.storageos.model.DataObjectRestRep;
import com.emc.storageos.model.NamedRelatedResourceRep;
import com.emc.storageos.model.RelatedResourceRep;
import com.emc.storageos.model.adapters.CalendarAdapter;
/**
* REST Response representing an Event.
*/
@XmlRootElement(name = "event")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class EventRestRep extends DataObjectRestRep {
private String description;
private String warning;
private NamedRelatedResourceRep resource;
private String eventStatus;
private String eventCode;
private List<RelatedResourceRep> taskIds;
private List<String> approveDetails;
private List<String> declineDetails;
private Calendar eventExecutionTime;
private RelatedResourceRep tenant;
public EventRestRep() {
}
@XmlElement(name = "tenant")
public RelatedResourceRep getTenant() {
return tenant;
}
public void setTenant(RelatedResourceRep tenant) {
this.tenant = tenant;
}
@XmlElement(name = "description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@XmlElement(name = "warning")
public String getWarning() {
return warning;
}
public void setWarning(String warning) {
this.warning = warning;
}
@XmlElement(name = "resource")
public NamedRelatedResourceRep getResource() {
return resource;
}
public void setResource(NamedRelatedResourceRep resource) {
this.resource = resource;
}
@XmlElement(name = "event_status")
public String getEventStatus() {
return eventStatus;
}
public void setEventStatus(String status) {
this.eventStatus = status;
}
@XmlElement(name = "event_code")
public String getEventCode() {
return eventCode;
}
public void setEventCode(String eventCode) {
this.eventCode = eventCode;
}
@XmlElementWrapper(name = "task_ids")
@XmlElement(name = "task_id")
public List<RelatedResourceRep> getTaskIds() {
if (taskIds == null) {
taskIds = new ArrayList<RelatedResourceRep>();
}
return taskIds;
}
public void setTaskIds(List<RelatedResourceRep> taskIds) {
this.taskIds = taskIds;
}
@XmlElementWrapper(name = "approve_details")
@XmlElement(name = "approve_detail")
public List<String> getApproveDetails() {
return approveDetails;
}
public void setApproveDetails(List<String> approveDetails) {
this.approveDetails = approveDetails;
}
@XmlElementWrapper(name = "decline_details")
@XmlElement(name = "decline_detail")
public List<String> getDeclineDetails() {
return declineDetails;
}
public void setDeclineDetails(List<String> declineDetails) {
this.declineDetails = declineDetails;
}
@XmlElement(name = "event_execution_time")
@XmlJavaTypeAdapter(CalendarAdapter.class)
public Calendar getEventExecutionTime() {
return eventExecutionTime;
}
public void setEventExecutionTime(Calendar eventExecutionTime) {
this.eventExecutionTime = eventExecutionTime;
}
}