// // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2016.07.27 at 04:06:37 PM EDT // package us.mil.ces.metadata.ddms._5; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAnyAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import javax.xml.namespace.QName; import org.jvnet.jaxb2_commons.lang.CopyStrategy2; import org.jvnet.jaxb2_commons.lang.CopyTo2; import org.jvnet.jaxb2_commons.lang.Equals2; import org.jvnet.jaxb2_commons.lang.EqualsStrategy2; import org.jvnet.jaxb2_commons.lang.HashCode2; import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2; import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy; import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy; import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy; import org.jvnet.jaxb2_commons.lang.JAXBMergeStrategy; import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy; import org.jvnet.jaxb2_commons.lang.MergeFrom2; import org.jvnet.jaxb2_commons.lang.MergeStrategy2; import org.jvnet.jaxb2_commons.lang.ToString2; import org.jvnet.jaxb2_commons.lang.ToStringStrategy2; import org.jvnet.jaxb2_commons.locator.ObjectLocator; import org.jvnet.jaxb2_commons.locator.util.LocatorUtils; /** * <p>Java class for FormatType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="FormatType"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element ref="{urn:us:mil:ces:metadata:ddms:5}mimeType"/> * <element ref="{urn:us:mil:ces:metadata:ddms:5}extent" minOccurs="0"/> * <element ref="{urn:us:mil:ces:metadata:ddms:5}medium" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "FormatType", propOrder = { "mimeType", "extent", "medium" }) public class FormatType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlElement(required = true) @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "token") @NotNull(message = "FormatType.mimeType {javax.validation.constraints.NotNull.message}") @Size(min = 1) protected String mimeType; @Valid protected QualifiedExtentValueType extent; @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "token") @Size(min = 1) protected String medium; @XmlAnyAttribute private Map<QName, String> otherAttributes = new HashMap<QName, String>(); /** * Gets the value of the mimeType property. * * @return * possible object is * {@link String } * */ public String getMimeType() { return mimeType; } /** * Sets the value of the mimeType property. * * @param value * allowed object is * {@link String } * */ public void setMimeType(String value) { this.mimeType = value; } public boolean isSetMimeType() { return (this.mimeType!= null); } /** * Gets the value of the extent property. * * @return * possible object is * {@link QualifiedExtentValueType } * */ public QualifiedExtentValueType getExtent() { return extent; } /** * Sets the value of the extent property. * * @param value * allowed object is * {@link QualifiedExtentValueType } * */ public void setExtent(QualifiedExtentValueType value) { this.extent = value; } public boolean isSetExtent() { return (this.extent!= null); } /** * Gets the value of the medium property. * * @return * possible object is * {@link String } * */ public String getMedium() { return medium; } /** * Sets the value of the medium property. * * @param value * allowed object is * {@link String } * */ public void setMedium(String value) { this.medium = value; } public boolean isSetMedium() { return (this.medium!= null); } /** * Gets a map that contains attributes that aren't bound to any typed property on this class. * * <p> * the map is keyed by the name of the attribute and * the value is the string value of the attribute. * * the map returned by this method is live, and you can add new attribute * by updating the map directly. Because of this design, there's no setter. * * * @return * always non-null */ public Map<QName, String> getOtherAttributes() { return otherAttributes; } public String toString() { final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE; final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { strategy.appendStart(locator, this, buffer); appendFields(locator, buffer, strategy); strategy.appendEnd(locator, this, buffer); return buffer; } public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { { String theMimeType; theMimeType = this.getMimeType(); strategy.appendField(locator, this, "mimeType", buffer, theMimeType, this.isSetMimeType()); } { QualifiedExtentValueType theExtent; theExtent = this.getExtent(); strategy.appendField(locator, this, "extent", buffer, theExtent, this.isSetExtent()); } { String theMedium; theMedium = this.getMedium(); strategy.appendField(locator, this, "medium", buffer, theMedium, this.isSetMedium()); } return buffer; } public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) { if ((object == null)||(this.getClass()!= object.getClass())) { return false; } if (this == object) { return true; } final FormatType that = ((FormatType) object); { String lhsMimeType; lhsMimeType = this.getMimeType(); String rhsMimeType; rhsMimeType = that.getMimeType(); if (!strategy.equals(LocatorUtils.property(thisLocator, "mimeType", lhsMimeType), LocatorUtils.property(thatLocator, "mimeType", rhsMimeType), lhsMimeType, rhsMimeType, this.isSetMimeType(), that.isSetMimeType())) { return false; } } { QualifiedExtentValueType lhsExtent; lhsExtent = this.getExtent(); QualifiedExtentValueType rhsExtent; rhsExtent = that.getExtent(); if (!strategy.equals(LocatorUtils.property(thisLocator, "extent", lhsExtent), LocatorUtils.property(thatLocator, "extent", rhsExtent), lhsExtent, rhsExtent, this.isSetExtent(), that.isSetExtent())) { return false; } } { String lhsMedium; lhsMedium = this.getMedium(); String rhsMedium; rhsMedium = that.getMedium(); if (!strategy.equals(LocatorUtils.property(thisLocator, "medium", lhsMedium), LocatorUtils.property(thatLocator, "medium", rhsMedium), lhsMedium, rhsMedium, this.isSetMedium(), that.isSetMedium())) { return false; } } return true; } public boolean equals(Object object) { final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE; return equals(null, null, object, strategy); } public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) { int currentHashCode = 1; { String theMimeType; theMimeType = this.getMimeType(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "mimeType", theMimeType), currentHashCode, theMimeType, this.isSetMimeType()); } { QualifiedExtentValueType theExtent; theExtent = this.getExtent(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "extent", theExtent), currentHashCode, theExtent, this.isSetExtent()); } { String theMedium; theMedium = this.getMedium(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "medium", theMedium), currentHashCode, theMedium, this.isSetMedium()); } return currentHashCode; } public int hashCode() { final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE; return this.hashCode(null, strategy); } public Object clone() { return copyTo(createNewInstance()); } public Object copyTo(Object target) { final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE; return copyTo(null, target, strategy); } public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) { final Object draftCopy = ((target == null)?createNewInstance():target); if (draftCopy instanceof FormatType) { final FormatType copy = ((FormatType) draftCopy); { Boolean mimeTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMimeType()); if (mimeTypeShouldBeCopiedAndSet == Boolean.TRUE) { String sourceMimeType; sourceMimeType = this.getMimeType(); String copyMimeType = ((String) strategy.copy(LocatorUtils.property(locator, "mimeType", sourceMimeType), sourceMimeType, this.isSetMimeType())); copy.setMimeType(copyMimeType); } else { if (mimeTypeShouldBeCopiedAndSet == Boolean.FALSE) { copy.mimeType = null; } } } { Boolean extentShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetExtent()); if (extentShouldBeCopiedAndSet == Boolean.TRUE) { QualifiedExtentValueType sourceExtent; sourceExtent = this.getExtent(); QualifiedExtentValueType copyExtent = ((QualifiedExtentValueType) strategy.copy(LocatorUtils.property(locator, "extent", sourceExtent), sourceExtent, this.isSetExtent())); copy.setExtent(copyExtent); } else { if (extentShouldBeCopiedAndSet == Boolean.FALSE) { copy.extent = null; } } } { Boolean mediumShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMedium()); if (mediumShouldBeCopiedAndSet == Boolean.TRUE) { String sourceMedium; sourceMedium = this.getMedium(); String copyMedium = ((String) strategy.copy(LocatorUtils.property(locator, "medium", sourceMedium), sourceMedium, this.isSetMedium())); copy.setMedium(copyMedium); } else { if (mediumShouldBeCopiedAndSet == Boolean.FALSE) { copy.medium = null; } } } } return draftCopy; } public Object createNewInstance() { return new FormatType(); } public void mergeFrom(Object left, Object right) { final MergeStrategy2 strategy = JAXBMergeStrategy.INSTANCE; mergeFrom(null, null, left, right, strategy); } public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy2 strategy) { if (right instanceof FormatType) { final FormatType target = this; final FormatType leftObject = ((FormatType) left); final FormatType rightObject = ((FormatType) right); { Boolean mimeTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMimeType(), rightObject.isSetMimeType()); if (mimeTypeShouldBeMergedAndSet == Boolean.TRUE) { String lhsMimeType; lhsMimeType = leftObject.getMimeType(); String rhsMimeType; rhsMimeType = rightObject.getMimeType(); String mergedMimeType = ((String) strategy.merge(LocatorUtils.property(leftLocator, "mimeType", lhsMimeType), LocatorUtils.property(rightLocator, "mimeType", rhsMimeType), lhsMimeType, rhsMimeType, leftObject.isSetMimeType(), rightObject.isSetMimeType())); target.setMimeType(mergedMimeType); } else { if (mimeTypeShouldBeMergedAndSet == Boolean.FALSE) { target.mimeType = null; } } } { Boolean extentShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetExtent(), rightObject.isSetExtent()); if (extentShouldBeMergedAndSet == Boolean.TRUE) { QualifiedExtentValueType lhsExtent; lhsExtent = leftObject.getExtent(); QualifiedExtentValueType rhsExtent; rhsExtent = rightObject.getExtent(); QualifiedExtentValueType mergedExtent = ((QualifiedExtentValueType) strategy.merge(LocatorUtils.property(leftLocator, "extent", lhsExtent), LocatorUtils.property(rightLocator, "extent", rhsExtent), lhsExtent, rhsExtent, leftObject.isSetExtent(), rightObject.isSetExtent())); target.setExtent(mergedExtent); } else { if (extentShouldBeMergedAndSet == Boolean.FALSE) { target.extent = null; } } } { Boolean mediumShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMedium(), rightObject.isSetMedium()); if (mediumShouldBeMergedAndSet == Boolean.TRUE) { String lhsMedium; lhsMedium = leftObject.getMedium(); String rhsMedium; rhsMedium = rightObject.getMedium(); String mergedMedium = ((String) strategy.merge(LocatorUtils.property(leftLocator, "medium", lhsMedium), LocatorUtils.property(rightLocator, "medium", rhsMedium), lhsMedium, rhsMedium, leftObject.isSetMedium(), rightObject.isSetMedium())); target.setMedium(mergedMedium); } else { if (mediumShouldBeMergedAndSet == Boolean.FALSE) { target.medium = null; } } } } } }