oasis.names.tc.ciq.xpil._3.Addresses Maven / Gradle / Ivy
Show all versions of stix Show documentation
/**
* Copyright (c) 2015, The MITRE Corporation. All rights reserved.
* See LICENSE for complete terms.
*/
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.5-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.07.01 at 03:19:53 PM EDT
//
package oasis.names.tc.ciq.xpil._3;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
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.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
import javax.xml.transform.stream.StreamSource;
import oasis.names.tc.ciq.ct._3.DataQualityTypeList;
import oasis.names.tc.ciq.xal._3.AddressType;
import oasis.names.tc.ciq.xal._3.AddressTypeList;
import oasis.names.tc.ciq.xal._3.AddressUsageList;
import org.jvnet.jaxb2_commons.lang.Equals;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
import org.jvnet.jaxb2_commons.lang.HashCode;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
import org.mitre.stix.DocumentUtilities;
import org.mitre.stix.STIXSchema;
import org.mitre.stix.ValidationEventHandler;
import org.xml.sax.SAXException;
/**
* Java class for anonymous complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="Address" maxOccurs="unbounded">
* <complexType>
* <complexContent>
* <extension base="{urn:oasis:names:tc:ciq:xal:3}AddressType">
* <anyAttribute processContents='lax' namespace='##other'/>
* </extension>
* </complexContent>
* </complexType>
* </element>
* </sequence>
* <anyAttribute processContents='lax' namespace='##other'/>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "addresses" })
@XmlRootElement(name = "Addresses")
public class Addresses implements Equals, HashCode, ToString {
@XmlElement(name = "Address", required = true)
protected List addresses;
@XmlAnyAttribute
private Map otherAttributes = new HashMap();
/**
* Default no-arg constructor
*
*/
public Addresses() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public Addresses(final List addresses,
final Map otherAttributes) {
this.addresses = addresses;
this.otherAttributes = otherAttributes;
}
/**
* Gets the value of the addresses 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 addresses property.
*
*
* For example, to add a new item, do as follows:
*
* getAddresses().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Addresses.Address }
*
*
*/
public List getAddresses() {
if (addresses == null) {
addresses = new ArrayList();
}
return this.addresses;
}
/**
* Gets a map that contains attributes that aren't bound to any typed property on this class.
*
*
* 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 getOtherAttributes() {
return otherAttributes;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator,
Object object, EqualsStrategy strategy) {
if (!(object instanceof Addresses)) {
return false;
}
if (this == object) {
return true;
}
final Addresses that = ((Addresses) object);
{
List lhsAddresses;
lhsAddresses = (((this.addresses != null) && (!this.addresses
.isEmpty())) ? this.getAddresses() : null);
List rhsAddresses;
rhsAddresses = (((that.addresses != null) && (!that.addresses
.isEmpty())) ? that.getAddresses() : null);
if (!strategy.equals(LocatorUtils.property(thisLocator,
"addresses", lhsAddresses), LocatorUtils.property(
thatLocator, "addresses", rhsAddresses), lhsAddresses,
rhsAddresses)) {
return false;
}
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
int currentHashCode = 1;
{
List theAddresses;
theAddresses = (((this.addresses != null) && (!this.addresses
.isEmpty())) ? this.getAddresses() : null);
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "addresses", theAddresses),
currentHashCode, theAddresses);
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public Addresses withAddresses(Addresses.Address... values) {
if (values != null) {
for (Addresses.Address value : values) {
getAddresses().add(value);
}
}
return this;
}
public Addresses withAddresses(Collection values) {
if (values != null) {
getAddresses().addAll(values);
}
return this;
}
public String toString() {
final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator, StringBuilder buffer,
ToStringStrategy strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator,
StringBuilder buffer, ToStringStrategy strategy) {
{
List theAddresses;
theAddresses = (((this.addresses != null) && (!this.addresses
.isEmpty())) ? this.getAddresses() : null);
strategy.appendField(locator, this, "addresses", buffer,
theAddresses);
}
return buffer;
}
/**
* Java class for anonymous complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType>
* <complexContent>
* <extension base="{urn:oasis:names:tc:ciq:xal:3}AddressType">
* <anyAttribute processContents='lax' namespace='##other'/>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public static class Address extends AddressType implements Equals,
HashCode, ToString {
/**
* Default no-arg constructor
*
*/
public Address() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public Address(final AddressType.FreeTextAddress freeTextAddress,
final AddressType.Country country,
final AddressType.AdministrativeArea administrativeArea,
final AddressType.Locality locality,
final AddressType.Thoroughfare thoroughfare,
final AddressType.Premises premises,
final AddressType.PostCode postCode,
final AddressType.RuralDelivery ruralDelivery,
final AddressType.PostalDeliveryPoint postalDeliveryPoint,
final AddressType.PostOffice postOffice,
final AddressType.GeoRSS geoRSS,
final AddressType.LocationByCoordinates locationByCoordinates,
final AddressTypeList externalOasisAddressTypeAttribute,
final String addressID, final String addressIDType,
final String id, final AddressUsageList usage,
final String deliveryMode, final String status,
final String addressKey, final String addressKeyRef,
final String type, final String label, final String href,
final DataQualityTypeList dataQualityType,
final XMLGregorianCalendar validFrom,
final XMLGregorianCalendar validTo,
final XMLGregorianCalendar dateValidFrom,
final XMLGregorianCalendar dateValidTo,
final String languageCode,
final Map otherAttributes) {
super(freeTextAddress, country, administrativeArea, locality,
thoroughfare, premises, postCode, ruralDelivery,
postalDeliveryPoint, postOffice, geoRSS,
locationByCoordinates, externalOasisAddressTypeAttribute,
addressID, addressIDType, id, usage, deliveryMode, status,
addressKey, addressKeyRef, type, label, href,
dataQualityType, validFrom, validTo, dateValidFrom,
dateValidTo, languageCode, otherAttributes);
}
public boolean equals(ObjectLocator thisLocator,
ObjectLocator thatLocator, Object object,
EqualsStrategy strategy) {
if (!(object instanceof Addresses.Address)) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
int currentHashCode = super.hashCode(locator, strategy);
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
@Override
public Addresses.Address withFreeTextAddress(
AddressType.FreeTextAddress value) {
setFreeTextAddress(value);
return this;
}
@Override
public Addresses.Address withCountry(AddressType.Country value) {
setCountry(value);
return this;
}
@Override
public Addresses.Address withAdministrativeArea(
AddressType.AdministrativeArea value) {
setAdministrativeArea(value);
return this;
}
@Override
public Addresses.Address withLocality(AddressType.Locality value) {
setLocality(value);
return this;
}
@Override
public Addresses.Address withThoroughfare(AddressType.Thoroughfare value) {
setThoroughfare(value);
return this;
}
@Override
public Addresses.Address withPremises(AddressType.Premises value) {
setPremises(value);
return this;
}
@Override
public Addresses.Address withPostCode(AddressType.PostCode value) {
setPostCode(value);
return this;
}
@Override
public Addresses.Address withRuralDelivery(
AddressType.RuralDelivery value) {
setRuralDelivery(value);
return this;
}
@Override
public Addresses.Address withPostalDeliveryPoint(
AddressType.PostalDeliveryPoint value) {
setPostalDeliveryPoint(value);
return this;
}
@Override
public Addresses.Address withPostOffice(AddressType.PostOffice value) {
setPostOffice(value);
return this;
}
@Override
public Addresses.Address withGeoRSS(AddressType.GeoRSS value) {
setGeoRSS(value);
return this;
}
@Override
public Addresses.Address withLocationByCoordinates(
AddressType.LocationByCoordinates value) {
setLocationByCoordinates(value);
return this;
}
@Override
public Addresses.Address withExternalOasisAddressTypeAttribute(
AddressTypeList value) {
setExternalOasisAddressTypeAttribute(value);
return this;
}
@Override
public Addresses.Address withAddressID(String value) {
setAddressID(value);
return this;
}
@Override
public Addresses.Address withAddressIDType(String value) {
setAddressIDType(value);
return this;
}
@Override
public Addresses.Address withID(String value) {
setID(value);
return this;
}
@Override
public Addresses.Address withUsage(AddressUsageList value) {
setUsage(value);
return this;
}
@Override
public Addresses.Address withDeliveryMode(String value) {
setDeliveryMode(value);
return this;
}
@Override
public Addresses.Address withStatus(String value) {
setStatus(value);
return this;
}
@Override
public Addresses.Address withAddressKey(String value) {
setAddressKey(value);
return this;
}
@Override
public Addresses.Address withAddressKeyRef(String value) {
setAddressKeyRef(value);
return this;
}
@Override
public Addresses.Address withType(String value) {
setType(value);
return this;
}
@Override
public Addresses.Address withLabel(String value) {
setLabel(value);
return this;
}
@Override
public Addresses.Address withHref(String value) {
setHref(value);
return this;
}
@Override
public Addresses.Address withDataQualityType(DataQualityTypeList value) {
setDataQualityType(value);
return this;
}
@Override
public Addresses.Address withValidFrom(XMLGregorianCalendar value) {
setValidFrom(value);
return this;
}
@Override
public Addresses.Address withValidTo(XMLGregorianCalendar value) {
setValidTo(value);
return this;
}
@Override
public Addresses.Address withDateValidFrom(XMLGregorianCalendar value) {
setDateValidFrom(value);
return this;
}
@Override
public Addresses.Address withDateValidTo(XMLGregorianCalendar value) {
setDateValidTo(value);
return this;
}
@Override
public Addresses.Address withLanguageCode(String value) {
setLanguageCode(value);
return this;
}
public String toString() {
final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator,
StringBuilder buffer, ToStringStrategy strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator,
StringBuilder buffer, ToStringStrategy strategy) {
super.appendFields(locator, buffer, strategy);
return buffer;
}
}
/**
* Returns A Document representation of this instance that is not formatted.
*
* @return The Document representation for this instance.
*/
public org.w3c.dom.Document toDocument() {
return toDocument(false);
}
/**
* Returns A Document representation for this instance.
*
* @param prettyPrint
* True for pretty print, otherwise false
*
* @return The Document representation for this instance.
*/
public org.w3c.dom.Document toDocument(boolean prettyPrint) {
return DocumentUtilities.toDocument(toJAXBElement(), prettyPrint);
}
/**
* Returns JAXBElement for this instance.
*
* @return The JAXBElement for this instance.
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public JAXBElement> toJAXBElement() {
QName qualifiedName = STIXSchema.getQualifiedName(this);
return new JAXBElement(qualifiedName, Addresses.class, this);
}
/**
* Returns String representation of this instance that is not formatted.
*
* @return The String containing the XML mark-up.
*/
public String toXMLString() {
return toXMLString(false);
}
/**
* Returns XML String for JAXB Document Object Model object.
*
* @param prettyPrint
* True for pretty print, otherwise false
*
* @return The String containing the XML mark-up.
*/
public String toXMLString(boolean prettyPrint) {
return DocumentUtilities.toXMLString(toDocument(), prettyPrint);
}
/**
* Creates Addresses instance for XML String
*
* @param text
* XML String for the document
* @return The Addresses instance for the passed XML String
*/
public static Addresses fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(Addresses.class.getPackage()
.getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (Addresses) unmarshaller.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this Addresses instance
* Returning true indicating a successful validation, false if not.
*
* @return boolean True If it validates against the schema
* @throws SAXException
* If the a validation ErrorHandler has not been set, and
* validation throws a SAXException
*/
public boolean validate() throws SAXException {
return STIXSchema.getInstance().validate(toXMLString());
}
}