org.hudsonci.rest.model.fault.FaultDTO Maven / Gradle / Ivy
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.05.19 at 02:21:23 PM PDT
//
package org.hudsonci.rest.model.fault;
import java.util.ArrayList;
import java.util.Collection;
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.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import com.flipthebird.gwthashcodeequals.EqualsBuilder;
import com.flipthebird.gwthashcodeequals.HashCodeBuilder;
import org.codehaus.jackson.annotate.JsonProperty;
/**
* Java class for fault complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="fault">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
* <element name="detail" type="{http://hudson-ci.org/xsd/hudson/2.1.0/rest/fault}faultDetail" maxOccurs="unbounded"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "fault", propOrder = {
"id",
"details"
})
@XmlRootElement(name = "fault")
public class FaultDTO {
@XmlElement(required = true)
@JsonProperty("id")
protected String id;
@XmlElement(name = "detail", required = true)
@JsonProperty("details")
protected List details;
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
/**
* Gets the value of the details property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a set
method for the details property.
*
*
* For example, to add a new item, do as follows:
*
* getDetails().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link FaultDetailDTO }
*
*
*/
public List getDetails() {
if (details == null) {
details = new ArrayList();
}
return this.details;
}
public FaultDTO withId(String value) {
setId(value);
return this;
}
public FaultDTO withDetails(FaultDetailDTO... values) {
if (values!= null) {
for (FaultDetailDTO value: values) {
getDetails().add(value);
}
}
return this;
}
public FaultDTO withDetails(Collection values) {
if (values!= null) {
getDetails().addAll(values);
}
return this;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!(obj instanceof FaultDTO)) {
return false;
}
final FaultDTO that = ((FaultDTO) obj);
final EqualsBuilder builder = new EqualsBuilder();
builder.append(this.getId(), that.getId());
builder.append(this.getDetails(), that.getDetails());
return builder.build();
}
@Override
public int hashCode() {
final HashCodeBuilder builder = new HashCodeBuilder();
builder.append(this.getId());
builder.append(this.getDetails());
return builder.build();
}
}