org.hudsonci.maven.model.state.ArtifactDTO 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: 2011.12.06 at 07:15:37 PM GMT
//
package org.hudsonci.maven.model.state;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.annotation.Generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import com.flipthebird.gwthashcodeequals.EqualsBuilder;
import com.flipthebird.gwthashcodeequals.HashCodeBuilder;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import org.codehaus.jackson.annotate.JsonProperty;
import org.hudsonci.maven.model.MavenCoordinatesDTO;
/**
* Java class for artifact complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="artifact">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="coordinates" type="{http://hudson-ci.org/xsd/hudson/2.1.0/maven/common}mavenCoordinates"/>
* <element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/>
* <element name="action" type="{http://hudson-ci.org/xsd/hudson/2.1.0/maven/state}artifactAction" maxOccurs="unbounded"/>
* <element name="repositoryFile" type="{http://www.w3.org/2001/XMLSchema}string"/>
* <element name="dependentProject" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
* <element name="consumingProject" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
* <element name="archivedFile" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* </sequence>
* <attribute name="createdProject" type="{http://www.w3.org/2001/XMLSchema}string" />
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "artifact", propOrder = {
"coordinates",
"type",
"actions",
"repositoryFile",
"dependentProjects",
"consumingProjects",
"archivedFile"
})
@XStreamAlias("artifact")
@Generated(value = "XJC hudson-jaxb-ri-2.1-2", date = "2011-12-06T19:15:37")
public class ArtifactDTO
implements Serializable
{
private final static long serialVersionUID = 1L;
@XmlElement(required = true)
@JsonProperty("coordinates")
protected MavenCoordinatesDTO coordinates;
@XmlElement(required = true)
@JsonProperty("type")
protected String type;
@XmlElement(name = "action", required = true)
@JsonProperty("actions")
protected List actions;
@XmlElement(required = true)
@JsonProperty("repositoryFile")
protected String repositoryFile;
@XmlElement(name = "dependentProject", required = true)
@JsonProperty("dependentProjects")
protected List dependentProjects;
@XmlElement(name = "consumingProject", required = true)
@JsonProperty("consumingProjects")
protected List consumingProjects;
@JsonProperty("archivedFile")
protected String archivedFile;
@XmlAttribute(name = "createdProject")
@XStreamAsAttribute
@JsonProperty("createdProject")
protected String createdProject;
/**
* Gets the value of the coordinates property.
*
* @return
* possible object is
* {@link MavenCoordinatesDTO }
*
*/
public MavenCoordinatesDTO getCoordinates() {
return coordinates;
}
/**
* Sets the value of the coordinates property.
*
* @param value
* allowed object is
* {@link MavenCoordinatesDTO }
*
*/
public void setCoordinates(MavenCoordinatesDTO value) {
this.coordinates = value;
}
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
/**
* Gets the value of the actions 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 actions property.
*
*
* For example, to add a new item, do as follows:
*
* getActions().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ArtifactActionDTO }
*
*
*/
public List getActions() {
if (actions == null) {
actions = new ArrayList();
}
return this.actions;
}
/**
* Gets the value of the repositoryFile property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getRepositoryFile() {
return repositoryFile;
}
/**
* Sets the value of the repositoryFile property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setRepositoryFile(String value) {
this.repositoryFile = value;
}
/**
* Gets the value of the dependentProjects 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 dependentProjects property.
*
*
* For example, to add a new item, do as follows:
*
* getDependentProjects().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public List getDependentProjects() {
if (dependentProjects == null) {
dependentProjects = new ArrayList();
}
return this.dependentProjects;
}
/**
* Gets the value of the consumingProjects 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 consumingProjects property.
*
*
* For example, to add a new item, do as follows:
*
* getConsumingProjects().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public List getConsumingProjects() {
if (consumingProjects == null) {
consumingProjects = new ArrayList();
}
return this.consumingProjects;
}
/**
* Gets the value of the archivedFile property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getArchivedFile() {
return archivedFile;
}
/**
* Sets the value of the archivedFile property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setArchivedFile(String value) {
this.archivedFile = value;
}
/**
* Gets the value of the createdProject property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCreatedProject() {
return createdProject;
}
/**
* Sets the value of the createdProject property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCreatedProject(String value) {
this.createdProject = value;
}
public ArtifactDTO withCoordinates(MavenCoordinatesDTO value) {
setCoordinates(value);
return this;
}
public ArtifactDTO withType(String value) {
setType(value);
return this;
}
public ArtifactDTO withActions(ArtifactActionDTO... values) {
if (values!= null) {
for (ArtifactActionDTO value: values) {
getActions().add(value);
}
}
return this;
}
public ArtifactDTO withActions(Collection values) {
if (values!= null) {
getActions().addAll(values);
}
return this;
}
public ArtifactDTO withRepositoryFile(String value) {
setRepositoryFile(value);
return this;
}
public ArtifactDTO withDependentProjects(String... values) {
if (values!= null) {
for (String value: values) {
getDependentProjects().add(value);
}
}
return this;
}
public ArtifactDTO withDependentProjects(Collection values) {
if (values!= null) {
getDependentProjects().addAll(values);
}
return this;
}
public ArtifactDTO withConsumingProjects(String... values) {
if (values!= null) {
for (String value: values) {
getConsumingProjects().add(value);
}
}
return this;
}
public ArtifactDTO withConsumingProjects(Collection values) {
if (values!= null) {
getConsumingProjects().addAll(values);
}
return this;
}
public ArtifactDTO withArchivedFile(String value) {
setArchivedFile(value);
return this;
}
public ArtifactDTO withCreatedProject(String value) {
setCreatedProject(value);
return this;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!(obj instanceof ArtifactDTO)) {
return false;
}
final ArtifactDTO that = ((ArtifactDTO) obj);
final EqualsBuilder builder = new EqualsBuilder();
builder.append(this.getCoordinates(), that.getCoordinates());
builder.append(this.getType(), that.getType());
builder.append(this.getActions(), that.getActions());
builder.append(this.getRepositoryFile(), that.getRepositoryFile());
builder.append(this.getDependentProjects(), that.getDependentProjects());
builder.append(this.getConsumingProjects(), that.getConsumingProjects());
builder.append(this.getArchivedFile(), that.getArchivedFile());
builder.append(this.getCreatedProject(), that.getCreatedProject());
return builder.build();
}
@Override
public int hashCode() {
final HashCodeBuilder builder = new HashCodeBuilder();
builder.append(this.getCoordinates());
builder.append(this.getType());
builder.append(this.getActions());
builder.append(this.getRepositoryFile());
builder.append(this.getDependentProjects());
builder.append(this.getConsumingProjects());
builder.append(this.getArchivedFile());
builder.append(this.getCreatedProject());
return builder.build();
}
}