All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.micromata.opengis.kml.v_2_2_0.xal.Thoroughfare Maven / Gradle / Ivy


package de.micromata.opengis.kml.v_2_2_0.xal;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyAttribute;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlRootElement;
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;


/**
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "addressLine",
    "thoroughfareNumberOrThoroughfareNumberRange",
    "thoroughfareNumberPrefix",
    "thoroughfareNumberSuffix",
    "thoroughfarePreDirection",
    "thoroughfareLeading",
    "thoroughfareName",
    "thoroughfareTrailing",
    "thoroughfarePostDirection",
    "dependentThoroughfare",
    "dependentLocality",
    "premise",
    "firm",
    "postalCode",
    "any"
})
@XmlRootElement(name = "Thoroughfare")
public class Thoroughfare implements Cloneable
{

    @XmlElement(name = "AddressLine")
    protected List addressLine;
    @XmlElements({
        @XmlElement(name = "ThoroughfareNumberRange", type = Thoroughfare.ThoroughfareNumberRange.class),
        @XmlElement(name = "ThoroughfareNumber", type = ThoroughfareNumber.class)
    })
    protected List thoroughfareNumberOrThoroughfareNumberRange;
    @XmlElement(name = "ThoroughfareNumberPrefix")
    protected List thoroughfareNumberPrefix;
    @XmlElement(name = "ThoroughfareNumberSuffix")
    protected List thoroughfareNumberSuffix;
    @XmlElement(name = "ThoroughfarePreDirection")
    protected ThoroughfarePreDirection thoroughfarePreDirection;
    @XmlElement(name = "ThoroughfareLeadingType")
    protected ThoroughfareLeadingType thoroughfareLeading;
    @XmlElement(name = "ThoroughfareName")
    protected List thoroughfareName;
    @XmlElement(name = "ThoroughfareTrailingType")
    protected ThoroughfareTrailingType thoroughfareTrailing;
    @XmlElement(name = "ThoroughfarePostDirection")
    protected ThoroughfarePostDirection thoroughfarePostDirection;
    @XmlElement(name = "DependentThoroughfare")
    protected Thoroughfare.DependentThoroughfare dependentThoroughfare;
    @XmlElement(name = "DependentLocality")
    protected DependentLocality dependentLocality;
    @XmlElement(name = "Premise")
    protected Premise premise;
    @XmlElement(name = "Firm")
    protected Firm firm;
    @XmlElement(name = "PostalCode")
    protected PostalCode postalCode;
    @XmlAnyElement(lax = true)
    protected List any;
    @XmlAttribute(name = "Type")
    @XmlSchemaType(name = "anySimpleType")
    protected String underscore;
    @XmlAttribute(name = "DependentThoroughfares")
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String xalDependentThoroughfares;
    @XmlAttribute(name = "DependentThoroughfaresIndicator")
    @XmlSchemaType(name = "anySimpleType")
    protected String dependentThoroughfaresIndicator;
    @XmlAttribute(name = "DependentThoroughfaresConnector")
    @XmlSchemaType(name = "anySimpleType")
    protected String dependentThoroughfaresConnector;
    @XmlAttribute(name = "DependentThoroughfaresType")
    @XmlSchemaType(name = "anySimpleType")
    protected String dependentThoroughfares;
    @XmlAnyAttribute
    private Map otherAttributes = new HashMap();

    /**
     * Value constructor with only mandatory fields
     * 
     * @param postalCode
     *     required parameter
     * @param premise
     *     required parameter
     * @param firm
     *     required parameter
     * @param dependentLocality
     *     required parameter
     */
    public Thoroughfare(final DependentLocality dependentLocality, final Premise premise, final Firm firm, final PostalCode postalCode) {
        super();
        this.dependentLocality = dependentLocality;
        this.premise = premise;
        this.firm = firm;
        this.postalCode = postalCode;
    }

    /**
     * Default no-arg constructor is private. Use overloaded constructor instead! (Temporary solution, till a better and more suitable ObjectFactory is created.) 
     * 
     */
    @Deprecated
    private Thoroughfare() {
        super();
    }

    /**
     * 
     */
    public List getAddressLine() {
        if (addressLine == null) {
            addressLine = new ArrayList();
        }
        return this.addressLine;
    }

    /**
     * 
     */
    public List getThoroughfareNumberOrThoroughfareNumberRange() {
        if (thoroughfareNumberOrThoroughfareNumberRange == null) {
            thoroughfareNumberOrThoroughfareNumberRange = new ArrayList();
        }
        return this.thoroughfareNumberOrThoroughfareNumberRange;
    }

    /**
     * 
     */
    public List getThoroughfareNumberPrefix() {
        if (thoroughfareNumberPrefix == null) {
            thoroughfareNumberPrefix = new ArrayList();
        }
        return this.thoroughfareNumberPrefix;
    }

    /**
     * 
     */
    public List getThoroughfareNumberSuffix() {
        if (thoroughfareNumberSuffix == null) {
            thoroughfareNumberSuffix = new ArrayList();
        }
        return this.thoroughfareNumberSuffix;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link ThoroughfarePreDirection}
     *     
     */
    public ThoroughfarePreDirection getThoroughfarePreDirection() {
        return thoroughfarePreDirection;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link ThoroughfarePreDirection}
     *     
     */
    public void setThoroughfarePreDirection(ThoroughfarePreDirection value) {
        this.thoroughfarePreDirection = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link ThoroughfareLeadingType}
     *     
     */
    public ThoroughfareLeadingType getThoroughfareLeading() {
        return thoroughfareLeading;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link ThoroughfareLeadingType}
     *     
     */
    public void setThoroughfareLeading(ThoroughfareLeadingType value) {
        this.thoroughfareLeading = value;
    }

    /**
     * 
     */
    public List getThoroughfareName() {
        if (thoroughfareName == null) {
            thoroughfareName = new ArrayList();
        }
        return this.thoroughfareName;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link ThoroughfareTrailingType}
     *     
     */
    public ThoroughfareTrailingType getThoroughfareTrailing() {
        return thoroughfareTrailing;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link ThoroughfareTrailingType}
     *     
     */
    public void setThoroughfareTrailing(ThoroughfareTrailingType value) {
        this.thoroughfareTrailing = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link ThoroughfarePostDirection}
     *     
     */
    public ThoroughfarePostDirection getThoroughfarePostDirection() {
        return thoroughfarePostDirection;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link ThoroughfarePostDirection}
     *     
     */
    public void setThoroughfarePostDirection(ThoroughfarePostDirection value) {
        this.thoroughfarePostDirection = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link Thoroughfare.DependentThoroughfare}
     *     
     */
    public Thoroughfare.DependentThoroughfare getDependentThoroughfare() {
        return dependentThoroughfare;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link Thoroughfare.DependentThoroughfare}
     *     
     */
    public void setDependentThoroughfare(Thoroughfare.DependentThoroughfare value) {
        this.dependentThoroughfare = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link DependentLocality}
     *     
     */
    public DependentLocality getDependentLocality() {
        return dependentLocality;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link DependentLocality}
     *     
     */
    public void setDependentLocality(DependentLocality value) {
        this.dependentLocality = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link Premise}
     *     
     */
    public Premise getPremise() {
        return premise;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link Premise}
     *     
     */
    public void setPremise(Premise value) {
        this.premise = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link Firm}
     *     
     */
    public Firm getFirm() {
        return firm;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link Firm}
     *     
     */
    public void setFirm(Firm value) {
        this.firm = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link PostalCode}
     *     
     */
    public PostalCode getPostalCode() {
        return postalCode;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link PostalCode}
     *     
     */
    public void setPostalCode(PostalCode value) {
        this.postalCode = value;
    }

    /**
     * 
     */
    public List getAny() {
        if (any == null) {
            any = new ArrayList();
        }
        return this.any;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link String}
     *     
     */
    public String getUnderscore() {
        return underscore;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link String}
     *     
     */
    public void setUnderscore(String value) {
        this.underscore = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link String}
     *     
     */
    public String getXalDependentThoroughfares() {
        return xalDependentThoroughfares;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link String}
     *     
     */
    public void setXalDependentThoroughfares(String value) {
        this.xalDependentThoroughfares = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link String}
     *     
     */
    public String getDependentThoroughfaresIndicator() {
        return dependentThoroughfaresIndicator;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link String}
     *     
     */
    public void setDependentThoroughfaresIndicator(String value) {
        this.dependentThoroughfaresIndicator = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link String}
     *     
     */
    public String getDependentThoroughfaresConnector() {
        return dependentThoroughfaresConnector;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link String}
     *     
     */
    public void setDependentThoroughfaresConnector(String value) {
        this.dependentThoroughfaresConnector = value;
    }

    /**
     * 
     * @return
     *     possible object is
     *     {@link String}
     *     
     */
    public String getDependentThoroughfares() {
        return dependentThoroughfares;
    }

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link String}
     *     
     */
    public void setDependentThoroughfares(String value) {
        this.dependentThoroughfares = value;
    }

    /**
     * 
     * @return
     *     always non-null
     */
    public Map getOtherAttributes() {
        return otherAttributes;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = ((prime*result)+((addressLine == null)? 0 :addressLine.hashCode()));
        result = ((prime*result)+((thoroughfareNumberOrThoroughfareNumberRange == null)? 0 :thoroughfareNumberOrThoroughfareNumberRange.hashCode()));
        result = ((prime*result)+((thoroughfareNumberPrefix == null)? 0 :thoroughfareNumberPrefix.hashCode()));
        result = ((prime*result)+((thoroughfareNumberSuffix == null)? 0 :thoroughfareNumberSuffix.hashCode()));
        result = ((prime*result)+((thoroughfarePreDirection == null)? 0 :thoroughfarePreDirection.hashCode()));
        result = ((prime*result)+((thoroughfareLeading == null)? 0 :thoroughfareLeading.hashCode()));
        result = ((prime*result)+((thoroughfareName == null)? 0 :thoroughfareName.hashCode()));
        result = ((prime*result)+((thoroughfareTrailing == null)? 0 :thoroughfareTrailing.hashCode()));
        result = ((prime*result)+((thoroughfarePostDirection == null)? 0 :thoroughfarePostDirection.hashCode()));
        result = ((prime*result)+((dependentThoroughfare == null)? 0 :dependentThoroughfare.hashCode()));
        result = ((prime*result)+((dependentLocality == null)? 0 :dependentLocality.hashCode()));
        result = ((prime*result)+((premise == null)? 0 :premise.hashCode()));
        result = ((prime*result)+((firm == null)? 0 :firm.hashCode()));
        result = ((prime*result)+((postalCode == null)? 0 :postalCode.hashCode()));
        result = ((prime*result)+((any == null)? 0 :any.hashCode()));
        result = ((prime*result)+((underscore == null)? 0 :underscore.hashCode()));
        result = ((prime*result)+((xalDependentThoroughfares == null)? 0 :xalDependentThoroughfares.hashCode()));
        result = ((prime*result)+((dependentThoroughfaresIndicator == null)? 0 :dependentThoroughfaresIndicator.hashCode()));
        result = ((prime*result)+((dependentThoroughfaresConnector == null)? 0 :dependentThoroughfaresConnector.hashCode()));
        result = ((prime*result)+((dependentThoroughfares == null)? 0 :dependentThoroughfares.hashCode()));
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if ((obj instanceof Thoroughfare) == false) {
            return false;
        }
        Thoroughfare other = ((Thoroughfare) obj);
        if (addressLine == null) {
            if (other.addressLine!= null) {
                return false;
            }
        } else {
            if (addressLine.equals(other.addressLine) == false) {
                return false;
            }
        }
        if (thoroughfareNumberOrThoroughfareNumberRange == null) {
            if (other.thoroughfareNumberOrThoroughfareNumberRange!= null) {
                return false;
            }
        } else {
            if (thoroughfareNumberOrThoroughfareNumberRange.equals(other.thoroughfareNumberOrThoroughfareNumberRange) == false) {
                return false;
            }
        }
        if (thoroughfareNumberPrefix == null) {
            if (other.thoroughfareNumberPrefix!= null) {
                return false;
            }
        } else {
            if (thoroughfareNumberPrefix.equals(other.thoroughfareNumberPrefix) == false) {
                return false;
            }
        }
        if (thoroughfareNumberSuffix == null) {
            if (other.thoroughfareNumberSuffix!= null) {
                return false;
            }
        } else {
            if (thoroughfareNumberSuffix.equals(other.thoroughfareNumberSuffix) == false) {
                return false;
            }
        }
        if (thoroughfarePreDirection == null) {
            if (other.thoroughfarePreDirection!= null) {
                return false;
            }
        } else {
            if (thoroughfarePreDirection.equals(other.thoroughfarePreDirection) == false) {
                return false;
            }
        }
        if (thoroughfareLeading == null) {
            if (other.thoroughfareLeading!= null) {
                return false;
            }
        } else {
            if (thoroughfareLeading.equals(other.thoroughfareLeading) == false) {
                return false;
            }
        }
        if (thoroughfareName == null) {
            if (other.thoroughfareName!= null) {
                return false;
            }
        } else {
            if (thoroughfareName.equals(other.thoroughfareName) == false) {
                return false;
            }
        }
        if (thoroughfareTrailing == null) {
            if (other.thoroughfareTrailing!= null) {
                return false;
            }
        } else {
            if (thoroughfareTrailing.equals(other.thoroughfareTrailing) == false) {
                return false;
            }
        }
        if (thoroughfarePostDirection == null) {
            if (other.thoroughfarePostDirection!= null) {
                return false;
            }
        } else {
            if (thoroughfarePostDirection.equals(other.thoroughfarePostDirection) == false) {
                return false;
            }
        }
        if (dependentThoroughfare == null) {
            if (other.dependentThoroughfare!= null) {
                return false;
            }
        } else {
            if (dependentThoroughfare.equals(other.dependentThoroughfare) == false) {
                return false;
            }
        }
        if (dependentLocality == null) {
            if (other.dependentLocality!= null) {
                return false;
            }
        } else {
            if (dependentLocality.equals(other.dependentLocality) == false) {
                return false;
            }
        }
        if (premise == null) {
            if (other.premise!= null) {
                return false;
            }
        } else {
            if (premise.equals(other.premise) == false) {
                return false;
            }
        }
        if (firm == null) {
            if (other.firm!= null) {
                return false;
            }
        } else {
            if (firm.equals(other.firm) == false) {
                return false;
            }
        }
        if (postalCode == null) {
            if (other.postalCode!= null) {
                return false;
            }
        } else {
            if (postalCode.equals(other.postalCode) == false) {
                return false;
            }
        }
        if (any == null) {
            if (other.any!= null) {
                return false;
            }
        } else {
            if (any.equals(other.any) == false) {
                return false;
            }
        }
        if (underscore == null) {
            if (other.underscore!= null) {
                return false;
            }
        } else {
            if (underscore.equals(other.underscore) == false) {
                return false;
            }
        }
        if (xalDependentThoroughfares == null) {
            if (other.xalDependentThoroughfares!= null) {
                return false;
            }
        } else {
            if (xalDependentThoroughfares.equals(other.xalDependentThoroughfares) == false) {
                return false;
            }
        }
        if (dependentThoroughfaresIndicator == null) {
            if (other.dependentThoroughfaresIndicator!= null) {
                return false;
            }
        } else {
            if (dependentThoroughfaresIndicator.equals(other.dependentThoroughfaresIndicator) == false) {
                return false;
            }
        }
        if (dependentThoroughfaresConnector == null) {
            if (other.dependentThoroughfaresConnector!= null) {
                return false;
            }
        } else {
            if (dependentThoroughfaresConnector.equals(other.dependentThoroughfaresConnector) == false) {
                return false;
            }
        }
        if (dependentThoroughfares == null) {
            if (other.dependentThoroughfares!= null) {
                return false;
            }
        } else {
            if (dependentThoroughfares.equals(other.dependentThoroughfares) == false) {
                return false;
            }
        }
        return true;
    }

    /**
     * Creates a new instance of {@link AddressLine} and adds it to addressLine.
     * This method is a short version for:
     * 
     * AddressLine addressLine = new AddressLine();
     * this.getAddressLine().add(addressLine); 
     * 
     * 
     */
    public AddressLine createAndAddAddressLine() {
        AddressLine newValue = new AddressLine();
        this.getAddressLine().add(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfareNumberPrefix} and adds it to thoroughfareNumberPrefix.
     * This method is a short version for:
     * 
     * ThoroughfareNumberPrefix thoroughfareNumberPrefix = new ThoroughfareNumberPrefix();
     * this.getThoroughfareNumberPrefix().add(thoroughfareNumberPrefix); 
     * 
     * 
     */
    public ThoroughfareNumberPrefix createAndAddThoroughfareNumberPrefix() {
        ThoroughfareNumberPrefix newValue = new ThoroughfareNumberPrefix();
        this.getThoroughfareNumberPrefix().add(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfareNumberSuffix} and adds it to thoroughfareNumberSuffix.
     * This method is a short version for:
     * 
     * ThoroughfareNumberSuffix thoroughfareNumberSuffix = new ThoroughfareNumberSuffix();
     * this.getThoroughfareNumberSuffix().add(thoroughfareNumberSuffix); 
     * 
     * 
     */
    public ThoroughfareNumberSuffix createAndAddThoroughfareNumberSuffix() {
        ThoroughfareNumberSuffix newValue = new ThoroughfareNumberSuffix();
        this.getThoroughfareNumberSuffix().add(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfarePreDirection} and set it to thoroughfarePreDirection.
     * 
     * This method is a short version for:
     * 
     * ThoroughfarePreDirection thoroughfarePreDirection = new ThoroughfarePreDirection();
     * this.setThoroughfarePreDirection(thoroughfarePreDirection); 
     * 
     * 
     */
    public ThoroughfarePreDirection createAndSetThoroughfarePreDirection() {
        ThoroughfarePreDirection newValue = new ThoroughfarePreDirection();
        this.setThoroughfarePreDirection(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfareLeadingType} and set it to thoroughfareLeading.
     * 
     * This method is a short version for:
     * 
     * ThoroughfareLeadingType thoroughfareLeadingType = new ThoroughfareLeadingType();
     * this.setThoroughfareLeading(thoroughfareLeadingType); 
     * 
     * 
     */
    public ThoroughfareLeadingType createAndSetThoroughfareLeading() {
        ThoroughfareLeadingType newValue = new ThoroughfareLeadingType();
        this.setThoroughfareLeading(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfareName} and adds it to thoroughfareName.
     * This method is a short version for:
     * 
     * ThoroughfareName thoroughfareName = new ThoroughfareName();
     * this.getThoroughfareName().add(thoroughfareName); 
     * 
     * 
     */
    public ThoroughfareName createAndAddThoroughfareName() {
        ThoroughfareName newValue = new ThoroughfareName();
        this.getThoroughfareName().add(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfareTrailingType} and set it to thoroughfareTrailing.
     * 
     * This method is a short version for:
     * 
     * ThoroughfareTrailingType thoroughfareTrailingType = new ThoroughfareTrailingType();
     * this.setThoroughfareTrailing(thoroughfareTrailingType); 
     * 
     * 
     */
    public ThoroughfareTrailingType createAndSetThoroughfareTrailing() {
        ThoroughfareTrailingType newValue = new ThoroughfareTrailingType();
        this.setThoroughfareTrailing(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link ThoroughfarePostDirection} and set it to thoroughfarePostDirection.
     * 
     * This method is a short version for:
     * 
     * ThoroughfarePostDirection thoroughfarePostDirection = new ThoroughfarePostDirection();
     * this.setThoroughfarePostDirection(thoroughfarePostDirection); 
     * 
     * 
     */
    public ThoroughfarePostDirection createAndSetThoroughfarePostDirection() {
        ThoroughfarePostDirection newValue = new ThoroughfarePostDirection();
        this.setThoroughfarePostDirection(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link Thoroughfare.DependentThoroughfare} and set it to dependentThoroughfare.
     * 
     * This method is a short version for:
     * 
     * DependentThoroughfare dependentThoroughfare = new DependentThoroughfare();
     * this.setDependentThoroughfare(dependentThoroughfare); 
     * 
     * 
     */
    public Thoroughfare.DependentThoroughfare createAndSetDependentThoroughfare() {
        Thoroughfare.DependentThoroughfare newValue = new Thoroughfare.DependentThoroughfare();
        this.setDependentThoroughfare(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link DependentLocality} and set it to dependentLocality.
     * 
     * This method is a short version for:
     * 
     * DependentLocality dependentLocality = new DependentLocality();
     * this.setDependentLocality(dependentLocality); 
     * 
     * 
     * @param postBox
     *     required parameter
     * @param postOffice
     *     required parameter
     * @param postalRoute
     *     required parameter
     * @param largeMailUser
     *     required parameter
     */
    public DependentLocality createAndSetDependentLocality(final PostBox postBox, final LargeMailUser largeMailUser, final PostOffice postOffice, final PostalRoute postalRoute) {
        DependentLocality newValue = new DependentLocality(postBox, largeMailUser, postOffice, postalRoute);
        this.setDependentLocality(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link Premise} and set it to premise.
     * 
     * This method is a short version for:
     * 
     * Premise premise = new Premise();
     * this.setPremise(premise); 
     * 
     * 
     * @param premiseNumber
     *     required parameter
     * @param premiseNumberRange
     *     required parameter
     * @param premiseLocation
     *     required parameter
     */
    public Premise createAndSetPremise(final Premise.PremiseLocation premiseLocation, final List premiseNumber, final Premise.PremiseNumberRange premiseNumberRange) {
        Premise newValue = new Premise(premiseLocation, premiseNumber, premiseNumberRange);
        this.setPremise(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link Firm} and set it to firm.
     * 
     * This method is a short version for:
     * 
     * Firm firm = new Firm();
     * this.setFirm(firm); 
     * 
     * 
     */
    public Firm createAndSetFirm() {
        Firm newValue = new Firm();
        this.setFirm(newValue);
        return newValue;
    }

    /**
     * Creates a new instance of {@link PostalCode} and set it to postalCode.
     * 
     * This method is a short version for:
     * 
     * PostalCode postalCode = new PostalCode();
     * this.setPostalCode(postalCode); 
     * 
     * 
     */
    public PostalCode createAndSetPostalCode() {
        PostalCode newValue = new PostalCode();
        this.setPostalCode(newValue);
        return newValue;
    }

    /**
     * Sets the value of the addressLine property Objects of the following type(s) are allowed in the list List.
     * 

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withAddressLine} instead. * * * @param addressLine */ public void setAddressLine(final List addressLine) { this.addressLine = addressLine; } /** * add a value to the addressLine property collection * * @param addressLine * Objects of the following type are allowed in the list: {@link AddressLine} * @return * true (as general contract of Collection.add). */ public Thoroughfare addToAddressLine(final AddressLine addressLine) { this.getAddressLine().add(addressLine); return this; } /** * Sets the value of the thoroughfareNumberOrThoroughfareNumberRange property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withThoroughfareNumberOrThoroughfareNumberRange} instead. * * * @param thoroughfareNumberOrThoroughfareNumberRange */ public void setThoroughfareNumberOrThoroughfareNumberRange(final List thoroughfareNumberOrThoroughfareNumberRange) { this.thoroughfareNumberOrThoroughfareNumberRange = thoroughfareNumberOrThoroughfareNumberRange; } /** * add a value to the thoroughfareNumberOrThoroughfareNumberRange property collection * * @param thoroughfareNumberOrThoroughfareNumberRange * Objects of the following type are allowed in the list: {@link Thoroughfare.ThoroughfareNumberRange}{@link ThoroughfareNumber} * @return * true (as general contract of Collection.add). */ public Thoroughfare addToThoroughfareNumberOrThoroughfareNumberRange(final Object thoroughfareNumberOrThoroughfareNumberRange) { this.getThoroughfareNumberOrThoroughfareNumberRange().add(thoroughfareNumberOrThoroughfareNumberRange); return this; } /** * Sets the value of the thoroughfareNumberPrefix property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withThoroughfareNumberPrefix} instead. * * * @param thoroughfareNumberPrefix */ public void setThoroughfareNumberPrefix(final List thoroughfareNumberPrefix) { this.thoroughfareNumberPrefix = thoroughfareNumberPrefix; } /** * add a value to the thoroughfareNumberPrefix property collection * * @param thoroughfareNumberPrefix * Objects of the following type are allowed in the list: {@link ThoroughfareNumberPrefix} * @return * true (as general contract of Collection.add). */ public Thoroughfare addToThoroughfareNumberPrefix(final ThoroughfareNumberPrefix thoroughfareNumberPrefix) { this.getThoroughfareNumberPrefix().add(thoroughfareNumberPrefix); return this; } /** * Sets the value of the thoroughfareNumberSuffix property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withThoroughfareNumberSuffix} instead. * * * @param thoroughfareNumberSuffix */ public void setThoroughfareNumberSuffix(final List thoroughfareNumberSuffix) { this.thoroughfareNumberSuffix = thoroughfareNumberSuffix; } /** * add a value to the thoroughfareNumberSuffix property collection * * @param thoroughfareNumberSuffix * Objects of the following type are allowed in the list: {@link ThoroughfareNumberSuffix} * @return * true (as general contract of Collection.add). */ public Thoroughfare addToThoroughfareNumberSuffix(final ThoroughfareNumberSuffix thoroughfareNumberSuffix) { this.getThoroughfareNumberSuffix().add(thoroughfareNumberSuffix); return this; } /** * Sets the value of the thoroughfareName property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withThoroughfareName} instead. * * * @param thoroughfareName */ public void setThoroughfareName(final List thoroughfareName) { this.thoroughfareName = thoroughfareName; } /** * add a value to the thoroughfareName property collection * * @param thoroughfareName * Objects of the following type are allowed in the list: {@link ThoroughfareName} * @return * true (as general contract of Collection.add). */ public Thoroughfare addToThoroughfareName(final ThoroughfareName thoroughfareName) { this.getThoroughfareName().add(thoroughfareName); return this; } /** * Sets the value of the any property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withAny} instead. * * * @param any */ public void setAny(final List any) { this.any = any; } /** * add a value to the any property collection * * @param any * Objects of the following type are allowed in the list: {@link Object} * @return * true (as general contract of Collection.add). */ public Thoroughfare addToAny(final Object any) { this.getAny().add(any); return this; } /** * fluent setter * @see #setAddressLine(List) * * @param addressLine * required parameter */ public Thoroughfare withAddressLine(final List addressLine) { this.setAddressLine(addressLine); return this; } /** * fluent setter * @see #setThoroughfareNumberOrThoroughfareNumberRange(List) * * @param thoroughfareNumberOrThoroughfareNumberRange * required parameter */ public Thoroughfare withThoroughfareNumberOrThoroughfareNumberRange(final List thoroughfareNumberOrThoroughfareNumberRange) { this.setThoroughfareNumberOrThoroughfareNumberRange(thoroughfareNumberOrThoroughfareNumberRange); return this; } /** * fluent setter * @see #setThoroughfareNumberPrefix(List) * * @param thoroughfareNumberPrefix * required parameter */ public Thoroughfare withThoroughfareNumberPrefix(final List thoroughfareNumberPrefix) { this.setThoroughfareNumberPrefix(thoroughfareNumberPrefix); return this; } /** * fluent setter * @see #setThoroughfareNumberSuffix(List) * * @param thoroughfareNumberSuffix * required parameter */ public Thoroughfare withThoroughfareNumberSuffix(final List thoroughfareNumberSuffix) { this.setThoroughfareNumberSuffix(thoroughfareNumberSuffix); return this; } /** * fluent setter * @see #setThoroughfarePreDirection(ThoroughfarePreDirection) * * @param thoroughfarePreDirection * required parameter */ public Thoroughfare withThoroughfarePreDirection(final ThoroughfarePreDirection thoroughfarePreDirection) { this.setThoroughfarePreDirection(thoroughfarePreDirection); return this; } /** * fluent setter * @see #setThoroughfareLeading(ThoroughfareLeadingType) * * @param thoroughfareLeading * required parameter */ public Thoroughfare withThoroughfareLeading(final ThoroughfareLeadingType thoroughfareLeading) { this.setThoroughfareLeading(thoroughfareLeading); return this; } /** * fluent setter * @see #setThoroughfareName(List) * * @param thoroughfareName * required parameter */ public Thoroughfare withThoroughfareName(final List thoroughfareName) { this.setThoroughfareName(thoroughfareName); return this; } /** * fluent setter * @see #setThoroughfareTrailing(ThoroughfareTrailingType) * * @param thoroughfareTrailing * required parameter */ public Thoroughfare withThoroughfareTrailing(final ThoroughfareTrailingType thoroughfareTrailing) { this.setThoroughfareTrailing(thoroughfareTrailing); return this; } /** * fluent setter * @see #setThoroughfarePostDirection(ThoroughfarePostDirection) * * @param thoroughfarePostDirection * required parameter */ public Thoroughfare withThoroughfarePostDirection(final ThoroughfarePostDirection thoroughfarePostDirection) { this.setThoroughfarePostDirection(thoroughfarePostDirection); return this; } /** * fluent setter * @see #setDependentThoroughfare(DependentThoroughfare) * * @param dependentThoroughfare * required parameter */ public Thoroughfare withDependentThoroughfare(final Thoroughfare.DependentThoroughfare dependentThoroughfare) { this.setDependentThoroughfare(dependentThoroughfare); return this; } /** * fluent setter * @see #setAny(List) * * @param any * required parameter */ public Thoroughfare withAny(final List any) { this.setAny(any); return this; } /** * fluent setter * @see #setUnderscore(String) * * @param underscore * required parameter */ public Thoroughfare withUnderscore(final String underscore) { this.setUnderscore(underscore); return this; } /** * fluent setter * @see #setXalDependentThoroughfares(String) * * @param xalDependentThoroughfares * required parameter */ public Thoroughfare withXalDependentThoroughfares(final String xalDependentThoroughfares) { this.setXalDependentThoroughfares(xalDependentThoroughfares); return this; } /** * fluent setter * @see #setDependentThoroughfaresIndicator(String) * * @param dependentThoroughfaresIndicator * required parameter */ public Thoroughfare withDependentThoroughfaresIndicator(final String dependentThoroughfaresIndicator) { this.setDependentThoroughfaresIndicator(dependentThoroughfaresIndicator); return this; } /** * fluent setter * @see #setDependentThoroughfaresConnector(String) * * @param dependentThoroughfaresConnector * required parameter */ public Thoroughfare withDependentThoroughfaresConnector(final String dependentThoroughfaresConnector) { this.setDependentThoroughfaresConnector(dependentThoroughfaresConnector); return this; } /** * fluent setter * @see #setDependentThoroughfares(String) * * @param dependentThoroughfares * required parameter */ public Thoroughfare withDependentThoroughfares(final String dependentThoroughfares) { this.setDependentThoroughfares(dependentThoroughfares); return this; } @Override public Thoroughfare clone() { Thoroughfare copy; try { copy = ((Thoroughfare) super.clone()); } catch (CloneNotSupportedException _x) { throw new InternalError((_x.toString())); } copy.addressLine = new ArrayList((getAddressLine().size())); for (AddressLine iter: addressLine) { copy.addressLine.add(iter.clone()); } copy.thoroughfareNumberOrThoroughfareNumberRange = new ArrayList((getThoroughfareNumberOrThoroughfareNumberRange().size())); for (Object iter: thoroughfareNumberOrThoroughfareNumberRange) { copy.thoroughfareNumberOrThoroughfareNumberRange.add(iter); } copy.thoroughfareNumberPrefix = new ArrayList((getThoroughfareNumberPrefix().size())); for (ThoroughfareNumberPrefix iter: thoroughfareNumberPrefix) { copy.thoroughfareNumberPrefix.add(iter.clone()); } copy.thoroughfareNumberSuffix = new ArrayList((getThoroughfareNumberSuffix().size())); for (ThoroughfareNumberSuffix iter: thoroughfareNumberSuffix) { copy.thoroughfareNumberSuffix.add(iter.clone()); } copy.thoroughfarePreDirection = ((thoroughfarePreDirection == null)?null:((ThoroughfarePreDirection) thoroughfarePreDirection.clone())); copy.thoroughfareLeading = ((thoroughfareLeading == null)?null:((ThoroughfareLeadingType) thoroughfareLeading.clone())); copy.thoroughfareName = new ArrayList((getThoroughfareName().size())); for (ThoroughfareName iter: thoroughfareName) { copy.thoroughfareName.add(iter.clone()); } copy.thoroughfareTrailing = ((thoroughfareTrailing == null)?null:((ThoroughfareTrailingType) thoroughfareTrailing.clone())); copy.thoroughfarePostDirection = ((thoroughfarePostDirection == null)?null:((ThoroughfarePostDirection) thoroughfarePostDirection.clone())); copy.dependentThoroughfare = ((dependentThoroughfare == null)?null:((Thoroughfare.DependentThoroughfare) dependentThoroughfare.clone())); copy.dependentLocality = ((dependentLocality == null)?null:((DependentLocality) dependentLocality.clone())); copy.premise = ((premise == null)?null:((Premise) premise.clone())); copy.firm = ((firm == null)?null:((Firm) firm.clone())); copy.postalCode = ((postalCode == null)?null:((PostalCode) postalCode.clone())); copy.any = new ArrayList((getAny().size())); for (Object iter: any) { copy.any.add(iter); } return copy; } /** * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "addressLine", "thoroughfarePreDirection", "thoroughfareLeading", "thoroughfareName", "thoroughfareTrailing", "thoroughfarePostDirection", "any" }) @XmlRootElement(name = "DependentThoroughfare", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0") public static class DependentThoroughfare implements Cloneable { @XmlElement(name = "AddressLine") protected List addressLine; @XmlElement(name = "ThoroughfarePreDirection") protected ThoroughfarePreDirection thoroughfarePreDirection; @XmlElement(name = "ThoroughfareLeadingType") protected ThoroughfareLeadingType thoroughfareLeading; @XmlElement(name = "ThoroughfareName") protected List thoroughfareName; @XmlElement(name = "ThoroughfareTrailingType") protected ThoroughfareTrailingType thoroughfareTrailing; @XmlElement(name = "ThoroughfarePostDirection") protected ThoroughfarePostDirection thoroughfarePostDirection; @XmlAnyElement(lax = true) protected List any; @XmlAttribute(name = "Type") @XmlSchemaType(name = "anySimpleType") protected String underscore; @XmlAnyAttribute private Map otherAttributes = new HashMap(); public DependentThoroughfare() { super(); } /** * */ public List getAddressLine() { if (addressLine == null) { addressLine = new ArrayList(); } return this.addressLine; } /** * * @return * possible object is * {@link ThoroughfarePreDirection} * */ public ThoroughfarePreDirection getThoroughfarePreDirection() { return thoroughfarePreDirection; } /** * * @param value * allowed object is * {@link ThoroughfarePreDirection} * */ public void setThoroughfarePreDirection(ThoroughfarePreDirection value) { this.thoroughfarePreDirection = value; } /** * * @return * possible object is * {@link ThoroughfareLeadingType} * */ public ThoroughfareLeadingType getThoroughfareLeading() { return thoroughfareLeading; } /** * * @param value * allowed object is * {@link ThoroughfareLeadingType} * */ public void setThoroughfareLeading(ThoroughfareLeadingType value) { this.thoroughfareLeading = value; } /** * */ public List getThoroughfareName() { if (thoroughfareName == null) { thoroughfareName = new ArrayList(); } return this.thoroughfareName; } /** * * @return * possible object is * {@link ThoroughfareTrailingType} * */ public ThoroughfareTrailingType getThoroughfareTrailing() { return thoroughfareTrailing; } /** * * @param value * allowed object is * {@link ThoroughfareTrailingType} * */ public void setThoroughfareTrailing(ThoroughfareTrailingType value) { this.thoroughfareTrailing = value; } /** * * @return * possible object is * {@link ThoroughfarePostDirection} * */ public ThoroughfarePostDirection getThoroughfarePostDirection() { return thoroughfarePostDirection; } /** * * @param value * allowed object is * {@link ThoroughfarePostDirection} * */ public void setThoroughfarePostDirection(ThoroughfarePostDirection value) { this.thoroughfarePostDirection = value; } /** * */ public List getAny() { if (any == null) { any = new ArrayList(); } return this.any; } /** * * @return * possible object is * {@link String} * */ public String getUnderscore() { return underscore; } /** * * @param value * allowed object is * {@link String} * */ public void setUnderscore(String value) { this.underscore = value; } /** * * @return * always non-null */ public Map getOtherAttributes() { return otherAttributes; } @Override public int hashCode() { final int prime = 31; int result = 1; result = ((prime*result)+((addressLine == null)? 0 :addressLine.hashCode())); result = ((prime*result)+((thoroughfarePreDirection == null)? 0 :thoroughfarePreDirection.hashCode())); result = ((prime*result)+((thoroughfareLeading == null)? 0 :thoroughfareLeading.hashCode())); result = ((prime*result)+((thoroughfareName == null)? 0 :thoroughfareName.hashCode())); result = ((prime*result)+((thoroughfareTrailing == null)? 0 :thoroughfareTrailing.hashCode())); result = ((prime*result)+((thoroughfarePostDirection == null)? 0 :thoroughfarePostDirection.hashCode())); result = ((prime*result)+((any == null)? 0 :any.hashCode())); result = ((prime*result)+((underscore == null)? 0 :underscore.hashCode())); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if ((obj instanceof Thoroughfare.DependentThoroughfare) == false) { return false; } Thoroughfare.DependentThoroughfare other = ((Thoroughfare.DependentThoroughfare) obj); if (addressLine == null) { if (other.addressLine!= null) { return false; } } else { if (addressLine.equals(other.addressLine) == false) { return false; } } if (thoroughfarePreDirection == null) { if (other.thoroughfarePreDirection!= null) { return false; } } else { if (thoroughfarePreDirection.equals(other.thoroughfarePreDirection) == false) { return false; } } if (thoroughfareLeading == null) { if (other.thoroughfareLeading!= null) { return false; } } else { if (thoroughfareLeading.equals(other.thoroughfareLeading) == false) { return false; } } if (thoroughfareName == null) { if (other.thoroughfareName!= null) { return false; } } else { if (thoroughfareName.equals(other.thoroughfareName) == false) { return false; } } if (thoroughfareTrailing == null) { if (other.thoroughfareTrailing!= null) { return false; } } else { if (thoroughfareTrailing.equals(other.thoroughfareTrailing) == false) { return false; } } if (thoroughfarePostDirection == null) { if (other.thoroughfarePostDirection!= null) { return false; } } else { if (thoroughfarePostDirection.equals(other.thoroughfarePostDirection) == false) { return false; } } if (any == null) { if (other.any!= null) { return false; } } else { if (any.equals(other.any) == false) { return false; } } if (underscore == null) { if (other.underscore!= null) { return false; } } else { if (underscore.equals(other.underscore) == false) { return false; } } return true; } /** * Creates a new instance of {@link AddressLine} and adds it to addressLine. * This method is a short version for: * * AddressLine addressLine = new AddressLine(); * this.getAddressLine().add(addressLine); * * */ public AddressLine createAndAddAddressLine() { AddressLine newValue = new AddressLine(); this.getAddressLine().add(newValue); return newValue; } /** * Creates a new instance of {@link ThoroughfarePreDirection} and set it to thoroughfarePreDirection. * * This method is a short version for: * * ThoroughfarePreDirection thoroughfarePreDirection = new ThoroughfarePreDirection(); * this.setThoroughfarePreDirection(thoroughfarePreDirection); * * */ public ThoroughfarePreDirection createAndSetThoroughfarePreDirection() { ThoroughfarePreDirection newValue = new ThoroughfarePreDirection(); this.setThoroughfarePreDirection(newValue); return newValue; } /** * Creates a new instance of {@link ThoroughfareLeadingType} and set it to thoroughfareLeading. * * This method is a short version for: * * ThoroughfareLeadingType thoroughfareLeadingType = new ThoroughfareLeadingType(); * this.setThoroughfareLeading(thoroughfareLeadingType); * * */ public ThoroughfareLeadingType createAndSetThoroughfareLeading() { ThoroughfareLeadingType newValue = new ThoroughfareLeadingType(); this.setThoroughfareLeading(newValue); return newValue; } /** * Creates a new instance of {@link ThoroughfareName} and adds it to thoroughfareName. * This method is a short version for: * * ThoroughfareName thoroughfareName = new ThoroughfareName(); * this.getThoroughfareName().add(thoroughfareName); * * */ public ThoroughfareName createAndAddThoroughfareName() { ThoroughfareName newValue = new ThoroughfareName(); this.getThoroughfareName().add(newValue); return newValue; } /** * Creates a new instance of {@link ThoroughfareTrailingType} and set it to thoroughfareTrailing. * * This method is a short version for: * * ThoroughfareTrailingType thoroughfareTrailingType = new ThoroughfareTrailingType(); * this.setThoroughfareTrailing(thoroughfareTrailingType); * * */ public ThoroughfareTrailingType createAndSetThoroughfareTrailing() { ThoroughfareTrailingType newValue = new ThoroughfareTrailingType(); this.setThoroughfareTrailing(newValue); return newValue; } /** * Creates a new instance of {@link ThoroughfarePostDirection} and set it to thoroughfarePostDirection. * * This method is a short version for: * * ThoroughfarePostDirection thoroughfarePostDirection = new ThoroughfarePostDirection(); * this.setThoroughfarePostDirection(thoroughfarePostDirection); * * */ public ThoroughfarePostDirection createAndSetThoroughfarePostDirection() { ThoroughfarePostDirection newValue = new ThoroughfarePostDirection(); this.setThoroughfarePostDirection(newValue); return newValue; } /** * Sets the value of the addressLine property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withAddressLine} instead. * * * @param addressLine */ public void setAddressLine(final List addressLine) { this.addressLine = addressLine; } /** * add a value to the addressLine property collection * * @param addressLine * Objects of the following type are allowed in the list: {@link AddressLine} * @return * true (as general contract of Collection.add). */ public Thoroughfare.DependentThoroughfare addToAddressLine(final AddressLine addressLine) { this.getAddressLine().add(addressLine); return this; } /** * Sets the value of the thoroughfareName property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withThoroughfareName} instead. * * * @param thoroughfareName */ public void setThoroughfareName(final List thoroughfareName) { this.thoroughfareName = thoroughfareName; } /** * add a value to the thoroughfareName property collection * * @param thoroughfareName * Objects of the following type are allowed in the list: {@link ThoroughfareName} * @return * true (as general contract of Collection.add). */ public Thoroughfare.DependentThoroughfare addToThoroughfareName(final ThoroughfareName thoroughfareName) { this.getThoroughfareName().add(thoroughfareName); return this; } /** * Sets the value of the any property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withAny} instead. * * * @param any */ public void setAny(final List any) { this.any = any; } /** * add a value to the any property collection * * @param any * Objects of the following type are allowed in the list: {@link Object} * @return * true (as general contract of Collection.add). */ public Thoroughfare.DependentThoroughfare addToAny(final Object any) { this.getAny().add(any); return this; } /** * fluent setter * @see #setAddressLine(List) * * @param addressLine * required parameter */ public Thoroughfare.DependentThoroughfare withAddressLine(final List addressLine) { this.setAddressLine(addressLine); return this; } /** * fluent setter * @see #setThoroughfarePreDirection(ThoroughfarePreDirection) * * @param thoroughfarePreDirection * required parameter */ public Thoroughfare.DependentThoroughfare withThoroughfarePreDirection(final ThoroughfarePreDirection thoroughfarePreDirection) { this.setThoroughfarePreDirection(thoroughfarePreDirection); return this; } /** * fluent setter * @see #setThoroughfareLeading(ThoroughfareLeadingType) * * @param thoroughfareLeading * required parameter */ public Thoroughfare.DependentThoroughfare withThoroughfareLeading(final ThoroughfareLeadingType thoroughfareLeading) { this.setThoroughfareLeading(thoroughfareLeading); return this; } /** * fluent setter * @see #setThoroughfareName(List) * * @param thoroughfareName * required parameter */ public Thoroughfare.DependentThoroughfare withThoroughfareName(final List thoroughfareName) { this.setThoroughfareName(thoroughfareName); return this; } /** * fluent setter * @see #setThoroughfareTrailing(ThoroughfareTrailingType) * * @param thoroughfareTrailing * required parameter */ public Thoroughfare.DependentThoroughfare withThoroughfareTrailing(final ThoroughfareTrailingType thoroughfareTrailing) { this.setThoroughfareTrailing(thoroughfareTrailing); return this; } /** * fluent setter * @see #setThoroughfarePostDirection(ThoroughfarePostDirection) * * @param thoroughfarePostDirection * required parameter */ public Thoroughfare.DependentThoroughfare withThoroughfarePostDirection(final ThoroughfarePostDirection thoroughfarePostDirection) { this.setThoroughfarePostDirection(thoroughfarePostDirection); return this; } /** * fluent setter * @see #setAny(List) * * @param any * required parameter */ public Thoroughfare.DependentThoroughfare withAny(final List any) { this.setAny(any); return this; } /** * fluent setter * @see #setUnderscore(String) * * @param underscore * required parameter */ public Thoroughfare.DependentThoroughfare withUnderscore(final String underscore) { this.setUnderscore(underscore); return this; } @Override public Thoroughfare.DependentThoroughfare clone() { Thoroughfare.DependentThoroughfare copy; try { copy = ((Thoroughfare.DependentThoroughfare) super.clone()); } catch (CloneNotSupportedException _x) { throw new InternalError((_x.toString())); } copy.addressLine = new ArrayList((getAddressLine().size())); for (AddressLine iter: addressLine) { copy.addressLine.add(iter.clone()); } copy.thoroughfarePreDirection = ((thoroughfarePreDirection == null)?null:((ThoroughfarePreDirection) thoroughfarePreDirection.clone())); copy.thoroughfareLeading = ((thoroughfareLeading == null)?null:((ThoroughfareLeadingType) thoroughfareLeading.clone())); copy.thoroughfareName = new ArrayList((getThoroughfareName().size())); for (ThoroughfareName iter: thoroughfareName) { copy.thoroughfareName.add(iter.clone()); } copy.thoroughfareTrailing = ((thoroughfareTrailing == null)?null:((ThoroughfareTrailingType) thoroughfareTrailing.clone())); copy.thoroughfarePostDirection = ((thoroughfarePostDirection == null)?null:((ThoroughfarePostDirection) thoroughfarePostDirection.clone())); copy.any = new ArrayList((getAny().size())); for (Object iter: any) { copy.any.add(iter); } return copy; } } /** * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "addressLine", "thoroughfareNumberFrom", "thoroughfareNumberTo" }) @XmlRootElement(name = "ThoroughfareNumberRange", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0") public static class ThoroughfareNumberRange implements Cloneable { @XmlElement(name = "AddressLine") protected List addressLine; @XmlElement(name = "ThoroughfareNumberFrom", required = true) protected Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom thoroughfareNumberFrom; @XmlElement(name = "ThoroughfareNumberTo", required = true) protected Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo thoroughfareNumberTo; @XmlAttribute(name = "RangeType") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) protected String range; @XmlAttribute(name = "Indicator") @XmlSchemaType(name = "anySimpleType") protected String indicator; @XmlAttribute(name = "Separator") @XmlSchemaType(name = "anySimpleType") protected String separator; @XmlAttribute(name = "IndicatorOccurrence") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) protected String indicatorOccurrence; @XmlAttribute(name = "NumberRangeOccurrence") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) protected String numberRangeOccurrence; @XmlAttribute(name = "Type") @XmlSchemaType(name = "anySimpleType") protected String underscore; @XmlAttribute(name = "Code") @XmlSchemaType(name = "anySimpleType") protected String code; @XmlAnyAttribute private Map otherAttributes = new HashMap(); /** * Value constructor with only mandatory fields * * @param thoroughfareNumberTo * required parameter * @param thoroughfareNumberFrom * required parameter */ public ThoroughfareNumberRange(final Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom thoroughfareNumberFrom, final Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo thoroughfareNumberTo) { super(); this.thoroughfareNumberFrom = thoroughfareNumberFrom; this.thoroughfareNumberTo = thoroughfareNumberTo; } /** * Default no-arg constructor is private. Use overloaded constructor instead! (Temporary solution, till a better and more suitable ObjectFactory is created.) * */ @Deprecated private ThoroughfareNumberRange() { super(); } /** * */ public List getAddressLine() { if (addressLine == null) { addressLine = new ArrayList(); } return this.addressLine; } /** * * @return * possible object is * {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom} * */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom getThoroughfareNumberFrom() { return thoroughfareNumberFrom; } /** * * @param value * allowed object is * {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom} * */ public void setThoroughfareNumberFrom(Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom value) { this.thoroughfareNumberFrom = value; } /** * * @return * possible object is * {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo} * */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo getThoroughfareNumberTo() { return thoroughfareNumberTo; } /** * * @param value * allowed object is * {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo} * */ public void setThoroughfareNumberTo(Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo value) { this.thoroughfareNumberTo = value; } /** * * @return * possible object is * {@link String} * */ public String getRange() { return range; } /** * * @param value * allowed object is * {@link String} * */ public void setRange(String value) { this.range = value; } /** * * @return * possible object is * {@link String} * */ public String getIndicator() { return indicator; } /** * * @param value * allowed object is * {@link String} * */ public void setIndicator(String value) { this.indicator = value; } /** * * @return * possible object is * {@link String} * */ public String getSeparator() { return separator; } /** * * @param value * allowed object is * {@link String} * */ public void setSeparator(String value) { this.separator = value; } /** * * @return * possible object is * {@link String} * */ public String getIndicatorOccurrence() { return indicatorOccurrence; } /** * * @param value * allowed object is * {@link String} * */ public void setIndicatorOccurrence(String value) { this.indicatorOccurrence = value; } /** * * @return * possible object is * {@link String} * */ public String getNumberRangeOccurrence() { return numberRangeOccurrence; } /** * * @param value * allowed object is * {@link String} * */ public void setNumberRangeOccurrence(String value) { this.numberRangeOccurrence = value; } /** * * @return * possible object is * {@link String} * */ public String getUnderscore() { return underscore; } /** * * @param value * allowed object is * {@link String} * */ public void setUnderscore(String value) { this.underscore = value; } /** * * @return * possible object is * {@link String} * */ public String getCode() { return code; } /** * * @param value * allowed object is * {@link String} * */ public void setCode(String value) { this.code = value; } /** * * @return * always non-null */ public Map getOtherAttributes() { return otherAttributes; } @Override public int hashCode() { final int prime = 31; int result = 1; result = ((prime*result)+((addressLine == null)? 0 :addressLine.hashCode())); result = ((prime*result)+((thoroughfareNumberFrom == null)? 0 :thoroughfareNumberFrom.hashCode())); result = ((prime*result)+((thoroughfareNumberTo == null)? 0 :thoroughfareNumberTo.hashCode())); result = ((prime*result)+((range == null)? 0 :range.hashCode())); result = ((prime*result)+((indicator == null)? 0 :indicator.hashCode())); result = ((prime*result)+((separator == null)? 0 :separator.hashCode())); result = ((prime*result)+((indicatorOccurrence == null)? 0 :indicatorOccurrence.hashCode())); result = ((prime*result)+((numberRangeOccurrence == null)? 0 :numberRangeOccurrence.hashCode())); result = ((prime*result)+((underscore == null)? 0 :underscore.hashCode())); result = ((prime*result)+((code == null)? 0 :code.hashCode())); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if ((obj instanceof Thoroughfare.ThoroughfareNumberRange) == false) { return false; } Thoroughfare.ThoroughfareNumberRange other = ((Thoroughfare.ThoroughfareNumberRange) obj); if (addressLine == null) { if (other.addressLine!= null) { return false; } } else { if (addressLine.equals(other.addressLine) == false) { return false; } } if (thoroughfareNumberFrom == null) { if (other.thoroughfareNumberFrom!= null) { return false; } } else { if (thoroughfareNumberFrom.equals(other.thoroughfareNumberFrom) == false) { return false; } } if (thoroughfareNumberTo == null) { if (other.thoroughfareNumberTo!= null) { return false; } } else { if (thoroughfareNumberTo.equals(other.thoroughfareNumberTo) == false) { return false; } } if (range == null) { if (other.range!= null) { return false; } } else { if (range.equals(other.range) == false) { return false; } } if (indicator == null) { if (other.indicator!= null) { return false; } } else { if (indicator.equals(other.indicator) == false) { return false; } } if (separator == null) { if (other.separator!= null) { return false; } } else { if (separator.equals(other.separator) == false) { return false; } } if (indicatorOccurrence == null) { if (other.indicatorOccurrence!= null) { return false; } } else { if (indicatorOccurrence.equals(other.indicatorOccurrence) == false) { return false; } } if (numberRangeOccurrence == null) { if (other.numberRangeOccurrence!= null) { return false; } } else { if (numberRangeOccurrence.equals(other.numberRangeOccurrence) == false) { return false; } } if (underscore == null) { if (other.underscore!= null) { return false; } } else { if (underscore.equals(other.underscore) == false) { return false; } } if (code == null) { if (other.code!= null) { return false; } } else { if (code.equals(other.code) == false) { return false; } } return true; } /** * Creates a new instance of {@link AddressLine} and adds it to addressLine. * This method is a short version for: * * AddressLine addressLine = new AddressLine(); * this.getAddressLine().add(addressLine); * * */ public AddressLine createAndAddAddressLine() { AddressLine newValue = new AddressLine(); this.getAddressLine().add(newValue); return newValue; } /** * Creates a new instance of {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom} and set it to thoroughfareNumberFrom. * * This method is a short version for: * * ThoroughfareNumberFrom thoroughfareNumberFrom = new ThoroughfareNumberFrom(); * this.setThoroughfareNumberFrom(thoroughfareNumberFrom); * * */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom createAndSetThoroughfareNumberFrom() { Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom newValue = new Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom(); this.setThoroughfareNumberFrom(newValue); return newValue; } /** * Creates a new instance of {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo} and set it to thoroughfareNumberTo. * * This method is a short version for: * * ThoroughfareNumberTo thoroughfareNumberTo = new ThoroughfareNumberTo(); * this.setThoroughfareNumberTo(thoroughfareNumberTo); * * */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo createAndSetThoroughfareNumberTo() { Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo newValue = new Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo(); this.setThoroughfareNumberTo(newValue); return newValue; } /** * Sets the value of the addressLine property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withAddressLine} instead. * * * @param addressLine */ public void setAddressLine(final List addressLine) { this.addressLine = addressLine; } /** * add a value to the addressLine property collection * * @param addressLine * Objects of the following type are allowed in the list: {@link AddressLine} * @return * true (as general contract of Collection.add). */ public Thoroughfare.ThoroughfareNumberRange addToAddressLine(final AddressLine addressLine) { this.getAddressLine().add(addressLine); return this; } /** * fluent setter * @see #setAddressLine(List) * * @param addressLine * required parameter */ public Thoroughfare.ThoroughfareNumberRange withAddressLine(final List addressLine) { this.setAddressLine(addressLine); return this; } /** * fluent setter * @see #setRange(String) * * @param range * required parameter */ public Thoroughfare.ThoroughfareNumberRange withRange(final String range) { this.setRange(range); return this; } /** * fluent setter * @see #setIndicator(String) * * @param indicator * required parameter */ public Thoroughfare.ThoroughfareNumberRange withIndicator(final String indicator) { this.setIndicator(indicator); return this; } /** * fluent setter * @see #setSeparator(String) * * @param separator * required parameter */ public Thoroughfare.ThoroughfareNumberRange withSeparator(final String separator) { this.setSeparator(separator); return this; } /** * fluent setter * @see #setIndicatorOccurrence(String) * * @param indicatorOccurrence * required parameter */ public Thoroughfare.ThoroughfareNumberRange withIndicatorOccurrence(final String indicatorOccurrence) { this.setIndicatorOccurrence(indicatorOccurrence); return this; } /** * fluent setter * @see #setNumberRangeOccurrence(String) * * @param numberRangeOccurrence * required parameter */ public Thoroughfare.ThoroughfareNumberRange withNumberRangeOccurrence(final String numberRangeOccurrence) { this.setNumberRangeOccurrence(numberRangeOccurrence); return this; } /** * fluent setter * @see #setUnderscore(String) * * @param underscore * required parameter */ public Thoroughfare.ThoroughfareNumberRange withUnderscore(final String underscore) { this.setUnderscore(underscore); return this; } /** * fluent setter * @see #setCode(String) * * @param code * required parameter */ public Thoroughfare.ThoroughfareNumberRange withCode(final String code) { this.setCode(code); return this; } @Override public Thoroughfare.ThoroughfareNumberRange clone() { Thoroughfare.ThoroughfareNumberRange copy; try { copy = ((Thoroughfare.ThoroughfareNumberRange) super.clone()); } catch (CloneNotSupportedException _x) { throw new InternalError((_x.toString())); } copy.addressLine = new ArrayList((getAddressLine().size())); for (AddressLine iter: addressLine) { copy.addressLine.add(iter.clone()); } copy.thoroughfareNumberFrom = ((thoroughfareNumberFrom == null)?null:((Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom) thoroughfareNumberFrom.clone())); copy.thoroughfareNumberTo = ((thoroughfareNumberTo == null)?null:((Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo) thoroughfareNumberTo.clone())); return copy; } /** * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "content" }) @XmlRootElement(name = "ThoroughfareNumberFrom", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0") public static class ThoroughfareNumberFrom implements Cloneable { @XmlElementRefs({ @XmlElementRef(name = "ThoroughfareNumberPrefix", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = ThoroughfareNumberPrefix.class), @XmlElementRef(name = "AddressLine", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = AddressLine.class), @XmlElementRef(name = "ThoroughfareNumberSuffix", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = ThoroughfareNumberSuffix.class), @XmlElementRef(name = "ThoroughfareNumber", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = ThoroughfareNumber.class) }) @XmlMixed protected List content; @XmlAttribute(name = "Code") @XmlSchemaType(name = "anySimpleType") protected String code; @XmlAnyAttribute private Map otherAttributes = new HashMap(); public ThoroughfareNumberFrom() { super(); } /** * */ public List getContent() { if (content == null) { content = new ArrayList(); } return this.content; } /** * * @return * possible object is * {@link String} * */ public String getCode() { return code; } /** * * @param value * allowed object is * {@link String} * */ public void setCode(String value) { this.code = value; } /** * * @return * always non-null */ public Map getOtherAttributes() { return otherAttributes; } @Override public int hashCode() { final int prime = 31; int result = 1; result = ((prime*result)+((content == null)? 0 :content.hashCode())); result = ((prime*result)+((code == null)? 0 :code.hashCode())); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if ((obj instanceof Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom) == false) { return false; } Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom other = ((Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom) obj); if (content == null) { if (other.content!= null) { return false; } } else { if (content.equals(other.content) == false) { return false; } } if (code == null) { if (other.code!= null) { return false; } } else { if (code.equals(other.code) == false) { return false; } } return true; } /** * Sets the value of the content property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withContent} instead. * * * @param content */ public void setContent(final List content) { this.content = content; } /** * add a value to the content property collection * * @param content * Objects of the following type are allowed in the list: {@link String}{@link ThoroughfareNumberPrefix}{@link AddressLine}{@link ThoroughfareNumber}{@link ThoroughfareNumberSuffix} * @return * true (as general contract of Collection.add). */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom addToContent(final Object content) { this.getContent().add(content); return this; } /** * fluent setter * @see #setContent(List) * * @param content * required parameter */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom withContent(final List content) { this.setContent(content); return this; } /** * fluent setter * @see #setCode(String) * * @param code * required parameter */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom withCode(final String code) { this.setCode(code); return this; } @Override public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom clone() { Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom copy; try { copy = ((Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom) super.clone()); } catch (CloneNotSupportedException _x) { throw new InternalError((_x.toString())); } copy.content = new ArrayList((getContent().size())); for (Object iter: content) { copy.content.add(iter); } return copy; } } /** * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "content" }) @XmlRootElement(name = "ThoroughfareNumberTo", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0") public static class ThoroughfareNumberTo implements Cloneable { @XmlElementRefs({ @XmlElementRef(name = "ThoroughfareNumberPrefix", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = ThoroughfareNumberPrefix.class), @XmlElementRef(name = "AddressLine", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = AddressLine.class), @XmlElementRef(name = "ThoroughfareNumberSuffix", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = ThoroughfareNumberSuffix.class), @XmlElementRef(name = "ThoroughfareNumber", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", type = ThoroughfareNumber.class) }) @XmlMixed protected List content; @XmlAttribute(name = "Code") @XmlSchemaType(name = "anySimpleType") protected String code; @XmlAnyAttribute private Map otherAttributes = new HashMap(); public ThoroughfareNumberTo() { super(); } /** * */ public List getContent() { if (content == null) { content = new ArrayList(); } return this.content; } /** * * @return * possible object is * {@link String} * */ public String getCode() { return code; } /** * * @param value * allowed object is * {@link String} * */ public void setCode(String value) { this.code = value; } /** * * @return * always non-null */ public Map getOtherAttributes() { return otherAttributes; } @Override public int hashCode() { final int prime = 31; int result = 1; result = ((prime*result)+((content == null)? 0 :content.hashCode())); result = ((prime*result)+((code == null)? 0 :code.hashCode())); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if ((obj instanceof Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo) == false) { return false; } Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo other = ((Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo) obj); if (content == null) { if (other.content!= null) { return false; } } else { if (content.equals(other.content) == false) { return false; } } if (code == null) { if (other.code!= null) { return false; } } else { if (code.equals(other.code) == false) { return false; } } return true; } /** * Sets the value of the content property Objects of the following type(s) are allowed in the list List. *

Note: *

This method does not make use of the fluent pattern.If you would like to make it fluent, use {@link #withContent} instead. * * * @param content */ public void setContent(final List content) { this.content = content; } /** * add a value to the content property collection * * @param content * Objects of the following type are allowed in the list: {@link String}{@link ThoroughfareNumberPrefix}{@link AddressLine}{@link ThoroughfareNumber}{@link ThoroughfareNumberSuffix} * @return * true (as general contract of Collection.add). */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo addToContent(final Object content) { this.getContent().add(content); return this; } /** * fluent setter * @see #setContent(List) * * @param content * required parameter */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo withContent(final List content) { this.setContent(content); return this; } /** * fluent setter * @see #setCode(String) * * @param code * required parameter */ public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo withCode(final String code) { this.setCode(code); return this; } @Override public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo clone() { Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo copy; try { copy = ((Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo) super.clone()); } catch (CloneNotSupportedException _x) { throw new InternalError((_x.toString())); } copy.content = new ArrayList((getContent().size())); for (Object iter: content) { copy.content.add(iter); } return copy; } } } }