Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
net.opengis.citygml.building.v_2_0.AbstractBuildingType Maven / Gradle / Ivy
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.02.26 at 04:41:00 PM AST
//
package net.opengis.citygml.building.v_2_0;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
import net.opengis.citygml.v_2_0.AbstractSiteType;
import net.opengis.citygml.v_2_0.AddressPropertyType;
import net.opengis.citygml.v_2_0.ExternalReferenceType;
import net.opengis.citygml.v_2_0.GeneralizationRelationType;
import net.opengis.citygml.v_2_0.RelativeToTerrainType;
import net.opengis.citygml.v_2_0.RelativeToWaterType;
import net.opengis.gml.v_3_1_1.CodeType;
import net.opengis.gml.v_3_1_1.LengthType;
import net.opengis.gml.v_3_1_1.MeasureOrNullListType;
import net.opengis.gml.v_3_1_1.MultiCurvePropertyType;
import net.opengis.gml.v_3_1_1.MultiSurfacePropertyType;
import net.opengis.gml.v_3_1_1.SolidPropertyType;
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;
/**
* Type describing the thematic and geometric attributes and the associations of buildings. It is an abstract
* type, only its subclasses Building and BuildingPart can be instantiated. An _AbstractBuilding may consist of
* BuildingParts, which are again _AbstractBuildings by inheritance. Thus an aggregation hierarchy between _AbstractBuildings
* of arbitrary depth may be specified. In such an hierarchy, top elements are Buildings, while all other elements are
* BuildingParts. Each element of such a hierarchy may have all attributes and geometries of _AbstractBuildings. It must,
* however, be assured than no inconsistencies occur (for example, if the geometry of a Building does not correspond to the
* geometries of its parts, or if the roof type of a Building is saddle roof, while its parts have an hip roof). As subclass
* of _CityObject, an _AbstractBuilding inherits all attributes and relations, in particular an id, names, external
* references, and generalization relations.
*
* Java class for AbstractBuildingType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="AbstractBuildingType">
* <complexContent>
* <extension base="{http://www.opengis.net/citygml/2.0}AbstractSiteType">
* <sequence>
* <element name="class" type="{http://www.opengis.net/gml}CodeType" minOccurs="0"/>
* <element name="function" type="{http://www.opengis.net/gml}CodeType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="usage" type="{http://www.opengis.net/gml}CodeType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="yearOfConstruction" type="{http://www.w3.org/2001/XMLSchema}gYear" minOccurs="0"/>
* <element name="yearOfDemolition" type="{http://www.w3.org/2001/XMLSchema}gYear" minOccurs="0"/>
* <element name="roofType" type="{http://www.opengis.net/gml}CodeType" minOccurs="0"/>
* <element name="measuredHeight" type="{http://www.opengis.net/gml}LengthType" minOccurs="0"/>
* <element name="storeysAboveGround" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
* <element name="storeysBelowGround" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
* <element name="storeyHeightsAboveGround" type="{http://www.opengis.net/gml}MeasureOrNullListType" minOccurs="0"/>
* <element name="storeyHeightsBelowGround" type="{http://www.opengis.net/gml}MeasureOrNullListType" minOccurs="0"/>
* <element name="lod0FootPrint" type="{http://www.opengis.net/gml}MultiSurfacePropertyType" minOccurs="0"/>
* <element name="lod0RoofEdge" type="{http://www.opengis.net/gml}MultiSurfacePropertyType" minOccurs="0"/>
* <element name="lod1Solid" type="{http://www.opengis.net/gml}SolidPropertyType" minOccurs="0"/>
* <element name="lod1MultiSurface" type="{http://www.opengis.net/gml}MultiSurfacePropertyType" minOccurs="0"/>
* <element name="lod1TerrainIntersection" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="lod2Solid" type="{http://www.opengis.net/gml}SolidPropertyType" minOccurs="0"/>
* <element name="lod2MultiSurface" type="{http://www.opengis.net/gml}MultiSurfacePropertyType" minOccurs="0"/>
* <element name="lod2MultiCurve" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="lod2TerrainIntersection" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="outerBuildingInstallation" type="{http://www.opengis.net/citygml/building/2.0}BuildingInstallationPropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="interiorBuildingInstallation" type="{http://www.opengis.net/citygml/building/2.0}IntBuildingInstallationPropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="boundedBy" type="{http://www.opengis.net/citygml/building/2.0}BoundarySurfacePropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="lod3Solid" type="{http://www.opengis.net/gml}SolidPropertyType" minOccurs="0"/>
* <element name="lod3MultiSurface" type="{http://www.opengis.net/gml}MultiSurfacePropertyType" minOccurs="0"/>
* <element name="lod3MultiCurve" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="lod3TerrainIntersection" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="lod4Solid" type="{http://www.opengis.net/gml}SolidPropertyType" minOccurs="0"/>
* <element name="lod4MultiSurface" type="{http://www.opengis.net/gml}MultiSurfacePropertyType" minOccurs="0"/>
* <element name="lod4MultiCurve" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="lod4TerrainIntersection" type="{http://www.opengis.net/gml}MultiCurvePropertyType" minOccurs="0"/>
* <element name="interiorRoom" type="{http://www.opengis.net/citygml/building/2.0}InteriorRoomPropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="consistsOfBuildingPart" type="{http://www.opengis.net/citygml/building/2.0}BuildingPartPropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="address" type="{http://www.opengis.net/citygml/2.0}AddressPropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{http://www.opengis.net/citygml/building/2.0}_GenericApplicationPropertyOfAbstractBuilding" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractBuildingType", propOrder = {
"clazz",
"function",
"usage",
"yearOfConstruction",
"yearOfDemolition",
"roofType",
"measuredHeight",
"storeysAboveGround",
"storeysBelowGround",
"storeyHeightsAboveGround",
"storeyHeightsBelowGround",
"lod0FootPrint",
"lod0RoofEdge",
"lod1Solid",
"lod1MultiSurface",
"lod1TerrainIntersection",
"lod2Solid",
"lod2MultiSurface",
"lod2MultiCurve",
"lod2TerrainIntersection",
"outerBuildingInstallation",
"interiorBuildingInstallation",
"cityObjectBoundedBy",
"lod3Solid",
"lod3MultiSurface",
"lod3MultiCurve",
"lod3TerrainIntersection",
"lod4Solid",
"lod4MultiSurface",
"lod4MultiCurve",
"lod4TerrainIntersection",
"interiorRoom",
"consistsOfBuildingPart",
"address",
"genericApplicationPropertyOfAbstractBuilding"
})
@XmlSeeAlso({
BuildingType.class,
BuildingPartType.class
})
public abstract class AbstractBuildingType
extends AbstractSiteType
implements Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
@XmlElement(name = "class")
protected CodeType clazz;
protected List function;
protected List usage;
@XmlSchemaType(name = "gYear")
protected XMLGregorianCalendar yearOfConstruction;
@XmlSchemaType(name = "gYear")
protected XMLGregorianCalendar yearOfDemolition;
protected CodeType roofType;
protected LengthType measuredHeight;
@XmlSchemaType(name = "nonNegativeInteger")
protected BigInteger storeysAboveGround;
@XmlSchemaType(name = "nonNegativeInteger")
protected BigInteger storeysBelowGround;
protected MeasureOrNullListType storeyHeightsAboveGround;
protected MeasureOrNullListType storeyHeightsBelowGround;
protected MultiSurfacePropertyType lod0FootPrint;
protected MultiSurfacePropertyType lod0RoofEdge;
protected SolidPropertyType lod1Solid;
protected MultiSurfacePropertyType lod1MultiSurface;
protected MultiCurvePropertyType lod1TerrainIntersection;
protected SolidPropertyType lod2Solid;
protected MultiSurfacePropertyType lod2MultiSurface;
protected MultiCurvePropertyType lod2MultiCurve;
protected MultiCurvePropertyType lod2TerrainIntersection;
protected List outerBuildingInstallation;
protected List interiorBuildingInstallation;
@XmlElement(name = "boundedBy")
protected List cityObjectBoundedBy;
protected SolidPropertyType lod3Solid;
protected MultiSurfacePropertyType lod3MultiSurface;
protected MultiCurvePropertyType lod3MultiCurve;
protected MultiCurvePropertyType lod3TerrainIntersection;
protected SolidPropertyType lod4Solid;
protected MultiSurfacePropertyType lod4MultiSurface;
protected MultiCurvePropertyType lod4MultiCurve;
protected MultiCurvePropertyType lod4TerrainIntersection;
protected List interiorRoom;
protected List consistsOfBuildingPart;
protected List address;
@XmlElement(name = "_GenericApplicationPropertyOfAbstractBuilding")
protected List genericApplicationPropertyOfAbstractBuilding;
/**
* Gets the value of the clazz property.
*
* @return
* possible object is
* {@link CodeType }
*
*/
public CodeType getClazz() {
return clazz;
}
/**
* Sets the value of the clazz property.
*
* @param value
* allowed object is
* {@link CodeType }
*
*/
public void setClazz(CodeType value) {
this.clazz = value;
}
public boolean isSetClazz() {
return (this.clazz!= null);
}
/**
* Gets the value of the function 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 function property.
*
*
* For example, to add a new item, do as follows:
*
* getFunction().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeType }
*
*
*/
public List getFunction() {
if (function == null) {
function = new ArrayList();
}
return this.function;
}
public boolean isSetFunction() {
return ((this.function!= null)&&(!this.function.isEmpty()));
}
public void unsetFunction() {
this.function = null;
}
/**
* Gets the value of the usage 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 usage property.
*
*
* For example, to add a new item, do as follows:
*
* getUsage().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeType }
*
*
*/
public List getUsage() {
if (usage == null) {
usage = new ArrayList();
}
return this.usage;
}
public boolean isSetUsage() {
return ((this.usage!= null)&&(!this.usage.isEmpty()));
}
public void unsetUsage() {
this.usage = null;
}
/**
* Gets the value of the yearOfConstruction property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getYearOfConstruction() {
return yearOfConstruction;
}
/**
* Sets the value of the yearOfConstruction property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setYearOfConstruction(XMLGregorianCalendar value) {
this.yearOfConstruction = value;
}
public boolean isSetYearOfConstruction() {
return (this.yearOfConstruction!= null);
}
/**
* Gets the value of the yearOfDemolition property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getYearOfDemolition() {
return yearOfDemolition;
}
/**
* Sets the value of the yearOfDemolition property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setYearOfDemolition(XMLGregorianCalendar value) {
this.yearOfDemolition = value;
}
public boolean isSetYearOfDemolition() {
return (this.yearOfDemolition!= null);
}
/**
* Gets the value of the roofType property.
*
* @return
* possible object is
* {@link CodeType }
*
*/
public CodeType getRoofType() {
return roofType;
}
/**
* Sets the value of the roofType property.
*
* @param value
* allowed object is
* {@link CodeType }
*
*/
public void setRoofType(CodeType value) {
this.roofType = value;
}
public boolean isSetRoofType() {
return (this.roofType!= null);
}
/**
* Gets the value of the measuredHeight property.
*
* @return
* possible object is
* {@link LengthType }
*
*/
public LengthType getMeasuredHeight() {
return measuredHeight;
}
/**
* Sets the value of the measuredHeight property.
*
* @param value
* allowed object is
* {@link LengthType }
*
*/
public void setMeasuredHeight(LengthType value) {
this.measuredHeight = value;
}
public boolean isSetMeasuredHeight() {
return (this.measuredHeight!= null);
}
/**
* Gets the value of the storeysAboveGround property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getStoreysAboveGround() {
return storeysAboveGround;
}
/**
* Sets the value of the storeysAboveGround property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setStoreysAboveGround(BigInteger value) {
this.storeysAboveGround = value;
}
public boolean isSetStoreysAboveGround() {
return (this.storeysAboveGround!= null);
}
/**
* Gets the value of the storeysBelowGround property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getStoreysBelowGround() {
return storeysBelowGround;
}
/**
* Sets the value of the storeysBelowGround property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setStoreysBelowGround(BigInteger value) {
this.storeysBelowGround = value;
}
public boolean isSetStoreysBelowGround() {
return (this.storeysBelowGround!= null);
}
/**
* Gets the value of the storeyHeightsAboveGround property.
*
* @return
* possible object is
* {@link MeasureOrNullListType }
*
*/
public MeasureOrNullListType getStoreyHeightsAboveGround() {
return storeyHeightsAboveGround;
}
/**
* Sets the value of the storeyHeightsAboveGround property.
*
* @param value
* allowed object is
* {@link MeasureOrNullListType }
*
*/
public void setStoreyHeightsAboveGround(MeasureOrNullListType value) {
this.storeyHeightsAboveGround = value;
}
public boolean isSetStoreyHeightsAboveGround() {
return (this.storeyHeightsAboveGround!= null);
}
/**
* Gets the value of the storeyHeightsBelowGround property.
*
* @return
* possible object is
* {@link MeasureOrNullListType }
*
*/
public MeasureOrNullListType getStoreyHeightsBelowGround() {
return storeyHeightsBelowGround;
}
/**
* Sets the value of the storeyHeightsBelowGround property.
*
* @param value
* allowed object is
* {@link MeasureOrNullListType }
*
*/
public void setStoreyHeightsBelowGround(MeasureOrNullListType value) {
this.storeyHeightsBelowGround = value;
}
public boolean isSetStoreyHeightsBelowGround() {
return (this.storeyHeightsBelowGround!= null);
}
/**
* Gets the value of the lod0FootPrint property.
*
* @return
* possible object is
* {@link MultiSurfacePropertyType }
*
*/
public MultiSurfacePropertyType getLod0FootPrint() {
return lod0FootPrint;
}
/**
* Sets the value of the lod0FootPrint property.
*
* @param value
* allowed object is
* {@link MultiSurfacePropertyType }
*
*/
public void setLod0FootPrint(MultiSurfacePropertyType value) {
this.lod0FootPrint = value;
}
public boolean isSetLod0FootPrint() {
return (this.lod0FootPrint!= null);
}
/**
* Gets the value of the lod0RoofEdge property.
*
* @return
* possible object is
* {@link MultiSurfacePropertyType }
*
*/
public MultiSurfacePropertyType getLod0RoofEdge() {
return lod0RoofEdge;
}
/**
* Sets the value of the lod0RoofEdge property.
*
* @param value
* allowed object is
* {@link MultiSurfacePropertyType }
*
*/
public void setLod0RoofEdge(MultiSurfacePropertyType value) {
this.lod0RoofEdge = value;
}
public boolean isSetLod0RoofEdge() {
return (this.lod0RoofEdge!= null);
}
/**
* Gets the value of the lod1Solid property.
*
* @return
* possible object is
* {@link SolidPropertyType }
*
*/
public SolidPropertyType getLod1Solid() {
return lod1Solid;
}
/**
* Sets the value of the lod1Solid property.
*
* @param value
* allowed object is
* {@link SolidPropertyType }
*
*/
public void setLod1Solid(SolidPropertyType value) {
this.lod1Solid = value;
}
public boolean isSetLod1Solid() {
return (this.lod1Solid!= null);
}
/**
* Gets the value of the lod1MultiSurface property.
*
* @return
* possible object is
* {@link MultiSurfacePropertyType }
*
*/
public MultiSurfacePropertyType getLod1MultiSurface() {
return lod1MultiSurface;
}
/**
* Sets the value of the lod1MultiSurface property.
*
* @param value
* allowed object is
* {@link MultiSurfacePropertyType }
*
*/
public void setLod1MultiSurface(MultiSurfacePropertyType value) {
this.lod1MultiSurface = value;
}
public boolean isSetLod1MultiSurface() {
return (this.lod1MultiSurface!= null);
}
/**
* Gets the value of the lod1TerrainIntersection property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod1TerrainIntersection() {
return lod1TerrainIntersection;
}
/**
* Sets the value of the lod1TerrainIntersection property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod1TerrainIntersection(MultiCurvePropertyType value) {
this.lod1TerrainIntersection = value;
}
public boolean isSetLod1TerrainIntersection() {
return (this.lod1TerrainIntersection!= null);
}
/**
* Gets the value of the lod2Solid property.
*
* @return
* possible object is
* {@link SolidPropertyType }
*
*/
public SolidPropertyType getLod2Solid() {
return lod2Solid;
}
/**
* Sets the value of the lod2Solid property.
*
* @param value
* allowed object is
* {@link SolidPropertyType }
*
*/
public void setLod2Solid(SolidPropertyType value) {
this.lod2Solid = value;
}
public boolean isSetLod2Solid() {
return (this.lod2Solid!= null);
}
/**
* Gets the value of the lod2MultiSurface property.
*
* @return
* possible object is
* {@link MultiSurfacePropertyType }
*
*/
public MultiSurfacePropertyType getLod2MultiSurface() {
return lod2MultiSurface;
}
/**
* Sets the value of the lod2MultiSurface property.
*
* @param value
* allowed object is
* {@link MultiSurfacePropertyType }
*
*/
public void setLod2MultiSurface(MultiSurfacePropertyType value) {
this.lod2MultiSurface = value;
}
public boolean isSetLod2MultiSurface() {
return (this.lod2MultiSurface!= null);
}
/**
* Gets the value of the lod2MultiCurve property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod2MultiCurve() {
return lod2MultiCurve;
}
/**
* Sets the value of the lod2MultiCurve property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod2MultiCurve(MultiCurvePropertyType value) {
this.lod2MultiCurve = value;
}
public boolean isSetLod2MultiCurve() {
return (this.lod2MultiCurve!= null);
}
/**
* Gets the value of the lod2TerrainIntersection property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod2TerrainIntersection() {
return lod2TerrainIntersection;
}
/**
* Sets the value of the lod2TerrainIntersection property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod2TerrainIntersection(MultiCurvePropertyType value) {
this.lod2TerrainIntersection = value;
}
public boolean isSetLod2TerrainIntersection() {
return (this.lod2TerrainIntersection!= null);
}
/**
* Gets the value of the outerBuildingInstallation 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 outerBuildingInstallation property.
*
*
* For example, to add a new item, do as follows:
*
* getOuterBuildingInstallation().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link BuildingInstallationPropertyType }
*
*
*/
public List getOuterBuildingInstallation() {
if (outerBuildingInstallation == null) {
outerBuildingInstallation = new ArrayList();
}
return this.outerBuildingInstallation;
}
public boolean isSetOuterBuildingInstallation() {
return ((this.outerBuildingInstallation!= null)&&(!this.outerBuildingInstallation.isEmpty()));
}
public void unsetOuterBuildingInstallation() {
this.outerBuildingInstallation = null;
}
/**
* Gets the value of the interiorBuildingInstallation 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 interiorBuildingInstallation property.
*
*
* For example, to add a new item, do as follows:
*
* getInteriorBuildingInstallation().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link IntBuildingInstallationPropertyType }
*
*
*/
public List getInteriorBuildingInstallation() {
if (interiorBuildingInstallation == null) {
interiorBuildingInstallation = new ArrayList();
}
return this.interiorBuildingInstallation;
}
public boolean isSetInteriorBuildingInstallation() {
return ((this.interiorBuildingInstallation!= null)&&(!this.interiorBuildingInstallation.isEmpty()));
}
public void unsetInteriorBuildingInstallation() {
this.interiorBuildingInstallation = null;
}
/**
* Gets the value of the cityObjectBoundedBy 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 cityObjectBoundedBy property.
*
*
* For example, to add a new item, do as follows:
*
* getCityObjectBoundedBy().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link BoundarySurfacePropertyType }
*
*
*/
public List getCityObjectBoundedBy() {
if (cityObjectBoundedBy == null) {
cityObjectBoundedBy = new ArrayList();
}
return this.cityObjectBoundedBy;
}
public boolean isSetCityObjectBoundedBy() {
return ((this.cityObjectBoundedBy!= null)&&(!this.cityObjectBoundedBy.isEmpty()));
}
public void unsetCityObjectBoundedBy() {
this.cityObjectBoundedBy = null;
}
/**
* Gets the value of the lod3Solid property.
*
* @return
* possible object is
* {@link SolidPropertyType }
*
*/
public SolidPropertyType getLod3Solid() {
return lod3Solid;
}
/**
* Sets the value of the lod3Solid property.
*
* @param value
* allowed object is
* {@link SolidPropertyType }
*
*/
public void setLod3Solid(SolidPropertyType value) {
this.lod3Solid = value;
}
public boolean isSetLod3Solid() {
return (this.lod3Solid!= null);
}
/**
* Gets the value of the lod3MultiSurface property.
*
* @return
* possible object is
* {@link MultiSurfacePropertyType }
*
*/
public MultiSurfacePropertyType getLod3MultiSurface() {
return lod3MultiSurface;
}
/**
* Sets the value of the lod3MultiSurface property.
*
* @param value
* allowed object is
* {@link MultiSurfacePropertyType }
*
*/
public void setLod3MultiSurface(MultiSurfacePropertyType value) {
this.lod3MultiSurface = value;
}
public boolean isSetLod3MultiSurface() {
return (this.lod3MultiSurface!= null);
}
/**
* Gets the value of the lod3MultiCurve property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod3MultiCurve() {
return lod3MultiCurve;
}
/**
* Sets the value of the lod3MultiCurve property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod3MultiCurve(MultiCurvePropertyType value) {
this.lod3MultiCurve = value;
}
public boolean isSetLod3MultiCurve() {
return (this.lod3MultiCurve!= null);
}
/**
* Gets the value of the lod3TerrainIntersection property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod3TerrainIntersection() {
return lod3TerrainIntersection;
}
/**
* Sets the value of the lod3TerrainIntersection property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod3TerrainIntersection(MultiCurvePropertyType value) {
this.lod3TerrainIntersection = value;
}
public boolean isSetLod3TerrainIntersection() {
return (this.lod3TerrainIntersection!= null);
}
/**
* Gets the value of the lod4Solid property.
*
* @return
* possible object is
* {@link SolidPropertyType }
*
*/
public SolidPropertyType getLod4Solid() {
return lod4Solid;
}
/**
* Sets the value of the lod4Solid property.
*
* @param value
* allowed object is
* {@link SolidPropertyType }
*
*/
public void setLod4Solid(SolidPropertyType value) {
this.lod4Solid = value;
}
public boolean isSetLod4Solid() {
return (this.lod4Solid!= null);
}
/**
* Gets the value of the lod4MultiSurface property.
*
* @return
* possible object is
* {@link MultiSurfacePropertyType }
*
*/
public MultiSurfacePropertyType getLod4MultiSurface() {
return lod4MultiSurface;
}
/**
* Sets the value of the lod4MultiSurface property.
*
* @param value
* allowed object is
* {@link MultiSurfacePropertyType }
*
*/
public void setLod4MultiSurface(MultiSurfacePropertyType value) {
this.lod4MultiSurface = value;
}
public boolean isSetLod4MultiSurface() {
return (this.lod4MultiSurface!= null);
}
/**
* Gets the value of the lod4MultiCurve property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod4MultiCurve() {
return lod4MultiCurve;
}
/**
* Sets the value of the lod4MultiCurve property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod4MultiCurve(MultiCurvePropertyType value) {
this.lod4MultiCurve = value;
}
public boolean isSetLod4MultiCurve() {
return (this.lod4MultiCurve!= null);
}
/**
* Gets the value of the lod4TerrainIntersection property.
*
* @return
* possible object is
* {@link MultiCurvePropertyType }
*
*/
public MultiCurvePropertyType getLod4TerrainIntersection() {
return lod4TerrainIntersection;
}
/**
* Sets the value of the lod4TerrainIntersection property.
*
* @param value
* allowed object is
* {@link MultiCurvePropertyType }
*
*/
public void setLod4TerrainIntersection(MultiCurvePropertyType value) {
this.lod4TerrainIntersection = value;
}
public boolean isSetLod4TerrainIntersection() {
return (this.lod4TerrainIntersection!= null);
}
/**
* Gets the value of the interiorRoom 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 interiorRoom property.
*
*
* For example, to add a new item, do as follows:
*
* getInteriorRoom().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link InteriorRoomPropertyType }
*
*
*/
public List getInteriorRoom() {
if (interiorRoom == null) {
interiorRoom = new ArrayList();
}
return this.interiorRoom;
}
public boolean isSetInteriorRoom() {
return ((this.interiorRoom!= null)&&(!this.interiorRoom.isEmpty()));
}
public void unsetInteriorRoom() {
this.interiorRoom = null;
}
/**
* Gets the value of the consistsOfBuildingPart 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 consistsOfBuildingPart property.
*
*
* For example, to add a new item, do as follows:
*
* getConsistsOfBuildingPart().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link BuildingPartPropertyType }
*
*
*/
public List getConsistsOfBuildingPart() {
if (consistsOfBuildingPart == null) {
consistsOfBuildingPart = new ArrayList();
}
return this.consistsOfBuildingPart;
}
public boolean isSetConsistsOfBuildingPart() {
return ((this.consistsOfBuildingPart!= null)&&(!this.consistsOfBuildingPart.isEmpty()));
}
public void unsetConsistsOfBuildingPart() {
this.consistsOfBuildingPart = null;
}
/**
* Gets the value of the address 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 address property.
*
*
* For example, to add a new item, do as follows:
*
* getAddress().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link AddressPropertyType }
*
*
*/
public List getAddress() {
if (address == null) {
address = new ArrayList();
}
return this.address;
}
public boolean isSetAddress() {
return ((this.address!= null)&&(!this.address.isEmpty()));
}
public void unsetAddress() {
this.address = null;
}
/**
* Gets the value of the genericApplicationPropertyOfAbstractBuilding 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 genericApplicationPropertyOfAbstractBuilding property.
*
*
* For example, to add a new item, do as follows:
*
* getGenericApplicationPropertyOfAbstractBuilding().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
*/
public List getGenericApplicationPropertyOfAbstractBuilding() {
if (genericApplicationPropertyOfAbstractBuilding == null) {
genericApplicationPropertyOfAbstractBuilding = new ArrayList();
}
return this.genericApplicationPropertyOfAbstractBuilding;
}
public boolean isSetGenericApplicationPropertyOfAbstractBuilding() {
return ((this.genericApplicationPropertyOfAbstractBuilding!= null)&&(!this.genericApplicationPropertyOfAbstractBuilding.isEmpty()));
}
public void unsetGenericApplicationPropertyOfAbstractBuilding() {
this.genericApplicationPropertyOfAbstractBuilding = null;
}
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) {
super.appendFields(locator, buffer, strategy);
{
CodeType theClazz;
theClazz = this.getClazz();
strategy.appendField(locator, this, "clazz", buffer, theClazz, this.isSetClazz());
}
{
List theFunction;
theFunction = (this.isSetFunction()?this.getFunction():null);
strategy.appendField(locator, this, "function", buffer, theFunction, this.isSetFunction());
}
{
List theUsage;
theUsage = (this.isSetUsage()?this.getUsage():null);
strategy.appendField(locator, this, "usage", buffer, theUsage, this.isSetUsage());
}
{
XMLGregorianCalendar theYearOfConstruction;
theYearOfConstruction = this.getYearOfConstruction();
strategy.appendField(locator, this, "yearOfConstruction", buffer, theYearOfConstruction, this.isSetYearOfConstruction());
}
{
XMLGregorianCalendar theYearOfDemolition;
theYearOfDemolition = this.getYearOfDemolition();
strategy.appendField(locator, this, "yearOfDemolition", buffer, theYearOfDemolition, this.isSetYearOfDemolition());
}
{
CodeType theRoofType;
theRoofType = this.getRoofType();
strategy.appendField(locator, this, "roofType", buffer, theRoofType, this.isSetRoofType());
}
{
LengthType theMeasuredHeight;
theMeasuredHeight = this.getMeasuredHeight();
strategy.appendField(locator, this, "measuredHeight", buffer, theMeasuredHeight, this.isSetMeasuredHeight());
}
{
BigInteger theStoreysAboveGround;
theStoreysAboveGround = this.getStoreysAboveGround();
strategy.appendField(locator, this, "storeysAboveGround", buffer, theStoreysAboveGround, this.isSetStoreysAboveGround());
}
{
BigInteger theStoreysBelowGround;
theStoreysBelowGround = this.getStoreysBelowGround();
strategy.appendField(locator, this, "storeysBelowGround", buffer, theStoreysBelowGround, this.isSetStoreysBelowGround());
}
{
MeasureOrNullListType theStoreyHeightsAboveGround;
theStoreyHeightsAboveGround = this.getStoreyHeightsAboveGround();
strategy.appendField(locator, this, "storeyHeightsAboveGround", buffer, theStoreyHeightsAboveGround, this.isSetStoreyHeightsAboveGround());
}
{
MeasureOrNullListType theStoreyHeightsBelowGround;
theStoreyHeightsBelowGround = this.getStoreyHeightsBelowGround();
strategy.appendField(locator, this, "storeyHeightsBelowGround", buffer, theStoreyHeightsBelowGround, this.isSetStoreyHeightsBelowGround());
}
{
MultiSurfacePropertyType theLod0FootPrint;
theLod0FootPrint = this.getLod0FootPrint();
strategy.appendField(locator, this, "lod0FootPrint", buffer, theLod0FootPrint, this.isSetLod0FootPrint());
}
{
MultiSurfacePropertyType theLod0RoofEdge;
theLod0RoofEdge = this.getLod0RoofEdge();
strategy.appendField(locator, this, "lod0RoofEdge", buffer, theLod0RoofEdge, this.isSetLod0RoofEdge());
}
{
SolidPropertyType theLod1Solid;
theLod1Solid = this.getLod1Solid();
strategy.appendField(locator, this, "lod1Solid", buffer, theLod1Solid, this.isSetLod1Solid());
}
{
MultiSurfacePropertyType theLod1MultiSurface;
theLod1MultiSurface = this.getLod1MultiSurface();
strategy.appendField(locator, this, "lod1MultiSurface", buffer, theLod1MultiSurface, this.isSetLod1MultiSurface());
}
{
MultiCurvePropertyType theLod1TerrainIntersection;
theLod1TerrainIntersection = this.getLod1TerrainIntersection();
strategy.appendField(locator, this, "lod1TerrainIntersection", buffer, theLod1TerrainIntersection, this.isSetLod1TerrainIntersection());
}
{
SolidPropertyType theLod2Solid;
theLod2Solid = this.getLod2Solid();
strategy.appendField(locator, this, "lod2Solid", buffer, theLod2Solid, this.isSetLod2Solid());
}
{
MultiSurfacePropertyType theLod2MultiSurface;
theLod2MultiSurface = this.getLod2MultiSurface();
strategy.appendField(locator, this, "lod2MultiSurface", buffer, theLod2MultiSurface, this.isSetLod2MultiSurface());
}
{
MultiCurvePropertyType theLod2MultiCurve;
theLod2MultiCurve = this.getLod2MultiCurve();
strategy.appendField(locator, this, "lod2MultiCurve", buffer, theLod2MultiCurve, this.isSetLod2MultiCurve());
}
{
MultiCurvePropertyType theLod2TerrainIntersection;
theLod2TerrainIntersection = this.getLod2TerrainIntersection();
strategy.appendField(locator, this, "lod2TerrainIntersection", buffer, theLod2TerrainIntersection, this.isSetLod2TerrainIntersection());
}
{
List theOuterBuildingInstallation;
theOuterBuildingInstallation = (this.isSetOuterBuildingInstallation()?this.getOuterBuildingInstallation():null);
strategy.appendField(locator, this, "outerBuildingInstallation", buffer, theOuterBuildingInstallation, this.isSetOuterBuildingInstallation());
}
{
List theInteriorBuildingInstallation;
theInteriorBuildingInstallation = (this.isSetInteriorBuildingInstallation()?this.getInteriorBuildingInstallation():null);
strategy.appendField(locator, this, "interiorBuildingInstallation", buffer, theInteriorBuildingInstallation, this.isSetInteriorBuildingInstallation());
}
{
List theCityObjectBoundedBy;
theCityObjectBoundedBy = (this.isSetCityObjectBoundedBy()?this.getCityObjectBoundedBy():null);
strategy.appendField(locator, this, "cityObjectBoundedBy", buffer, theCityObjectBoundedBy, this.isSetCityObjectBoundedBy());
}
{
SolidPropertyType theLod3Solid;
theLod3Solid = this.getLod3Solid();
strategy.appendField(locator, this, "lod3Solid", buffer, theLod3Solid, this.isSetLod3Solid());
}
{
MultiSurfacePropertyType theLod3MultiSurface;
theLod3MultiSurface = this.getLod3MultiSurface();
strategy.appendField(locator, this, "lod3MultiSurface", buffer, theLod3MultiSurface, this.isSetLod3MultiSurface());
}
{
MultiCurvePropertyType theLod3MultiCurve;
theLod3MultiCurve = this.getLod3MultiCurve();
strategy.appendField(locator, this, "lod3MultiCurve", buffer, theLod3MultiCurve, this.isSetLod3MultiCurve());
}
{
MultiCurvePropertyType theLod3TerrainIntersection;
theLod3TerrainIntersection = this.getLod3TerrainIntersection();
strategy.appendField(locator, this, "lod3TerrainIntersection", buffer, theLod3TerrainIntersection, this.isSetLod3TerrainIntersection());
}
{
SolidPropertyType theLod4Solid;
theLod4Solid = this.getLod4Solid();
strategy.appendField(locator, this, "lod4Solid", buffer, theLod4Solid, this.isSetLod4Solid());
}
{
MultiSurfacePropertyType theLod4MultiSurface;
theLod4MultiSurface = this.getLod4MultiSurface();
strategy.appendField(locator, this, "lod4MultiSurface", buffer, theLod4MultiSurface, this.isSetLod4MultiSurface());
}
{
MultiCurvePropertyType theLod4MultiCurve;
theLod4MultiCurve = this.getLod4MultiCurve();
strategy.appendField(locator, this, "lod4MultiCurve", buffer, theLod4MultiCurve, this.isSetLod4MultiCurve());
}
{
MultiCurvePropertyType theLod4TerrainIntersection;
theLod4TerrainIntersection = this.getLod4TerrainIntersection();
strategy.appendField(locator, this, "lod4TerrainIntersection", buffer, theLod4TerrainIntersection, this.isSetLod4TerrainIntersection());
}
{
List theInteriorRoom;
theInteriorRoom = (this.isSetInteriorRoom()?this.getInteriorRoom():null);
strategy.appendField(locator, this, "interiorRoom", buffer, theInteriorRoom, this.isSetInteriorRoom());
}
{
List theConsistsOfBuildingPart;
theConsistsOfBuildingPart = (this.isSetConsistsOfBuildingPart()?this.getConsistsOfBuildingPart():null);
strategy.appendField(locator, this, "consistsOfBuildingPart", buffer, theConsistsOfBuildingPart, this.isSetConsistsOfBuildingPart());
}
{
List theAddress;
theAddress = (this.isSetAddress()?this.getAddress():null);
strategy.appendField(locator, this, "address", buffer, theAddress, this.isSetAddress());
}
{
List theGenericApplicationPropertyOfAbstractBuilding;
theGenericApplicationPropertyOfAbstractBuilding = (this.isSetGenericApplicationPropertyOfAbstractBuilding()?this.getGenericApplicationPropertyOfAbstractBuilding():null);
strategy.appendField(locator, this, "genericApplicationPropertyOfAbstractBuilding", buffer, theGenericApplicationPropertyOfAbstractBuilding, this.isSetGenericApplicationPropertyOfAbstractBuilding());
}
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;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final AbstractBuildingType that = ((AbstractBuildingType) object);
{
CodeType lhsClazz;
lhsClazz = this.getClazz();
CodeType rhsClazz;
rhsClazz = that.getClazz();
if (!strategy.equals(LocatorUtils.property(thisLocator, "clazz", lhsClazz), LocatorUtils.property(thatLocator, "clazz", rhsClazz), lhsClazz, rhsClazz, this.isSetClazz(), that.isSetClazz())) {
return false;
}
}
{
List lhsFunction;
lhsFunction = (this.isSetFunction()?this.getFunction():null);
List rhsFunction;
rhsFunction = (that.isSetFunction()?that.getFunction():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "function", lhsFunction), LocatorUtils.property(thatLocator, "function", rhsFunction), lhsFunction, rhsFunction, this.isSetFunction(), that.isSetFunction())) {
return false;
}
}
{
List lhsUsage;
lhsUsage = (this.isSetUsage()?this.getUsage():null);
List rhsUsage;
rhsUsage = (that.isSetUsage()?that.getUsage():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "usage", lhsUsage), LocatorUtils.property(thatLocator, "usage", rhsUsage), lhsUsage, rhsUsage, this.isSetUsage(), that.isSetUsage())) {
return false;
}
}
{
XMLGregorianCalendar lhsYearOfConstruction;
lhsYearOfConstruction = this.getYearOfConstruction();
XMLGregorianCalendar rhsYearOfConstruction;
rhsYearOfConstruction = that.getYearOfConstruction();
if (!strategy.equals(LocatorUtils.property(thisLocator, "yearOfConstruction", lhsYearOfConstruction), LocatorUtils.property(thatLocator, "yearOfConstruction", rhsYearOfConstruction), lhsYearOfConstruction, rhsYearOfConstruction, this.isSetYearOfConstruction(), that.isSetYearOfConstruction())) {
return false;
}
}
{
XMLGregorianCalendar lhsYearOfDemolition;
lhsYearOfDemolition = this.getYearOfDemolition();
XMLGregorianCalendar rhsYearOfDemolition;
rhsYearOfDemolition = that.getYearOfDemolition();
if (!strategy.equals(LocatorUtils.property(thisLocator, "yearOfDemolition", lhsYearOfDemolition), LocatorUtils.property(thatLocator, "yearOfDemolition", rhsYearOfDemolition), lhsYearOfDemolition, rhsYearOfDemolition, this.isSetYearOfDemolition(), that.isSetYearOfDemolition())) {
return false;
}
}
{
CodeType lhsRoofType;
lhsRoofType = this.getRoofType();
CodeType rhsRoofType;
rhsRoofType = that.getRoofType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "roofType", lhsRoofType), LocatorUtils.property(thatLocator, "roofType", rhsRoofType), lhsRoofType, rhsRoofType, this.isSetRoofType(), that.isSetRoofType())) {
return false;
}
}
{
LengthType lhsMeasuredHeight;
lhsMeasuredHeight = this.getMeasuredHeight();
LengthType rhsMeasuredHeight;
rhsMeasuredHeight = that.getMeasuredHeight();
if (!strategy.equals(LocatorUtils.property(thisLocator, "measuredHeight", lhsMeasuredHeight), LocatorUtils.property(thatLocator, "measuredHeight", rhsMeasuredHeight), lhsMeasuredHeight, rhsMeasuredHeight, this.isSetMeasuredHeight(), that.isSetMeasuredHeight())) {
return false;
}
}
{
BigInteger lhsStoreysAboveGround;
lhsStoreysAboveGround = this.getStoreysAboveGround();
BigInteger rhsStoreysAboveGround;
rhsStoreysAboveGround = that.getStoreysAboveGround();
if (!strategy.equals(LocatorUtils.property(thisLocator, "storeysAboveGround", lhsStoreysAboveGround), LocatorUtils.property(thatLocator, "storeysAboveGround", rhsStoreysAboveGround), lhsStoreysAboveGround, rhsStoreysAboveGround, this.isSetStoreysAboveGround(), that.isSetStoreysAboveGround())) {
return false;
}
}
{
BigInteger lhsStoreysBelowGround;
lhsStoreysBelowGround = this.getStoreysBelowGround();
BigInteger rhsStoreysBelowGround;
rhsStoreysBelowGround = that.getStoreysBelowGround();
if (!strategy.equals(LocatorUtils.property(thisLocator, "storeysBelowGround", lhsStoreysBelowGround), LocatorUtils.property(thatLocator, "storeysBelowGround", rhsStoreysBelowGround), lhsStoreysBelowGround, rhsStoreysBelowGround, this.isSetStoreysBelowGround(), that.isSetStoreysBelowGround())) {
return false;
}
}
{
MeasureOrNullListType lhsStoreyHeightsAboveGround;
lhsStoreyHeightsAboveGround = this.getStoreyHeightsAboveGround();
MeasureOrNullListType rhsStoreyHeightsAboveGround;
rhsStoreyHeightsAboveGround = that.getStoreyHeightsAboveGround();
if (!strategy.equals(LocatorUtils.property(thisLocator, "storeyHeightsAboveGround", lhsStoreyHeightsAboveGround), LocatorUtils.property(thatLocator, "storeyHeightsAboveGround", rhsStoreyHeightsAboveGround), lhsStoreyHeightsAboveGround, rhsStoreyHeightsAboveGround, this.isSetStoreyHeightsAboveGround(), that.isSetStoreyHeightsAboveGround())) {
return false;
}
}
{
MeasureOrNullListType lhsStoreyHeightsBelowGround;
lhsStoreyHeightsBelowGround = this.getStoreyHeightsBelowGround();
MeasureOrNullListType rhsStoreyHeightsBelowGround;
rhsStoreyHeightsBelowGround = that.getStoreyHeightsBelowGround();
if (!strategy.equals(LocatorUtils.property(thisLocator, "storeyHeightsBelowGround", lhsStoreyHeightsBelowGround), LocatorUtils.property(thatLocator, "storeyHeightsBelowGround", rhsStoreyHeightsBelowGround), lhsStoreyHeightsBelowGround, rhsStoreyHeightsBelowGround, this.isSetStoreyHeightsBelowGround(), that.isSetStoreyHeightsBelowGround())) {
return false;
}
}
{
MultiSurfacePropertyType lhsLod0FootPrint;
lhsLod0FootPrint = this.getLod0FootPrint();
MultiSurfacePropertyType rhsLod0FootPrint;
rhsLod0FootPrint = that.getLod0FootPrint();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod0FootPrint", lhsLod0FootPrint), LocatorUtils.property(thatLocator, "lod0FootPrint", rhsLod0FootPrint), lhsLod0FootPrint, rhsLod0FootPrint, this.isSetLod0FootPrint(), that.isSetLod0FootPrint())) {
return false;
}
}
{
MultiSurfacePropertyType lhsLod0RoofEdge;
lhsLod0RoofEdge = this.getLod0RoofEdge();
MultiSurfacePropertyType rhsLod0RoofEdge;
rhsLod0RoofEdge = that.getLod0RoofEdge();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod0RoofEdge", lhsLod0RoofEdge), LocatorUtils.property(thatLocator, "lod0RoofEdge", rhsLod0RoofEdge), lhsLod0RoofEdge, rhsLod0RoofEdge, this.isSetLod0RoofEdge(), that.isSetLod0RoofEdge())) {
return false;
}
}
{
SolidPropertyType lhsLod1Solid;
lhsLod1Solid = this.getLod1Solid();
SolidPropertyType rhsLod1Solid;
rhsLod1Solid = that.getLod1Solid();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod1Solid", lhsLod1Solid), LocatorUtils.property(thatLocator, "lod1Solid", rhsLod1Solid), lhsLod1Solid, rhsLod1Solid, this.isSetLod1Solid(), that.isSetLod1Solid())) {
return false;
}
}
{
MultiSurfacePropertyType lhsLod1MultiSurface;
lhsLod1MultiSurface = this.getLod1MultiSurface();
MultiSurfacePropertyType rhsLod1MultiSurface;
rhsLod1MultiSurface = that.getLod1MultiSurface();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod1MultiSurface", lhsLod1MultiSurface), LocatorUtils.property(thatLocator, "lod1MultiSurface", rhsLod1MultiSurface), lhsLod1MultiSurface, rhsLod1MultiSurface, this.isSetLod1MultiSurface(), that.isSetLod1MultiSurface())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod1TerrainIntersection;
lhsLod1TerrainIntersection = this.getLod1TerrainIntersection();
MultiCurvePropertyType rhsLod1TerrainIntersection;
rhsLod1TerrainIntersection = that.getLod1TerrainIntersection();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod1TerrainIntersection", lhsLod1TerrainIntersection), LocatorUtils.property(thatLocator, "lod1TerrainIntersection", rhsLod1TerrainIntersection), lhsLod1TerrainIntersection, rhsLod1TerrainIntersection, this.isSetLod1TerrainIntersection(), that.isSetLod1TerrainIntersection())) {
return false;
}
}
{
SolidPropertyType lhsLod2Solid;
lhsLod2Solid = this.getLod2Solid();
SolidPropertyType rhsLod2Solid;
rhsLod2Solid = that.getLod2Solid();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod2Solid", lhsLod2Solid), LocatorUtils.property(thatLocator, "lod2Solid", rhsLod2Solid), lhsLod2Solid, rhsLod2Solid, this.isSetLod2Solid(), that.isSetLod2Solid())) {
return false;
}
}
{
MultiSurfacePropertyType lhsLod2MultiSurface;
lhsLod2MultiSurface = this.getLod2MultiSurface();
MultiSurfacePropertyType rhsLod2MultiSurface;
rhsLod2MultiSurface = that.getLod2MultiSurface();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod2MultiSurface", lhsLod2MultiSurface), LocatorUtils.property(thatLocator, "lod2MultiSurface", rhsLod2MultiSurface), lhsLod2MultiSurface, rhsLod2MultiSurface, this.isSetLod2MultiSurface(), that.isSetLod2MultiSurface())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod2MultiCurve;
lhsLod2MultiCurve = this.getLod2MultiCurve();
MultiCurvePropertyType rhsLod2MultiCurve;
rhsLod2MultiCurve = that.getLod2MultiCurve();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod2MultiCurve", lhsLod2MultiCurve), LocatorUtils.property(thatLocator, "lod2MultiCurve", rhsLod2MultiCurve), lhsLod2MultiCurve, rhsLod2MultiCurve, this.isSetLod2MultiCurve(), that.isSetLod2MultiCurve())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod2TerrainIntersection;
lhsLod2TerrainIntersection = this.getLod2TerrainIntersection();
MultiCurvePropertyType rhsLod2TerrainIntersection;
rhsLod2TerrainIntersection = that.getLod2TerrainIntersection();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod2TerrainIntersection", lhsLod2TerrainIntersection), LocatorUtils.property(thatLocator, "lod2TerrainIntersection", rhsLod2TerrainIntersection), lhsLod2TerrainIntersection, rhsLod2TerrainIntersection, this.isSetLod2TerrainIntersection(), that.isSetLod2TerrainIntersection())) {
return false;
}
}
{
List lhsOuterBuildingInstallation;
lhsOuterBuildingInstallation = (this.isSetOuterBuildingInstallation()?this.getOuterBuildingInstallation():null);
List rhsOuterBuildingInstallation;
rhsOuterBuildingInstallation = (that.isSetOuterBuildingInstallation()?that.getOuterBuildingInstallation():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "outerBuildingInstallation", lhsOuterBuildingInstallation), LocatorUtils.property(thatLocator, "outerBuildingInstallation", rhsOuterBuildingInstallation), lhsOuterBuildingInstallation, rhsOuterBuildingInstallation, this.isSetOuterBuildingInstallation(), that.isSetOuterBuildingInstallation())) {
return false;
}
}
{
List lhsInteriorBuildingInstallation;
lhsInteriorBuildingInstallation = (this.isSetInteriorBuildingInstallation()?this.getInteriorBuildingInstallation():null);
List rhsInteriorBuildingInstallation;
rhsInteriorBuildingInstallation = (that.isSetInteriorBuildingInstallation()?that.getInteriorBuildingInstallation():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "interiorBuildingInstallation", lhsInteriorBuildingInstallation), LocatorUtils.property(thatLocator, "interiorBuildingInstallation", rhsInteriorBuildingInstallation), lhsInteriorBuildingInstallation, rhsInteriorBuildingInstallation, this.isSetInteriorBuildingInstallation(), that.isSetInteriorBuildingInstallation())) {
return false;
}
}
{
List lhsCityObjectBoundedBy;
lhsCityObjectBoundedBy = (this.isSetCityObjectBoundedBy()?this.getCityObjectBoundedBy():null);
List rhsCityObjectBoundedBy;
rhsCityObjectBoundedBy = (that.isSetCityObjectBoundedBy()?that.getCityObjectBoundedBy():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "cityObjectBoundedBy", lhsCityObjectBoundedBy), LocatorUtils.property(thatLocator, "cityObjectBoundedBy", rhsCityObjectBoundedBy), lhsCityObjectBoundedBy, rhsCityObjectBoundedBy, this.isSetCityObjectBoundedBy(), that.isSetCityObjectBoundedBy())) {
return false;
}
}
{
SolidPropertyType lhsLod3Solid;
lhsLod3Solid = this.getLod3Solid();
SolidPropertyType rhsLod3Solid;
rhsLod3Solid = that.getLod3Solid();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod3Solid", lhsLod3Solid), LocatorUtils.property(thatLocator, "lod3Solid", rhsLod3Solid), lhsLod3Solid, rhsLod3Solid, this.isSetLod3Solid(), that.isSetLod3Solid())) {
return false;
}
}
{
MultiSurfacePropertyType lhsLod3MultiSurface;
lhsLod3MultiSurface = this.getLod3MultiSurface();
MultiSurfacePropertyType rhsLod3MultiSurface;
rhsLod3MultiSurface = that.getLod3MultiSurface();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod3MultiSurface", lhsLod3MultiSurface), LocatorUtils.property(thatLocator, "lod3MultiSurface", rhsLod3MultiSurface), lhsLod3MultiSurface, rhsLod3MultiSurface, this.isSetLod3MultiSurface(), that.isSetLod3MultiSurface())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod3MultiCurve;
lhsLod3MultiCurve = this.getLod3MultiCurve();
MultiCurvePropertyType rhsLod3MultiCurve;
rhsLod3MultiCurve = that.getLod3MultiCurve();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod3MultiCurve", lhsLod3MultiCurve), LocatorUtils.property(thatLocator, "lod3MultiCurve", rhsLod3MultiCurve), lhsLod3MultiCurve, rhsLod3MultiCurve, this.isSetLod3MultiCurve(), that.isSetLod3MultiCurve())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod3TerrainIntersection;
lhsLod3TerrainIntersection = this.getLod3TerrainIntersection();
MultiCurvePropertyType rhsLod3TerrainIntersection;
rhsLod3TerrainIntersection = that.getLod3TerrainIntersection();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod3TerrainIntersection", lhsLod3TerrainIntersection), LocatorUtils.property(thatLocator, "lod3TerrainIntersection", rhsLod3TerrainIntersection), lhsLod3TerrainIntersection, rhsLod3TerrainIntersection, this.isSetLod3TerrainIntersection(), that.isSetLod3TerrainIntersection())) {
return false;
}
}
{
SolidPropertyType lhsLod4Solid;
lhsLod4Solid = this.getLod4Solid();
SolidPropertyType rhsLod4Solid;
rhsLod4Solid = that.getLod4Solid();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod4Solid", lhsLod4Solid), LocatorUtils.property(thatLocator, "lod4Solid", rhsLod4Solid), lhsLod4Solid, rhsLod4Solid, this.isSetLod4Solid(), that.isSetLod4Solid())) {
return false;
}
}
{
MultiSurfacePropertyType lhsLod4MultiSurface;
lhsLod4MultiSurface = this.getLod4MultiSurface();
MultiSurfacePropertyType rhsLod4MultiSurface;
rhsLod4MultiSurface = that.getLod4MultiSurface();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod4MultiSurface", lhsLod4MultiSurface), LocatorUtils.property(thatLocator, "lod4MultiSurface", rhsLod4MultiSurface), lhsLod4MultiSurface, rhsLod4MultiSurface, this.isSetLod4MultiSurface(), that.isSetLod4MultiSurface())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod4MultiCurve;
lhsLod4MultiCurve = this.getLod4MultiCurve();
MultiCurvePropertyType rhsLod4MultiCurve;
rhsLod4MultiCurve = that.getLod4MultiCurve();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod4MultiCurve", lhsLod4MultiCurve), LocatorUtils.property(thatLocator, "lod4MultiCurve", rhsLod4MultiCurve), lhsLod4MultiCurve, rhsLod4MultiCurve, this.isSetLod4MultiCurve(), that.isSetLod4MultiCurve())) {
return false;
}
}
{
MultiCurvePropertyType lhsLod4TerrainIntersection;
lhsLod4TerrainIntersection = this.getLod4TerrainIntersection();
MultiCurvePropertyType rhsLod4TerrainIntersection;
rhsLod4TerrainIntersection = that.getLod4TerrainIntersection();
if (!strategy.equals(LocatorUtils.property(thisLocator, "lod4TerrainIntersection", lhsLod4TerrainIntersection), LocatorUtils.property(thatLocator, "lod4TerrainIntersection", rhsLod4TerrainIntersection), lhsLod4TerrainIntersection, rhsLod4TerrainIntersection, this.isSetLod4TerrainIntersection(), that.isSetLod4TerrainIntersection())) {
return false;
}
}
{
List lhsInteriorRoom;
lhsInteriorRoom = (this.isSetInteriorRoom()?this.getInteriorRoom():null);
List rhsInteriorRoom;
rhsInteriorRoom = (that.isSetInteriorRoom()?that.getInteriorRoom():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "interiorRoom", lhsInteriorRoom), LocatorUtils.property(thatLocator, "interiorRoom", rhsInteriorRoom), lhsInteriorRoom, rhsInteriorRoom, this.isSetInteriorRoom(), that.isSetInteriorRoom())) {
return false;
}
}
{
List lhsConsistsOfBuildingPart;
lhsConsistsOfBuildingPart = (this.isSetConsistsOfBuildingPart()?this.getConsistsOfBuildingPart():null);
List rhsConsistsOfBuildingPart;
rhsConsistsOfBuildingPart = (that.isSetConsistsOfBuildingPart()?that.getConsistsOfBuildingPart():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "consistsOfBuildingPart", lhsConsistsOfBuildingPart), LocatorUtils.property(thatLocator, "consistsOfBuildingPart", rhsConsistsOfBuildingPart), lhsConsistsOfBuildingPart, rhsConsistsOfBuildingPart, this.isSetConsistsOfBuildingPart(), that.isSetConsistsOfBuildingPart())) {
return false;
}
}
{
List lhsAddress;
lhsAddress = (this.isSetAddress()?this.getAddress():null);
List rhsAddress;
rhsAddress = (that.isSetAddress()?that.getAddress():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "address", lhsAddress), LocatorUtils.property(thatLocator, "address", rhsAddress), lhsAddress, rhsAddress, this.isSetAddress(), that.isSetAddress())) {
return false;
}
}
{
List lhsGenericApplicationPropertyOfAbstractBuilding;
lhsGenericApplicationPropertyOfAbstractBuilding = (this.isSetGenericApplicationPropertyOfAbstractBuilding()?this.getGenericApplicationPropertyOfAbstractBuilding():null);
List rhsGenericApplicationPropertyOfAbstractBuilding;
rhsGenericApplicationPropertyOfAbstractBuilding = (that.isSetGenericApplicationPropertyOfAbstractBuilding()?that.getGenericApplicationPropertyOfAbstractBuilding():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "genericApplicationPropertyOfAbstractBuilding", lhsGenericApplicationPropertyOfAbstractBuilding), LocatorUtils.property(thatLocator, "genericApplicationPropertyOfAbstractBuilding", rhsGenericApplicationPropertyOfAbstractBuilding), lhsGenericApplicationPropertyOfAbstractBuilding, rhsGenericApplicationPropertyOfAbstractBuilding, this.isSetGenericApplicationPropertyOfAbstractBuilding(), that.isSetGenericApplicationPropertyOfAbstractBuilding())) {
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 = super.hashCode(locator, strategy);
{
CodeType theClazz;
theClazz = this.getClazz();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "clazz", theClazz), currentHashCode, theClazz, this.isSetClazz());
}
{
List theFunction;
theFunction = (this.isSetFunction()?this.getFunction():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "function", theFunction), currentHashCode, theFunction, this.isSetFunction());
}
{
List theUsage;
theUsage = (this.isSetUsage()?this.getUsage():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "usage", theUsage), currentHashCode, theUsage, this.isSetUsage());
}
{
XMLGregorianCalendar theYearOfConstruction;
theYearOfConstruction = this.getYearOfConstruction();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "yearOfConstruction", theYearOfConstruction), currentHashCode, theYearOfConstruction, this.isSetYearOfConstruction());
}
{
XMLGregorianCalendar theYearOfDemolition;
theYearOfDemolition = this.getYearOfDemolition();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "yearOfDemolition", theYearOfDemolition), currentHashCode, theYearOfDemolition, this.isSetYearOfDemolition());
}
{
CodeType theRoofType;
theRoofType = this.getRoofType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "roofType", theRoofType), currentHashCode, theRoofType, this.isSetRoofType());
}
{
LengthType theMeasuredHeight;
theMeasuredHeight = this.getMeasuredHeight();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "measuredHeight", theMeasuredHeight), currentHashCode, theMeasuredHeight, this.isSetMeasuredHeight());
}
{
BigInteger theStoreysAboveGround;
theStoreysAboveGround = this.getStoreysAboveGround();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "storeysAboveGround", theStoreysAboveGround), currentHashCode, theStoreysAboveGround, this.isSetStoreysAboveGround());
}
{
BigInteger theStoreysBelowGround;
theStoreysBelowGround = this.getStoreysBelowGround();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "storeysBelowGround", theStoreysBelowGround), currentHashCode, theStoreysBelowGround, this.isSetStoreysBelowGround());
}
{
MeasureOrNullListType theStoreyHeightsAboveGround;
theStoreyHeightsAboveGround = this.getStoreyHeightsAboveGround();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "storeyHeightsAboveGround", theStoreyHeightsAboveGround), currentHashCode, theStoreyHeightsAboveGround, this.isSetStoreyHeightsAboveGround());
}
{
MeasureOrNullListType theStoreyHeightsBelowGround;
theStoreyHeightsBelowGround = this.getStoreyHeightsBelowGround();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "storeyHeightsBelowGround", theStoreyHeightsBelowGround), currentHashCode, theStoreyHeightsBelowGround, this.isSetStoreyHeightsBelowGround());
}
{
MultiSurfacePropertyType theLod0FootPrint;
theLod0FootPrint = this.getLod0FootPrint();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod0FootPrint", theLod0FootPrint), currentHashCode, theLod0FootPrint, this.isSetLod0FootPrint());
}
{
MultiSurfacePropertyType theLod0RoofEdge;
theLod0RoofEdge = this.getLod0RoofEdge();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod0RoofEdge", theLod0RoofEdge), currentHashCode, theLod0RoofEdge, this.isSetLod0RoofEdge());
}
{
SolidPropertyType theLod1Solid;
theLod1Solid = this.getLod1Solid();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod1Solid", theLod1Solid), currentHashCode, theLod1Solid, this.isSetLod1Solid());
}
{
MultiSurfacePropertyType theLod1MultiSurface;
theLod1MultiSurface = this.getLod1MultiSurface();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod1MultiSurface", theLod1MultiSurface), currentHashCode, theLod1MultiSurface, this.isSetLod1MultiSurface());
}
{
MultiCurvePropertyType theLod1TerrainIntersection;
theLod1TerrainIntersection = this.getLod1TerrainIntersection();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod1TerrainIntersection", theLod1TerrainIntersection), currentHashCode, theLod1TerrainIntersection, this.isSetLod1TerrainIntersection());
}
{
SolidPropertyType theLod2Solid;
theLod2Solid = this.getLod2Solid();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod2Solid", theLod2Solid), currentHashCode, theLod2Solid, this.isSetLod2Solid());
}
{
MultiSurfacePropertyType theLod2MultiSurface;
theLod2MultiSurface = this.getLod2MultiSurface();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod2MultiSurface", theLod2MultiSurface), currentHashCode, theLod2MultiSurface, this.isSetLod2MultiSurface());
}
{
MultiCurvePropertyType theLod2MultiCurve;
theLod2MultiCurve = this.getLod2MultiCurve();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod2MultiCurve", theLod2MultiCurve), currentHashCode, theLod2MultiCurve, this.isSetLod2MultiCurve());
}
{
MultiCurvePropertyType theLod2TerrainIntersection;
theLod2TerrainIntersection = this.getLod2TerrainIntersection();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod2TerrainIntersection", theLod2TerrainIntersection), currentHashCode, theLod2TerrainIntersection, this.isSetLod2TerrainIntersection());
}
{
List theOuterBuildingInstallation;
theOuterBuildingInstallation = (this.isSetOuterBuildingInstallation()?this.getOuterBuildingInstallation():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "outerBuildingInstallation", theOuterBuildingInstallation), currentHashCode, theOuterBuildingInstallation, this.isSetOuterBuildingInstallation());
}
{
List theInteriorBuildingInstallation;
theInteriorBuildingInstallation = (this.isSetInteriorBuildingInstallation()?this.getInteriorBuildingInstallation():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "interiorBuildingInstallation", theInteriorBuildingInstallation), currentHashCode, theInteriorBuildingInstallation, this.isSetInteriorBuildingInstallation());
}
{
List theCityObjectBoundedBy;
theCityObjectBoundedBy = (this.isSetCityObjectBoundedBy()?this.getCityObjectBoundedBy():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "cityObjectBoundedBy", theCityObjectBoundedBy), currentHashCode, theCityObjectBoundedBy, this.isSetCityObjectBoundedBy());
}
{
SolidPropertyType theLod3Solid;
theLod3Solid = this.getLod3Solid();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod3Solid", theLod3Solid), currentHashCode, theLod3Solid, this.isSetLod3Solid());
}
{
MultiSurfacePropertyType theLod3MultiSurface;
theLod3MultiSurface = this.getLod3MultiSurface();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod3MultiSurface", theLod3MultiSurface), currentHashCode, theLod3MultiSurface, this.isSetLod3MultiSurface());
}
{
MultiCurvePropertyType theLod3MultiCurve;
theLod3MultiCurve = this.getLod3MultiCurve();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod3MultiCurve", theLod3MultiCurve), currentHashCode, theLod3MultiCurve, this.isSetLod3MultiCurve());
}
{
MultiCurvePropertyType theLod3TerrainIntersection;
theLod3TerrainIntersection = this.getLod3TerrainIntersection();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod3TerrainIntersection", theLod3TerrainIntersection), currentHashCode, theLod3TerrainIntersection, this.isSetLod3TerrainIntersection());
}
{
SolidPropertyType theLod4Solid;
theLod4Solid = this.getLod4Solid();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod4Solid", theLod4Solid), currentHashCode, theLod4Solid, this.isSetLod4Solid());
}
{
MultiSurfacePropertyType theLod4MultiSurface;
theLod4MultiSurface = this.getLod4MultiSurface();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod4MultiSurface", theLod4MultiSurface), currentHashCode, theLod4MultiSurface, this.isSetLod4MultiSurface());
}
{
MultiCurvePropertyType theLod4MultiCurve;
theLod4MultiCurve = this.getLod4MultiCurve();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod4MultiCurve", theLod4MultiCurve), currentHashCode, theLod4MultiCurve, this.isSetLod4MultiCurve());
}
{
MultiCurvePropertyType theLod4TerrainIntersection;
theLod4TerrainIntersection = this.getLod4TerrainIntersection();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lod4TerrainIntersection", theLod4TerrainIntersection), currentHashCode, theLod4TerrainIntersection, this.isSetLod4TerrainIntersection());
}
{
List theInteriorRoom;
theInteriorRoom = (this.isSetInteriorRoom()?this.getInteriorRoom():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "interiorRoom", theInteriorRoom), currentHashCode, theInteriorRoom, this.isSetInteriorRoom());
}
{
List theConsistsOfBuildingPart;
theConsistsOfBuildingPart = (this.isSetConsistsOfBuildingPart()?this.getConsistsOfBuildingPart():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "consistsOfBuildingPart", theConsistsOfBuildingPart), currentHashCode, theConsistsOfBuildingPart, this.isSetConsistsOfBuildingPart());
}
{
List theAddress;
theAddress = (this.isSetAddress()?this.getAddress():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "address", theAddress), currentHashCode, theAddress, this.isSetAddress());
}
{
List theGenericApplicationPropertyOfAbstractBuilding;
theGenericApplicationPropertyOfAbstractBuilding = (this.isSetGenericApplicationPropertyOfAbstractBuilding()?this.getGenericApplicationPropertyOfAbstractBuilding():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "genericApplicationPropertyOfAbstractBuilding", theGenericApplicationPropertyOfAbstractBuilding), currentHashCode, theGenericApplicationPropertyOfAbstractBuilding, this.isSetGenericApplicationPropertyOfAbstractBuilding());
}
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) {
if (null == target) {
throw new IllegalArgumentException("Target argument must not be null for abstract copyable classes.");
}
super.copyTo(locator, target, strategy);
if (target instanceof AbstractBuildingType) {
final AbstractBuildingType copy = ((AbstractBuildingType) target);
{
Boolean clazzShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetClazz());
if (clazzShouldBeCopiedAndSet == Boolean.TRUE) {
CodeType sourceClazz;
sourceClazz = this.getClazz();
CodeType copyClazz = ((CodeType) strategy.copy(LocatorUtils.property(locator, "clazz", sourceClazz), sourceClazz, this.isSetClazz()));
copy.setClazz(copyClazz);
} else {
if (clazzShouldBeCopiedAndSet == Boolean.FALSE) {
copy.clazz = null;
}
}
}
{
Boolean functionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetFunction());
if (functionShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceFunction;
sourceFunction = (this.isSetFunction()?this.getFunction():null);
@SuppressWarnings("unchecked")
List copyFunction = ((List ) strategy.copy(LocatorUtils.property(locator, "function", sourceFunction), sourceFunction, this.isSetFunction()));
copy.unsetFunction();
if (copyFunction!= null) {
List uniqueFunctionl = copy.getFunction();
uniqueFunctionl.addAll(copyFunction);
}
} else {
if (functionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetFunction();
}
}
}
{
Boolean usageShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUsage());
if (usageShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceUsage;
sourceUsage = (this.isSetUsage()?this.getUsage():null);
@SuppressWarnings("unchecked")
List copyUsage = ((List ) strategy.copy(LocatorUtils.property(locator, "usage", sourceUsage), sourceUsage, this.isSetUsage()));
copy.unsetUsage();
if (copyUsage!= null) {
List uniqueUsagel = copy.getUsage();
uniqueUsagel.addAll(copyUsage);
}
} else {
if (usageShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetUsage();
}
}
}
{
Boolean yearOfConstructionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetYearOfConstruction());
if (yearOfConstructionShouldBeCopiedAndSet == Boolean.TRUE) {
XMLGregorianCalendar sourceYearOfConstruction;
sourceYearOfConstruction = this.getYearOfConstruction();
XMLGregorianCalendar copyYearOfConstruction = ((XMLGregorianCalendar) strategy.copy(LocatorUtils.property(locator, "yearOfConstruction", sourceYearOfConstruction), sourceYearOfConstruction, this.isSetYearOfConstruction()));
copy.setYearOfConstruction(copyYearOfConstruction);
} else {
if (yearOfConstructionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.yearOfConstruction = null;
}
}
}
{
Boolean yearOfDemolitionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetYearOfDemolition());
if (yearOfDemolitionShouldBeCopiedAndSet == Boolean.TRUE) {
XMLGregorianCalendar sourceYearOfDemolition;
sourceYearOfDemolition = this.getYearOfDemolition();
XMLGregorianCalendar copyYearOfDemolition = ((XMLGregorianCalendar) strategy.copy(LocatorUtils.property(locator, "yearOfDemolition", sourceYearOfDemolition), sourceYearOfDemolition, this.isSetYearOfDemolition()));
copy.setYearOfDemolition(copyYearOfDemolition);
} else {
if (yearOfDemolitionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.yearOfDemolition = null;
}
}
}
{
Boolean roofTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetRoofType());
if (roofTypeShouldBeCopiedAndSet == Boolean.TRUE) {
CodeType sourceRoofType;
sourceRoofType = this.getRoofType();
CodeType copyRoofType = ((CodeType) strategy.copy(LocatorUtils.property(locator, "roofType", sourceRoofType), sourceRoofType, this.isSetRoofType()));
copy.setRoofType(copyRoofType);
} else {
if (roofTypeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.roofType = null;
}
}
}
{
Boolean measuredHeightShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMeasuredHeight());
if (measuredHeightShouldBeCopiedAndSet == Boolean.TRUE) {
LengthType sourceMeasuredHeight;
sourceMeasuredHeight = this.getMeasuredHeight();
LengthType copyMeasuredHeight = ((LengthType) strategy.copy(LocatorUtils.property(locator, "measuredHeight", sourceMeasuredHeight), sourceMeasuredHeight, this.isSetMeasuredHeight()));
copy.setMeasuredHeight(copyMeasuredHeight);
} else {
if (measuredHeightShouldBeCopiedAndSet == Boolean.FALSE) {
copy.measuredHeight = null;
}
}
}
{
Boolean storeysAboveGroundShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetStoreysAboveGround());
if (storeysAboveGroundShouldBeCopiedAndSet == Boolean.TRUE) {
BigInteger sourceStoreysAboveGround;
sourceStoreysAboveGround = this.getStoreysAboveGround();
BigInteger copyStoreysAboveGround = ((BigInteger) strategy.copy(LocatorUtils.property(locator, "storeysAboveGround", sourceStoreysAboveGround), sourceStoreysAboveGround, this.isSetStoreysAboveGround()));
copy.setStoreysAboveGround(copyStoreysAboveGround);
} else {
if (storeysAboveGroundShouldBeCopiedAndSet == Boolean.FALSE) {
copy.storeysAboveGround = null;
}
}
}
{
Boolean storeysBelowGroundShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetStoreysBelowGround());
if (storeysBelowGroundShouldBeCopiedAndSet == Boolean.TRUE) {
BigInteger sourceStoreysBelowGround;
sourceStoreysBelowGround = this.getStoreysBelowGround();
BigInteger copyStoreysBelowGround = ((BigInteger) strategy.copy(LocatorUtils.property(locator, "storeysBelowGround", sourceStoreysBelowGround), sourceStoreysBelowGround, this.isSetStoreysBelowGround()));
copy.setStoreysBelowGround(copyStoreysBelowGround);
} else {
if (storeysBelowGroundShouldBeCopiedAndSet == Boolean.FALSE) {
copy.storeysBelowGround = null;
}
}
}
{
Boolean storeyHeightsAboveGroundShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetStoreyHeightsAboveGround());
if (storeyHeightsAboveGroundShouldBeCopiedAndSet == Boolean.TRUE) {
MeasureOrNullListType sourceStoreyHeightsAboveGround;
sourceStoreyHeightsAboveGround = this.getStoreyHeightsAboveGround();
MeasureOrNullListType copyStoreyHeightsAboveGround = ((MeasureOrNullListType) strategy.copy(LocatorUtils.property(locator, "storeyHeightsAboveGround", sourceStoreyHeightsAboveGround), sourceStoreyHeightsAboveGround, this.isSetStoreyHeightsAboveGround()));
copy.setStoreyHeightsAboveGround(copyStoreyHeightsAboveGround);
} else {
if (storeyHeightsAboveGroundShouldBeCopiedAndSet == Boolean.FALSE) {
copy.storeyHeightsAboveGround = null;
}
}
}
{
Boolean storeyHeightsBelowGroundShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetStoreyHeightsBelowGround());
if (storeyHeightsBelowGroundShouldBeCopiedAndSet == Boolean.TRUE) {
MeasureOrNullListType sourceStoreyHeightsBelowGround;
sourceStoreyHeightsBelowGround = this.getStoreyHeightsBelowGround();
MeasureOrNullListType copyStoreyHeightsBelowGround = ((MeasureOrNullListType) strategy.copy(LocatorUtils.property(locator, "storeyHeightsBelowGround", sourceStoreyHeightsBelowGround), sourceStoreyHeightsBelowGround, this.isSetStoreyHeightsBelowGround()));
copy.setStoreyHeightsBelowGround(copyStoreyHeightsBelowGround);
} else {
if (storeyHeightsBelowGroundShouldBeCopiedAndSet == Boolean.FALSE) {
copy.storeyHeightsBelowGround = null;
}
}
}
{
Boolean lod0FootPrintShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod0FootPrint());
if (lod0FootPrintShouldBeCopiedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType sourceLod0FootPrint;
sourceLod0FootPrint = this.getLod0FootPrint();
MultiSurfacePropertyType copyLod0FootPrint = ((MultiSurfacePropertyType) strategy.copy(LocatorUtils.property(locator, "lod0FootPrint", sourceLod0FootPrint), sourceLod0FootPrint, this.isSetLod0FootPrint()));
copy.setLod0FootPrint(copyLod0FootPrint);
} else {
if (lod0FootPrintShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod0FootPrint = null;
}
}
}
{
Boolean lod0RoofEdgeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod0RoofEdge());
if (lod0RoofEdgeShouldBeCopiedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType sourceLod0RoofEdge;
sourceLod0RoofEdge = this.getLod0RoofEdge();
MultiSurfacePropertyType copyLod0RoofEdge = ((MultiSurfacePropertyType) strategy.copy(LocatorUtils.property(locator, "lod0RoofEdge", sourceLod0RoofEdge), sourceLod0RoofEdge, this.isSetLod0RoofEdge()));
copy.setLod0RoofEdge(copyLod0RoofEdge);
} else {
if (lod0RoofEdgeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod0RoofEdge = null;
}
}
}
{
Boolean lod1SolidShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod1Solid());
if (lod1SolidShouldBeCopiedAndSet == Boolean.TRUE) {
SolidPropertyType sourceLod1Solid;
sourceLod1Solid = this.getLod1Solid();
SolidPropertyType copyLod1Solid = ((SolidPropertyType) strategy.copy(LocatorUtils.property(locator, "lod1Solid", sourceLod1Solid), sourceLod1Solid, this.isSetLod1Solid()));
copy.setLod1Solid(copyLod1Solid);
} else {
if (lod1SolidShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod1Solid = null;
}
}
}
{
Boolean lod1MultiSurfaceShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod1MultiSurface());
if (lod1MultiSurfaceShouldBeCopiedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType sourceLod1MultiSurface;
sourceLod1MultiSurface = this.getLod1MultiSurface();
MultiSurfacePropertyType copyLod1MultiSurface = ((MultiSurfacePropertyType) strategy.copy(LocatorUtils.property(locator, "lod1MultiSurface", sourceLod1MultiSurface), sourceLod1MultiSurface, this.isSetLod1MultiSurface()));
copy.setLod1MultiSurface(copyLod1MultiSurface);
} else {
if (lod1MultiSurfaceShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod1MultiSurface = null;
}
}
}
{
Boolean lod1TerrainIntersectionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod1TerrainIntersection());
if (lod1TerrainIntersectionShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod1TerrainIntersection;
sourceLod1TerrainIntersection = this.getLod1TerrainIntersection();
MultiCurvePropertyType copyLod1TerrainIntersection = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod1TerrainIntersection", sourceLod1TerrainIntersection), sourceLod1TerrainIntersection, this.isSetLod1TerrainIntersection()));
copy.setLod1TerrainIntersection(copyLod1TerrainIntersection);
} else {
if (lod1TerrainIntersectionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod1TerrainIntersection = null;
}
}
}
{
Boolean lod2SolidShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod2Solid());
if (lod2SolidShouldBeCopiedAndSet == Boolean.TRUE) {
SolidPropertyType sourceLod2Solid;
sourceLod2Solid = this.getLod2Solid();
SolidPropertyType copyLod2Solid = ((SolidPropertyType) strategy.copy(LocatorUtils.property(locator, "lod2Solid", sourceLod2Solid), sourceLod2Solid, this.isSetLod2Solid()));
copy.setLod2Solid(copyLod2Solid);
} else {
if (lod2SolidShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod2Solid = null;
}
}
}
{
Boolean lod2MultiSurfaceShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod2MultiSurface());
if (lod2MultiSurfaceShouldBeCopiedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType sourceLod2MultiSurface;
sourceLod2MultiSurface = this.getLod2MultiSurface();
MultiSurfacePropertyType copyLod2MultiSurface = ((MultiSurfacePropertyType) strategy.copy(LocatorUtils.property(locator, "lod2MultiSurface", sourceLod2MultiSurface), sourceLod2MultiSurface, this.isSetLod2MultiSurface()));
copy.setLod2MultiSurface(copyLod2MultiSurface);
} else {
if (lod2MultiSurfaceShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod2MultiSurface = null;
}
}
}
{
Boolean lod2MultiCurveShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod2MultiCurve());
if (lod2MultiCurveShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod2MultiCurve;
sourceLod2MultiCurve = this.getLod2MultiCurve();
MultiCurvePropertyType copyLod2MultiCurve = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod2MultiCurve", sourceLod2MultiCurve), sourceLod2MultiCurve, this.isSetLod2MultiCurve()));
copy.setLod2MultiCurve(copyLod2MultiCurve);
} else {
if (lod2MultiCurveShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod2MultiCurve = null;
}
}
}
{
Boolean lod2TerrainIntersectionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod2TerrainIntersection());
if (lod2TerrainIntersectionShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod2TerrainIntersection;
sourceLod2TerrainIntersection = this.getLod2TerrainIntersection();
MultiCurvePropertyType copyLod2TerrainIntersection = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod2TerrainIntersection", sourceLod2TerrainIntersection), sourceLod2TerrainIntersection, this.isSetLod2TerrainIntersection()));
copy.setLod2TerrainIntersection(copyLod2TerrainIntersection);
} else {
if (lod2TerrainIntersectionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod2TerrainIntersection = null;
}
}
}
{
Boolean outerBuildingInstallationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetOuterBuildingInstallation());
if (outerBuildingInstallationShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceOuterBuildingInstallation;
sourceOuterBuildingInstallation = (this.isSetOuterBuildingInstallation()?this.getOuterBuildingInstallation():null);
@SuppressWarnings("unchecked")
List copyOuterBuildingInstallation = ((List ) strategy.copy(LocatorUtils.property(locator, "outerBuildingInstallation", sourceOuterBuildingInstallation), sourceOuterBuildingInstallation, this.isSetOuterBuildingInstallation()));
copy.unsetOuterBuildingInstallation();
if (copyOuterBuildingInstallation!= null) {
List uniqueOuterBuildingInstallationl = copy.getOuterBuildingInstallation();
uniqueOuterBuildingInstallationl.addAll(copyOuterBuildingInstallation);
}
} else {
if (outerBuildingInstallationShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetOuterBuildingInstallation();
}
}
}
{
Boolean interiorBuildingInstallationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetInteriorBuildingInstallation());
if (interiorBuildingInstallationShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceInteriorBuildingInstallation;
sourceInteriorBuildingInstallation = (this.isSetInteriorBuildingInstallation()?this.getInteriorBuildingInstallation():null);
@SuppressWarnings("unchecked")
List copyInteriorBuildingInstallation = ((List ) strategy.copy(LocatorUtils.property(locator, "interiorBuildingInstallation", sourceInteriorBuildingInstallation), sourceInteriorBuildingInstallation, this.isSetInteriorBuildingInstallation()));
copy.unsetInteriorBuildingInstallation();
if (copyInteriorBuildingInstallation!= null) {
List uniqueInteriorBuildingInstallationl = copy.getInteriorBuildingInstallation();
uniqueInteriorBuildingInstallationl.addAll(copyInteriorBuildingInstallation);
}
} else {
if (interiorBuildingInstallationShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetInteriorBuildingInstallation();
}
}
}
{
Boolean cityObjectBoundedByShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCityObjectBoundedBy());
if (cityObjectBoundedByShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceCityObjectBoundedBy;
sourceCityObjectBoundedBy = (this.isSetCityObjectBoundedBy()?this.getCityObjectBoundedBy():null);
@SuppressWarnings("unchecked")
List copyCityObjectBoundedBy = ((List ) strategy.copy(LocatorUtils.property(locator, "cityObjectBoundedBy", sourceCityObjectBoundedBy), sourceCityObjectBoundedBy, this.isSetCityObjectBoundedBy()));
copy.unsetCityObjectBoundedBy();
if (copyCityObjectBoundedBy!= null) {
List uniqueCityObjectBoundedByl = copy.getCityObjectBoundedBy();
uniqueCityObjectBoundedByl.addAll(copyCityObjectBoundedBy);
}
} else {
if (cityObjectBoundedByShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetCityObjectBoundedBy();
}
}
}
{
Boolean lod3SolidShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod3Solid());
if (lod3SolidShouldBeCopiedAndSet == Boolean.TRUE) {
SolidPropertyType sourceLod3Solid;
sourceLod3Solid = this.getLod3Solid();
SolidPropertyType copyLod3Solid = ((SolidPropertyType) strategy.copy(LocatorUtils.property(locator, "lod3Solid", sourceLod3Solid), sourceLod3Solid, this.isSetLod3Solid()));
copy.setLod3Solid(copyLod3Solid);
} else {
if (lod3SolidShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod3Solid = null;
}
}
}
{
Boolean lod3MultiSurfaceShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod3MultiSurface());
if (lod3MultiSurfaceShouldBeCopiedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType sourceLod3MultiSurface;
sourceLod3MultiSurface = this.getLod3MultiSurface();
MultiSurfacePropertyType copyLod3MultiSurface = ((MultiSurfacePropertyType) strategy.copy(LocatorUtils.property(locator, "lod3MultiSurface", sourceLod3MultiSurface), sourceLod3MultiSurface, this.isSetLod3MultiSurface()));
copy.setLod3MultiSurface(copyLod3MultiSurface);
} else {
if (lod3MultiSurfaceShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod3MultiSurface = null;
}
}
}
{
Boolean lod3MultiCurveShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod3MultiCurve());
if (lod3MultiCurveShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod3MultiCurve;
sourceLod3MultiCurve = this.getLod3MultiCurve();
MultiCurvePropertyType copyLod3MultiCurve = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod3MultiCurve", sourceLod3MultiCurve), sourceLod3MultiCurve, this.isSetLod3MultiCurve()));
copy.setLod3MultiCurve(copyLod3MultiCurve);
} else {
if (lod3MultiCurveShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod3MultiCurve = null;
}
}
}
{
Boolean lod3TerrainIntersectionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod3TerrainIntersection());
if (lod3TerrainIntersectionShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod3TerrainIntersection;
sourceLod3TerrainIntersection = this.getLod3TerrainIntersection();
MultiCurvePropertyType copyLod3TerrainIntersection = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod3TerrainIntersection", sourceLod3TerrainIntersection), sourceLod3TerrainIntersection, this.isSetLod3TerrainIntersection()));
copy.setLod3TerrainIntersection(copyLod3TerrainIntersection);
} else {
if (lod3TerrainIntersectionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod3TerrainIntersection = null;
}
}
}
{
Boolean lod4SolidShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod4Solid());
if (lod4SolidShouldBeCopiedAndSet == Boolean.TRUE) {
SolidPropertyType sourceLod4Solid;
sourceLod4Solid = this.getLod4Solid();
SolidPropertyType copyLod4Solid = ((SolidPropertyType) strategy.copy(LocatorUtils.property(locator, "lod4Solid", sourceLod4Solid), sourceLod4Solid, this.isSetLod4Solid()));
copy.setLod4Solid(copyLod4Solid);
} else {
if (lod4SolidShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod4Solid = null;
}
}
}
{
Boolean lod4MultiSurfaceShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod4MultiSurface());
if (lod4MultiSurfaceShouldBeCopiedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType sourceLod4MultiSurface;
sourceLod4MultiSurface = this.getLod4MultiSurface();
MultiSurfacePropertyType copyLod4MultiSurface = ((MultiSurfacePropertyType) strategy.copy(LocatorUtils.property(locator, "lod4MultiSurface", sourceLod4MultiSurface), sourceLod4MultiSurface, this.isSetLod4MultiSurface()));
copy.setLod4MultiSurface(copyLod4MultiSurface);
} else {
if (lod4MultiSurfaceShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod4MultiSurface = null;
}
}
}
{
Boolean lod4MultiCurveShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod4MultiCurve());
if (lod4MultiCurveShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod4MultiCurve;
sourceLod4MultiCurve = this.getLod4MultiCurve();
MultiCurvePropertyType copyLod4MultiCurve = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod4MultiCurve", sourceLod4MultiCurve), sourceLod4MultiCurve, this.isSetLod4MultiCurve()));
copy.setLod4MultiCurve(copyLod4MultiCurve);
} else {
if (lod4MultiCurveShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod4MultiCurve = null;
}
}
}
{
Boolean lod4TerrainIntersectionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLod4TerrainIntersection());
if (lod4TerrainIntersectionShouldBeCopiedAndSet == Boolean.TRUE) {
MultiCurvePropertyType sourceLod4TerrainIntersection;
sourceLod4TerrainIntersection = this.getLod4TerrainIntersection();
MultiCurvePropertyType copyLod4TerrainIntersection = ((MultiCurvePropertyType) strategy.copy(LocatorUtils.property(locator, "lod4TerrainIntersection", sourceLod4TerrainIntersection), sourceLod4TerrainIntersection, this.isSetLod4TerrainIntersection()));
copy.setLod4TerrainIntersection(copyLod4TerrainIntersection);
} else {
if (lod4TerrainIntersectionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.lod4TerrainIntersection = null;
}
}
}
{
Boolean interiorRoomShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetInteriorRoom());
if (interiorRoomShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceInteriorRoom;
sourceInteriorRoom = (this.isSetInteriorRoom()?this.getInteriorRoom():null);
@SuppressWarnings("unchecked")
List copyInteriorRoom = ((List ) strategy.copy(LocatorUtils.property(locator, "interiorRoom", sourceInteriorRoom), sourceInteriorRoom, this.isSetInteriorRoom()));
copy.unsetInteriorRoom();
if (copyInteriorRoom!= null) {
List uniqueInteriorRooml = copy.getInteriorRoom();
uniqueInteriorRooml.addAll(copyInteriorRoom);
}
} else {
if (interiorRoomShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetInteriorRoom();
}
}
}
{
Boolean consistsOfBuildingPartShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetConsistsOfBuildingPart());
if (consistsOfBuildingPartShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceConsistsOfBuildingPart;
sourceConsistsOfBuildingPart = (this.isSetConsistsOfBuildingPart()?this.getConsistsOfBuildingPart():null);
@SuppressWarnings("unchecked")
List copyConsistsOfBuildingPart = ((List ) strategy.copy(LocatorUtils.property(locator, "consistsOfBuildingPart", sourceConsistsOfBuildingPart), sourceConsistsOfBuildingPart, this.isSetConsistsOfBuildingPart()));
copy.unsetConsistsOfBuildingPart();
if (copyConsistsOfBuildingPart!= null) {
List uniqueConsistsOfBuildingPartl = copy.getConsistsOfBuildingPart();
uniqueConsistsOfBuildingPartl.addAll(copyConsistsOfBuildingPart);
}
} else {
if (consistsOfBuildingPartShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetConsistsOfBuildingPart();
}
}
}
{
Boolean addressShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAddress());
if (addressShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceAddress;
sourceAddress = (this.isSetAddress()?this.getAddress():null);
@SuppressWarnings("unchecked")
List copyAddress = ((List ) strategy.copy(LocatorUtils.property(locator, "address", sourceAddress), sourceAddress, this.isSetAddress()));
copy.unsetAddress();
if (copyAddress!= null) {
List uniqueAddressl = copy.getAddress();
uniqueAddressl.addAll(copyAddress);
}
} else {
if (addressShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetAddress();
}
}
}
{
Boolean genericApplicationPropertyOfAbstractBuildingShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetGenericApplicationPropertyOfAbstractBuilding());
if (genericApplicationPropertyOfAbstractBuildingShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceGenericApplicationPropertyOfAbstractBuilding;
sourceGenericApplicationPropertyOfAbstractBuilding = (this.isSetGenericApplicationPropertyOfAbstractBuilding()?this.getGenericApplicationPropertyOfAbstractBuilding():null);
@SuppressWarnings("unchecked")
List copyGenericApplicationPropertyOfAbstractBuilding = ((List ) strategy.copy(LocatorUtils.property(locator, "genericApplicationPropertyOfAbstractBuilding", sourceGenericApplicationPropertyOfAbstractBuilding), sourceGenericApplicationPropertyOfAbstractBuilding, this.isSetGenericApplicationPropertyOfAbstractBuilding()));
copy.unsetGenericApplicationPropertyOfAbstractBuilding();
if (copyGenericApplicationPropertyOfAbstractBuilding!= null) {
List uniqueGenericApplicationPropertyOfAbstractBuildingl = copy.getGenericApplicationPropertyOfAbstractBuilding();
uniqueGenericApplicationPropertyOfAbstractBuildingl.addAll(copyGenericApplicationPropertyOfAbstractBuilding);
}
} else {
if (genericApplicationPropertyOfAbstractBuildingShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetGenericApplicationPropertyOfAbstractBuilding();
}
}
}
}
return target;
}
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) {
super.mergeFrom(leftLocator, rightLocator, left, right, strategy);
if (right instanceof AbstractBuildingType) {
final AbstractBuildingType target = this;
final AbstractBuildingType leftObject = ((AbstractBuildingType) left);
final AbstractBuildingType rightObject = ((AbstractBuildingType) right);
{
Boolean clazzShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetClazz(), rightObject.isSetClazz());
if (clazzShouldBeMergedAndSet == Boolean.TRUE) {
CodeType lhsClazz;
lhsClazz = leftObject.getClazz();
CodeType rhsClazz;
rhsClazz = rightObject.getClazz();
CodeType mergedClazz = ((CodeType) strategy.merge(LocatorUtils.property(leftLocator, "clazz", lhsClazz), LocatorUtils.property(rightLocator, "clazz", rhsClazz), lhsClazz, rhsClazz, leftObject.isSetClazz(), rightObject.isSetClazz()));
target.setClazz(mergedClazz);
} else {
if (clazzShouldBeMergedAndSet == Boolean.FALSE) {
target.clazz = null;
}
}
}
{
Boolean functionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetFunction(), rightObject.isSetFunction());
if (functionShouldBeMergedAndSet == Boolean.TRUE) {
List lhsFunction;
lhsFunction = (leftObject.isSetFunction()?leftObject.getFunction():null);
List rhsFunction;
rhsFunction = (rightObject.isSetFunction()?rightObject.getFunction():null);
List mergedFunction = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "function", lhsFunction), LocatorUtils.property(rightLocator, "function", rhsFunction), lhsFunction, rhsFunction, leftObject.isSetFunction(), rightObject.isSetFunction()));
target.unsetFunction();
if (mergedFunction!= null) {
List uniqueFunctionl = target.getFunction();
uniqueFunctionl.addAll(mergedFunction);
}
} else {
if (functionShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetFunction();
}
}
}
{
Boolean usageShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUsage(), rightObject.isSetUsage());
if (usageShouldBeMergedAndSet == Boolean.TRUE) {
List lhsUsage;
lhsUsage = (leftObject.isSetUsage()?leftObject.getUsage():null);
List rhsUsage;
rhsUsage = (rightObject.isSetUsage()?rightObject.getUsage():null);
List mergedUsage = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "usage", lhsUsage), LocatorUtils.property(rightLocator, "usage", rhsUsage), lhsUsage, rhsUsage, leftObject.isSetUsage(), rightObject.isSetUsage()));
target.unsetUsage();
if (mergedUsage!= null) {
List uniqueUsagel = target.getUsage();
uniqueUsagel.addAll(mergedUsage);
}
} else {
if (usageShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetUsage();
}
}
}
{
Boolean yearOfConstructionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetYearOfConstruction(), rightObject.isSetYearOfConstruction());
if (yearOfConstructionShouldBeMergedAndSet == Boolean.TRUE) {
XMLGregorianCalendar lhsYearOfConstruction;
lhsYearOfConstruction = leftObject.getYearOfConstruction();
XMLGregorianCalendar rhsYearOfConstruction;
rhsYearOfConstruction = rightObject.getYearOfConstruction();
XMLGregorianCalendar mergedYearOfConstruction = ((XMLGregorianCalendar) strategy.merge(LocatorUtils.property(leftLocator, "yearOfConstruction", lhsYearOfConstruction), LocatorUtils.property(rightLocator, "yearOfConstruction", rhsYearOfConstruction), lhsYearOfConstruction, rhsYearOfConstruction, leftObject.isSetYearOfConstruction(), rightObject.isSetYearOfConstruction()));
target.setYearOfConstruction(mergedYearOfConstruction);
} else {
if (yearOfConstructionShouldBeMergedAndSet == Boolean.FALSE) {
target.yearOfConstruction = null;
}
}
}
{
Boolean yearOfDemolitionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetYearOfDemolition(), rightObject.isSetYearOfDemolition());
if (yearOfDemolitionShouldBeMergedAndSet == Boolean.TRUE) {
XMLGregorianCalendar lhsYearOfDemolition;
lhsYearOfDemolition = leftObject.getYearOfDemolition();
XMLGregorianCalendar rhsYearOfDemolition;
rhsYearOfDemolition = rightObject.getYearOfDemolition();
XMLGregorianCalendar mergedYearOfDemolition = ((XMLGregorianCalendar) strategy.merge(LocatorUtils.property(leftLocator, "yearOfDemolition", lhsYearOfDemolition), LocatorUtils.property(rightLocator, "yearOfDemolition", rhsYearOfDemolition), lhsYearOfDemolition, rhsYearOfDemolition, leftObject.isSetYearOfDemolition(), rightObject.isSetYearOfDemolition()));
target.setYearOfDemolition(mergedYearOfDemolition);
} else {
if (yearOfDemolitionShouldBeMergedAndSet == Boolean.FALSE) {
target.yearOfDemolition = null;
}
}
}
{
Boolean roofTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetRoofType(), rightObject.isSetRoofType());
if (roofTypeShouldBeMergedAndSet == Boolean.TRUE) {
CodeType lhsRoofType;
lhsRoofType = leftObject.getRoofType();
CodeType rhsRoofType;
rhsRoofType = rightObject.getRoofType();
CodeType mergedRoofType = ((CodeType) strategy.merge(LocatorUtils.property(leftLocator, "roofType", lhsRoofType), LocatorUtils.property(rightLocator, "roofType", rhsRoofType), lhsRoofType, rhsRoofType, leftObject.isSetRoofType(), rightObject.isSetRoofType()));
target.setRoofType(mergedRoofType);
} else {
if (roofTypeShouldBeMergedAndSet == Boolean.FALSE) {
target.roofType = null;
}
}
}
{
Boolean measuredHeightShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMeasuredHeight(), rightObject.isSetMeasuredHeight());
if (measuredHeightShouldBeMergedAndSet == Boolean.TRUE) {
LengthType lhsMeasuredHeight;
lhsMeasuredHeight = leftObject.getMeasuredHeight();
LengthType rhsMeasuredHeight;
rhsMeasuredHeight = rightObject.getMeasuredHeight();
LengthType mergedMeasuredHeight = ((LengthType) strategy.merge(LocatorUtils.property(leftLocator, "measuredHeight", lhsMeasuredHeight), LocatorUtils.property(rightLocator, "measuredHeight", rhsMeasuredHeight), lhsMeasuredHeight, rhsMeasuredHeight, leftObject.isSetMeasuredHeight(), rightObject.isSetMeasuredHeight()));
target.setMeasuredHeight(mergedMeasuredHeight);
} else {
if (measuredHeightShouldBeMergedAndSet == Boolean.FALSE) {
target.measuredHeight = null;
}
}
}
{
Boolean storeysAboveGroundShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetStoreysAboveGround(), rightObject.isSetStoreysAboveGround());
if (storeysAboveGroundShouldBeMergedAndSet == Boolean.TRUE) {
BigInteger lhsStoreysAboveGround;
lhsStoreysAboveGround = leftObject.getStoreysAboveGround();
BigInteger rhsStoreysAboveGround;
rhsStoreysAboveGround = rightObject.getStoreysAboveGround();
BigInteger mergedStoreysAboveGround = ((BigInteger) strategy.merge(LocatorUtils.property(leftLocator, "storeysAboveGround", lhsStoreysAboveGround), LocatorUtils.property(rightLocator, "storeysAboveGround", rhsStoreysAboveGround), lhsStoreysAboveGround, rhsStoreysAboveGround, leftObject.isSetStoreysAboveGround(), rightObject.isSetStoreysAboveGround()));
target.setStoreysAboveGround(mergedStoreysAboveGround);
} else {
if (storeysAboveGroundShouldBeMergedAndSet == Boolean.FALSE) {
target.storeysAboveGround = null;
}
}
}
{
Boolean storeysBelowGroundShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetStoreysBelowGround(), rightObject.isSetStoreysBelowGround());
if (storeysBelowGroundShouldBeMergedAndSet == Boolean.TRUE) {
BigInteger lhsStoreysBelowGround;
lhsStoreysBelowGround = leftObject.getStoreysBelowGround();
BigInteger rhsStoreysBelowGround;
rhsStoreysBelowGround = rightObject.getStoreysBelowGround();
BigInteger mergedStoreysBelowGround = ((BigInteger) strategy.merge(LocatorUtils.property(leftLocator, "storeysBelowGround", lhsStoreysBelowGround), LocatorUtils.property(rightLocator, "storeysBelowGround", rhsStoreysBelowGround), lhsStoreysBelowGround, rhsStoreysBelowGround, leftObject.isSetStoreysBelowGround(), rightObject.isSetStoreysBelowGround()));
target.setStoreysBelowGround(mergedStoreysBelowGround);
} else {
if (storeysBelowGroundShouldBeMergedAndSet == Boolean.FALSE) {
target.storeysBelowGround = null;
}
}
}
{
Boolean storeyHeightsAboveGroundShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetStoreyHeightsAboveGround(), rightObject.isSetStoreyHeightsAboveGround());
if (storeyHeightsAboveGroundShouldBeMergedAndSet == Boolean.TRUE) {
MeasureOrNullListType lhsStoreyHeightsAboveGround;
lhsStoreyHeightsAboveGround = leftObject.getStoreyHeightsAboveGround();
MeasureOrNullListType rhsStoreyHeightsAboveGround;
rhsStoreyHeightsAboveGround = rightObject.getStoreyHeightsAboveGround();
MeasureOrNullListType mergedStoreyHeightsAboveGround = ((MeasureOrNullListType) strategy.merge(LocatorUtils.property(leftLocator, "storeyHeightsAboveGround", lhsStoreyHeightsAboveGround), LocatorUtils.property(rightLocator, "storeyHeightsAboveGround", rhsStoreyHeightsAboveGround), lhsStoreyHeightsAboveGround, rhsStoreyHeightsAboveGround, leftObject.isSetStoreyHeightsAboveGround(), rightObject.isSetStoreyHeightsAboveGround()));
target.setStoreyHeightsAboveGround(mergedStoreyHeightsAboveGround);
} else {
if (storeyHeightsAboveGroundShouldBeMergedAndSet == Boolean.FALSE) {
target.storeyHeightsAboveGround = null;
}
}
}
{
Boolean storeyHeightsBelowGroundShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetStoreyHeightsBelowGround(), rightObject.isSetStoreyHeightsBelowGround());
if (storeyHeightsBelowGroundShouldBeMergedAndSet == Boolean.TRUE) {
MeasureOrNullListType lhsStoreyHeightsBelowGround;
lhsStoreyHeightsBelowGround = leftObject.getStoreyHeightsBelowGround();
MeasureOrNullListType rhsStoreyHeightsBelowGround;
rhsStoreyHeightsBelowGround = rightObject.getStoreyHeightsBelowGround();
MeasureOrNullListType mergedStoreyHeightsBelowGround = ((MeasureOrNullListType) strategy.merge(LocatorUtils.property(leftLocator, "storeyHeightsBelowGround", lhsStoreyHeightsBelowGround), LocatorUtils.property(rightLocator, "storeyHeightsBelowGround", rhsStoreyHeightsBelowGround), lhsStoreyHeightsBelowGround, rhsStoreyHeightsBelowGround, leftObject.isSetStoreyHeightsBelowGround(), rightObject.isSetStoreyHeightsBelowGround()));
target.setStoreyHeightsBelowGround(mergedStoreyHeightsBelowGround);
} else {
if (storeyHeightsBelowGroundShouldBeMergedAndSet == Boolean.FALSE) {
target.storeyHeightsBelowGround = null;
}
}
}
{
Boolean lod0FootPrintShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod0FootPrint(), rightObject.isSetLod0FootPrint());
if (lod0FootPrintShouldBeMergedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType lhsLod0FootPrint;
lhsLod0FootPrint = leftObject.getLod0FootPrint();
MultiSurfacePropertyType rhsLod0FootPrint;
rhsLod0FootPrint = rightObject.getLod0FootPrint();
MultiSurfacePropertyType mergedLod0FootPrint = ((MultiSurfacePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod0FootPrint", lhsLod0FootPrint), LocatorUtils.property(rightLocator, "lod0FootPrint", rhsLod0FootPrint), lhsLod0FootPrint, rhsLod0FootPrint, leftObject.isSetLod0FootPrint(), rightObject.isSetLod0FootPrint()));
target.setLod0FootPrint(mergedLod0FootPrint);
} else {
if (lod0FootPrintShouldBeMergedAndSet == Boolean.FALSE) {
target.lod0FootPrint = null;
}
}
}
{
Boolean lod0RoofEdgeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod0RoofEdge(), rightObject.isSetLod0RoofEdge());
if (lod0RoofEdgeShouldBeMergedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType lhsLod0RoofEdge;
lhsLod0RoofEdge = leftObject.getLod0RoofEdge();
MultiSurfacePropertyType rhsLod0RoofEdge;
rhsLod0RoofEdge = rightObject.getLod0RoofEdge();
MultiSurfacePropertyType mergedLod0RoofEdge = ((MultiSurfacePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod0RoofEdge", lhsLod0RoofEdge), LocatorUtils.property(rightLocator, "lod0RoofEdge", rhsLod0RoofEdge), lhsLod0RoofEdge, rhsLod0RoofEdge, leftObject.isSetLod0RoofEdge(), rightObject.isSetLod0RoofEdge()));
target.setLod0RoofEdge(mergedLod0RoofEdge);
} else {
if (lod0RoofEdgeShouldBeMergedAndSet == Boolean.FALSE) {
target.lod0RoofEdge = null;
}
}
}
{
Boolean lod1SolidShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod1Solid(), rightObject.isSetLod1Solid());
if (lod1SolidShouldBeMergedAndSet == Boolean.TRUE) {
SolidPropertyType lhsLod1Solid;
lhsLod1Solid = leftObject.getLod1Solid();
SolidPropertyType rhsLod1Solid;
rhsLod1Solid = rightObject.getLod1Solid();
SolidPropertyType mergedLod1Solid = ((SolidPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod1Solid", lhsLod1Solid), LocatorUtils.property(rightLocator, "lod1Solid", rhsLod1Solid), lhsLod1Solid, rhsLod1Solid, leftObject.isSetLod1Solid(), rightObject.isSetLod1Solid()));
target.setLod1Solid(mergedLod1Solid);
} else {
if (lod1SolidShouldBeMergedAndSet == Boolean.FALSE) {
target.lod1Solid = null;
}
}
}
{
Boolean lod1MultiSurfaceShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod1MultiSurface(), rightObject.isSetLod1MultiSurface());
if (lod1MultiSurfaceShouldBeMergedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType lhsLod1MultiSurface;
lhsLod1MultiSurface = leftObject.getLod1MultiSurface();
MultiSurfacePropertyType rhsLod1MultiSurface;
rhsLod1MultiSurface = rightObject.getLod1MultiSurface();
MultiSurfacePropertyType mergedLod1MultiSurface = ((MultiSurfacePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod1MultiSurface", lhsLod1MultiSurface), LocatorUtils.property(rightLocator, "lod1MultiSurface", rhsLod1MultiSurface), lhsLod1MultiSurface, rhsLod1MultiSurface, leftObject.isSetLod1MultiSurface(), rightObject.isSetLod1MultiSurface()));
target.setLod1MultiSurface(mergedLod1MultiSurface);
} else {
if (lod1MultiSurfaceShouldBeMergedAndSet == Boolean.FALSE) {
target.lod1MultiSurface = null;
}
}
}
{
Boolean lod1TerrainIntersectionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod1TerrainIntersection(), rightObject.isSetLod1TerrainIntersection());
if (lod1TerrainIntersectionShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod1TerrainIntersection;
lhsLod1TerrainIntersection = leftObject.getLod1TerrainIntersection();
MultiCurvePropertyType rhsLod1TerrainIntersection;
rhsLod1TerrainIntersection = rightObject.getLod1TerrainIntersection();
MultiCurvePropertyType mergedLod1TerrainIntersection = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod1TerrainIntersection", lhsLod1TerrainIntersection), LocatorUtils.property(rightLocator, "lod1TerrainIntersection", rhsLod1TerrainIntersection), lhsLod1TerrainIntersection, rhsLod1TerrainIntersection, leftObject.isSetLod1TerrainIntersection(), rightObject.isSetLod1TerrainIntersection()));
target.setLod1TerrainIntersection(mergedLod1TerrainIntersection);
} else {
if (lod1TerrainIntersectionShouldBeMergedAndSet == Boolean.FALSE) {
target.lod1TerrainIntersection = null;
}
}
}
{
Boolean lod2SolidShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod2Solid(), rightObject.isSetLod2Solid());
if (lod2SolidShouldBeMergedAndSet == Boolean.TRUE) {
SolidPropertyType lhsLod2Solid;
lhsLod2Solid = leftObject.getLod2Solid();
SolidPropertyType rhsLod2Solid;
rhsLod2Solid = rightObject.getLod2Solid();
SolidPropertyType mergedLod2Solid = ((SolidPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod2Solid", lhsLod2Solid), LocatorUtils.property(rightLocator, "lod2Solid", rhsLod2Solid), lhsLod2Solid, rhsLod2Solid, leftObject.isSetLod2Solid(), rightObject.isSetLod2Solid()));
target.setLod2Solid(mergedLod2Solid);
} else {
if (lod2SolidShouldBeMergedAndSet == Boolean.FALSE) {
target.lod2Solid = null;
}
}
}
{
Boolean lod2MultiSurfaceShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod2MultiSurface(), rightObject.isSetLod2MultiSurface());
if (lod2MultiSurfaceShouldBeMergedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType lhsLod2MultiSurface;
lhsLod2MultiSurface = leftObject.getLod2MultiSurface();
MultiSurfacePropertyType rhsLod2MultiSurface;
rhsLod2MultiSurface = rightObject.getLod2MultiSurface();
MultiSurfacePropertyType mergedLod2MultiSurface = ((MultiSurfacePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod2MultiSurface", lhsLod2MultiSurface), LocatorUtils.property(rightLocator, "lod2MultiSurface", rhsLod2MultiSurface), lhsLod2MultiSurface, rhsLod2MultiSurface, leftObject.isSetLod2MultiSurface(), rightObject.isSetLod2MultiSurface()));
target.setLod2MultiSurface(mergedLod2MultiSurface);
} else {
if (lod2MultiSurfaceShouldBeMergedAndSet == Boolean.FALSE) {
target.lod2MultiSurface = null;
}
}
}
{
Boolean lod2MultiCurveShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod2MultiCurve(), rightObject.isSetLod2MultiCurve());
if (lod2MultiCurveShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod2MultiCurve;
lhsLod2MultiCurve = leftObject.getLod2MultiCurve();
MultiCurvePropertyType rhsLod2MultiCurve;
rhsLod2MultiCurve = rightObject.getLod2MultiCurve();
MultiCurvePropertyType mergedLod2MultiCurve = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod2MultiCurve", lhsLod2MultiCurve), LocatorUtils.property(rightLocator, "lod2MultiCurve", rhsLod2MultiCurve), lhsLod2MultiCurve, rhsLod2MultiCurve, leftObject.isSetLod2MultiCurve(), rightObject.isSetLod2MultiCurve()));
target.setLod2MultiCurve(mergedLod2MultiCurve);
} else {
if (lod2MultiCurveShouldBeMergedAndSet == Boolean.FALSE) {
target.lod2MultiCurve = null;
}
}
}
{
Boolean lod2TerrainIntersectionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod2TerrainIntersection(), rightObject.isSetLod2TerrainIntersection());
if (lod2TerrainIntersectionShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod2TerrainIntersection;
lhsLod2TerrainIntersection = leftObject.getLod2TerrainIntersection();
MultiCurvePropertyType rhsLod2TerrainIntersection;
rhsLod2TerrainIntersection = rightObject.getLod2TerrainIntersection();
MultiCurvePropertyType mergedLod2TerrainIntersection = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod2TerrainIntersection", lhsLod2TerrainIntersection), LocatorUtils.property(rightLocator, "lod2TerrainIntersection", rhsLod2TerrainIntersection), lhsLod2TerrainIntersection, rhsLod2TerrainIntersection, leftObject.isSetLod2TerrainIntersection(), rightObject.isSetLod2TerrainIntersection()));
target.setLod2TerrainIntersection(mergedLod2TerrainIntersection);
} else {
if (lod2TerrainIntersectionShouldBeMergedAndSet == Boolean.FALSE) {
target.lod2TerrainIntersection = null;
}
}
}
{
Boolean outerBuildingInstallationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetOuterBuildingInstallation(), rightObject.isSetOuterBuildingInstallation());
if (outerBuildingInstallationShouldBeMergedAndSet == Boolean.TRUE) {
List lhsOuterBuildingInstallation;
lhsOuterBuildingInstallation = (leftObject.isSetOuterBuildingInstallation()?leftObject.getOuterBuildingInstallation():null);
List rhsOuterBuildingInstallation;
rhsOuterBuildingInstallation = (rightObject.isSetOuterBuildingInstallation()?rightObject.getOuterBuildingInstallation():null);
List mergedOuterBuildingInstallation = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "outerBuildingInstallation", lhsOuterBuildingInstallation), LocatorUtils.property(rightLocator, "outerBuildingInstallation", rhsOuterBuildingInstallation), lhsOuterBuildingInstallation, rhsOuterBuildingInstallation, leftObject.isSetOuterBuildingInstallation(), rightObject.isSetOuterBuildingInstallation()));
target.unsetOuterBuildingInstallation();
if (mergedOuterBuildingInstallation!= null) {
List uniqueOuterBuildingInstallationl = target.getOuterBuildingInstallation();
uniqueOuterBuildingInstallationl.addAll(mergedOuterBuildingInstallation);
}
} else {
if (outerBuildingInstallationShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetOuterBuildingInstallation();
}
}
}
{
Boolean interiorBuildingInstallationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetInteriorBuildingInstallation(), rightObject.isSetInteriorBuildingInstallation());
if (interiorBuildingInstallationShouldBeMergedAndSet == Boolean.TRUE) {
List lhsInteriorBuildingInstallation;
lhsInteriorBuildingInstallation = (leftObject.isSetInteriorBuildingInstallation()?leftObject.getInteriorBuildingInstallation():null);
List rhsInteriorBuildingInstallation;
rhsInteriorBuildingInstallation = (rightObject.isSetInteriorBuildingInstallation()?rightObject.getInteriorBuildingInstallation():null);
List mergedInteriorBuildingInstallation = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "interiorBuildingInstallation", lhsInteriorBuildingInstallation), LocatorUtils.property(rightLocator, "interiorBuildingInstallation", rhsInteriorBuildingInstallation), lhsInteriorBuildingInstallation, rhsInteriorBuildingInstallation, leftObject.isSetInteriorBuildingInstallation(), rightObject.isSetInteriorBuildingInstallation()));
target.unsetInteriorBuildingInstallation();
if (mergedInteriorBuildingInstallation!= null) {
List uniqueInteriorBuildingInstallationl = target.getInteriorBuildingInstallation();
uniqueInteriorBuildingInstallationl.addAll(mergedInteriorBuildingInstallation);
}
} else {
if (interiorBuildingInstallationShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetInteriorBuildingInstallation();
}
}
}
{
Boolean cityObjectBoundedByShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCityObjectBoundedBy(), rightObject.isSetCityObjectBoundedBy());
if (cityObjectBoundedByShouldBeMergedAndSet == Boolean.TRUE) {
List lhsCityObjectBoundedBy;
lhsCityObjectBoundedBy = (leftObject.isSetCityObjectBoundedBy()?leftObject.getCityObjectBoundedBy():null);
List rhsCityObjectBoundedBy;
rhsCityObjectBoundedBy = (rightObject.isSetCityObjectBoundedBy()?rightObject.getCityObjectBoundedBy():null);
List mergedCityObjectBoundedBy = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "cityObjectBoundedBy", lhsCityObjectBoundedBy), LocatorUtils.property(rightLocator, "cityObjectBoundedBy", rhsCityObjectBoundedBy), lhsCityObjectBoundedBy, rhsCityObjectBoundedBy, leftObject.isSetCityObjectBoundedBy(), rightObject.isSetCityObjectBoundedBy()));
target.unsetCityObjectBoundedBy();
if (mergedCityObjectBoundedBy!= null) {
List uniqueCityObjectBoundedByl = target.getCityObjectBoundedBy();
uniqueCityObjectBoundedByl.addAll(mergedCityObjectBoundedBy);
}
} else {
if (cityObjectBoundedByShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetCityObjectBoundedBy();
}
}
}
{
Boolean lod3SolidShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod3Solid(), rightObject.isSetLod3Solid());
if (lod3SolidShouldBeMergedAndSet == Boolean.TRUE) {
SolidPropertyType lhsLod3Solid;
lhsLod3Solid = leftObject.getLod3Solid();
SolidPropertyType rhsLod3Solid;
rhsLod3Solid = rightObject.getLod3Solid();
SolidPropertyType mergedLod3Solid = ((SolidPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod3Solid", lhsLod3Solid), LocatorUtils.property(rightLocator, "lod3Solid", rhsLod3Solid), lhsLod3Solid, rhsLod3Solid, leftObject.isSetLod3Solid(), rightObject.isSetLod3Solid()));
target.setLod3Solid(mergedLod3Solid);
} else {
if (lod3SolidShouldBeMergedAndSet == Boolean.FALSE) {
target.lod3Solid = null;
}
}
}
{
Boolean lod3MultiSurfaceShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod3MultiSurface(), rightObject.isSetLod3MultiSurface());
if (lod3MultiSurfaceShouldBeMergedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType lhsLod3MultiSurface;
lhsLod3MultiSurface = leftObject.getLod3MultiSurface();
MultiSurfacePropertyType rhsLod3MultiSurface;
rhsLod3MultiSurface = rightObject.getLod3MultiSurface();
MultiSurfacePropertyType mergedLod3MultiSurface = ((MultiSurfacePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod3MultiSurface", lhsLod3MultiSurface), LocatorUtils.property(rightLocator, "lod3MultiSurface", rhsLod3MultiSurface), lhsLod3MultiSurface, rhsLod3MultiSurface, leftObject.isSetLod3MultiSurface(), rightObject.isSetLod3MultiSurface()));
target.setLod3MultiSurface(mergedLod3MultiSurface);
} else {
if (lod3MultiSurfaceShouldBeMergedAndSet == Boolean.FALSE) {
target.lod3MultiSurface = null;
}
}
}
{
Boolean lod3MultiCurveShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod3MultiCurve(), rightObject.isSetLod3MultiCurve());
if (lod3MultiCurveShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod3MultiCurve;
lhsLod3MultiCurve = leftObject.getLod3MultiCurve();
MultiCurvePropertyType rhsLod3MultiCurve;
rhsLod3MultiCurve = rightObject.getLod3MultiCurve();
MultiCurvePropertyType mergedLod3MultiCurve = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod3MultiCurve", lhsLod3MultiCurve), LocatorUtils.property(rightLocator, "lod3MultiCurve", rhsLod3MultiCurve), lhsLod3MultiCurve, rhsLod3MultiCurve, leftObject.isSetLod3MultiCurve(), rightObject.isSetLod3MultiCurve()));
target.setLod3MultiCurve(mergedLod3MultiCurve);
} else {
if (lod3MultiCurveShouldBeMergedAndSet == Boolean.FALSE) {
target.lod3MultiCurve = null;
}
}
}
{
Boolean lod3TerrainIntersectionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod3TerrainIntersection(), rightObject.isSetLod3TerrainIntersection());
if (lod3TerrainIntersectionShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod3TerrainIntersection;
lhsLod3TerrainIntersection = leftObject.getLod3TerrainIntersection();
MultiCurvePropertyType rhsLod3TerrainIntersection;
rhsLod3TerrainIntersection = rightObject.getLod3TerrainIntersection();
MultiCurvePropertyType mergedLod3TerrainIntersection = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod3TerrainIntersection", lhsLod3TerrainIntersection), LocatorUtils.property(rightLocator, "lod3TerrainIntersection", rhsLod3TerrainIntersection), lhsLod3TerrainIntersection, rhsLod3TerrainIntersection, leftObject.isSetLod3TerrainIntersection(), rightObject.isSetLod3TerrainIntersection()));
target.setLod3TerrainIntersection(mergedLod3TerrainIntersection);
} else {
if (lod3TerrainIntersectionShouldBeMergedAndSet == Boolean.FALSE) {
target.lod3TerrainIntersection = null;
}
}
}
{
Boolean lod4SolidShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod4Solid(), rightObject.isSetLod4Solid());
if (lod4SolidShouldBeMergedAndSet == Boolean.TRUE) {
SolidPropertyType lhsLod4Solid;
lhsLod4Solid = leftObject.getLod4Solid();
SolidPropertyType rhsLod4Solid;
rhsLod4Solid = rightObject.getLod4Solid();
SolidPropertyType mergedLod4Solid = ((SolidPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod4Solid", lhsLod4Solid), LocatorUtils.property(rightLocator, "lod4Solid", rhsLod4Solid), lhsLod4Solid, rhsLod4Solid, leftObject.isSetLod4Solid(), rightObject.isSetLod4Solid()));
target.setLod4Solid(mergedLod4Solid);
} else {
if (lod4SolidShouldBeMergedAndSet == Boolean.FALSE) {
target.lod4Solid = null;
}
}
}
{
Boolean lod4MultiSurfaceShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod4MultiSurface(), rightObject.isSetLod4MultiSurface());
if (lod4MultiSurfaceShouldBeMergedAndSet == Boolean.TRUE) {
MultiSurfacePropertyType lhsLod4MultiSurface;
lhsLod4MultiSurface = leftObject.getLod4MultiSurface();
MultiSurfacePropertyType rhsLod4MultiSurface;
rhsLod4MultiSurface = rightObject.getLod4MultiSurface();
MultiSurfacePropertyType mergedLod4MultiSurface = ((MultiSurfacePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod4MultiSurface", lhsLod4MultiSurface), LocatorUtils.property(rightLocator, "lod4MultiSurface", rhsLod4MultiSurface), lhsLod4MultiSurface, rhsLod4MultiSurface, leftObject.isSetLod4MultiSurface(), rightObject.isSetLod4MultiSurface()));
target.setLod4MultiSurface(mergedLod4MultiSurface);
} else {
if (lod4MultiSurfaceShouldBeMergedAndSet == Boolean.FALSE) {
target.lod4MultiSurface = null;
}
}
}
{
Boolean lod4MultiCurveShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod4MultiCurve(), rightObject.isSetLod4MultiCurve());
if (lod4MultiCurveShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod4MultiCurve;
lhsLod4MultiCurve = leftObject.getLod4MultiCurve();
MultiCurvePropertyType rhsLod4MultiCurve;
rhsLod4MultiCurve = rightObject.getLod4MultiCurve();
MultiCurvePropertyType mergedLod4MultiCurve = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod4MultiCurve", lhsLod4MultiCurve), LocatorUtils.property(rightLocator, "lod4MultiCurve", rhsLod4MultiCurve), lhsLod4MultiCurve, rhsLod4MultiCurve, leftObject.isSetLod4MultiCurve(), rightObject.isSetLod4MultiCurve()));
target.setLod4MultiCurve(mergedLod4MultiCurve);
} else {
if (lod4MultiCurveShouldBeMergedAndSet == Boolean.FALSE) {
target.lod4MultiCurve = null;
}
}
}
{
Boolean lod4TerrainIntersectionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLod4TerrainIntersection(), rightObject.isSetLod4TerrainIntersection());
if (lod4TerrainIntersectionShouldBeMergedAndSet == Boolean.TRUE) {
MultiCurvePropertyType lhsLod4TerrainIntersection;
lhsLod4TerrainIntersection = leftObject.getLod4TerrainIntersection();
MultiCurvePropertyType rhsLod4TerrainIntersection;
rhsLod4TerrainIntersection = rightObject.getLod4TerrainIntersection();
MultiCurvePropertyType mergedLod4TerrainIntersection = ((MultiCurvePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "lod4TerrainIntersection", lhsLod4TerrainIntersection), LocatorUtils.property(rightLocator, "lod4TerrainIntersection", rhsLod4TerrainIntersection), lhsLod4TerrainIntersection, rhsLod4TerrainIntersection, leftObject.isSetLod4TerrainIntersection(), rightObject.isSetLod4TerrainIntersection()));
target.setLod4TerrainIntersection(mergedLod4TerrainIntersection);
} else {
if (lod4TerrainIntersectionShouldBeMergedAndSet == Boolean.FALSE) {
target.lod4TerrainIntersection = null;
}
}
}
{
Boolean interiorRoomShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetInteriorRoom(), rightObject.isSetInteriorRoom());
if (interiorRoomShouldBeMergedAndSet == Boolean.TRUE) {
List lhsInteriorRoom;
lhsInteriorRoom = (leftObject.isSetInteriorRoom()?leftObject.getInteriorRoom():null);
List rhsInteriorRoom;
rhsInteriorRoom = (rightObject.isSetInteriorRoom()?rightObject.getInteriorRoom():null);
List mergedInteriorRoom = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "interiorRoom", lhsInteriorRoom), LocatorUtils.property(rightLocator, "interiorRoom", rhsInteriorRoom), lhsInteriorRoom, rhsInteriorRoom, leftObject.isSetInteriorRoom(), rightObject.isSetInteriorRoom()));
target.unsetInteriorRoom();
if (mergedInteriorRoom!= null) {
List uniqueInteriorRooml = target.getInteriorRoom();
uniqueInteriorRooml.addAll(mergedInteriorRoom);
}
} else {
if (interiorRoomShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetInteriorRoom();
}
}
}
{
Boolean consistsOfBuildingPartShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetConsistsOfBuildingPart(), rightObject.isSetConsistsOfBuildingPart());
if (consistsOfBuildingPartShouldBeMergedAndSet == Boolean.TRUE) {
List lhsConsistsOfBuildingPart;
lhsConsistsOfBuildingPart = (leftObject.isSetConsistsOfBuildingPart()?leftObject.getConsistsOfBuildingPart():null);
List rhsConsistsOfBuildingPart;
rhsConsistsOfBuildingPart = (rightObject.isSetConsistsOfBuildingPart()?rightObject.getConsistsOfBuildingPart():null);
List mergedConsistsOfBuildingPart = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "consistsOfBuildingPart", lhsConsistsOfBuildingPart), LocatorUtils.property(rightLocator, "consistsOfBuildingPart", rhsConsistsOfBuildingPart), lhsConsistsOfBuildingPart, rhsConsistsOfBuildingPart, leftObject.isSetConsistsOfBuildingPart(), rightObject.isSetConsistsOfBuildingPart()));
target.unsetConsistsOfBuildingPart();
if (mergedConsistsOfBuildingPart!= null) {
List uniqueConsistsOfBuildingPartl = target.getConsistsOfBuildingPart();
uniqueConsistsOfBuildingPartl.addAll(mergedConsistsOfBuildingPart);
}
} else {
if (consistsOfBuildingPartShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetConsistsOfBuildingPart();
}
}
}
{
Boolean addressShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAddress(), rightObject.isSetAddress());
if (addressShouldBeMergedAndSet == Boolean.TRUE) {
List lhsAddress;
lhsAddress = (leftObject.isSetAddress()?leftObject.getAddress():null);
List rhsAddress;
rhsAddress = (rightObject.isSetAddress()?rightObject.getAddress():null);
List mergedAddress = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "address", lhsAddress), LocatorUtils.property(rightLocator, "address", rhsAddress), lhsAddress, rhsAddress, leftObject.isSetAddress(), rightObject.isSetAddress()));
target.unsetAddress();
if (mergedAddress!= null) {
List uniqueAddressl = target.getAddress();
uniqueAddressl.addAll(mergedAddress);
}
} else {
if (addressShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetAddress();
}
}
}
{
Boolean genericApplicationPropertyOfAbstractBuildingShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetGenericApplicationPropertyOfAbstractBuilding(), rightObject.isSetGenericApplicationPropertyOfAbstractBuilding());
if (genericApplicationPropertyOfAbstractBuildingShouldBeMergedAndSet == Boolean.TRUE) {
List lhsGenericApplicationPropertyOfAbstractBuilding;
lhsGenericApplicationPropertyOfAbstractBuilding = (leftObject.isSetGenericApplicationPropertyOfAbstractBuilding()?leftObject.getGenericApplicationPropertyOfAbstractBuilding():null);
List rhsGenericApplicationPropertyOfAbstractBuilding;
rhsGenericApplicationPropertyOfAbstractBuilding = (rightObject.isSetGenericApplicationPropertyOfAbstractBuilding()?rightObject.getGenericApplicationPropertyOfAbstractBuilding():null);
List mergedGenericApplicationPropertyOfAbstractBuilding = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "genericApplicationPropertyOfAbstractBuilding", lhsGenericApplicationPropertyOfAbstractBuilding), LocatorUtils.property(rightLocator, "genericApplicationPropertyOfAbstractBuilding", rhsGenericApplicationPropertyOfAbstractBuilding), lhsGenericApplicationPropertyOfAbstractBuilding, rhsGenericApplicationPropertyOfAbstractBuilding, leftObject.isSetGenericApplicationPropertyOfAbstractBuilding(), rightObject.isSetGenericApplicationPropertyOfAbstractBuilding()));
target.unsetGenericApplicationPropertyOfAbstractBuilding();
if (mergedGenericApplicationPropertyOfAbstractBuilding!= null) {
List uniqueGenericApplicationPropertyOfAbstractBuildingl = target.getGenericApplicationPropertyOfAbstractBuilding();
uniqueGenericApplicationPropertyOfAbstractBuildingl.addAll(mergedGenericApplicationPropertyOfAbstractBuilding);
}
} else {
if (genericApplicationPropertyOfAbstractBuildingShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetGenericApplicationPropertyOfAbstractBuilding();
}
}
}
}
}
public void setFunction(List value) {
this.function = null;
if (value!= null) {
List draftl = this.getFunction();
draftl.addAll(value);
}
}
public void setUsage(List value) {
this.usage = null;
if (value!= null) {
List draftl = this.getUsage();
draftl.addAll(value);
}
}
public void setOuterBuildingInstallation(List value) {
this.outerBuildingInstallation = null;
if (value!= null) {
List draftl = this.getOuterBuildingInstallation();
draftl.addAll(value);
}
}
public void setInteriorBuildingInstallation(List value) {
this.interiorBuildingInstallation = null;
if (value!= null) {
List draftl = this.getInteriorBuildingInstallation();
draftl.addAll(value);
}
}
public void setCityObjectBoundedBy(List value) {
this.cityObjectBoundedBy = null;
if (value!= null) {
List draftl = this.getCityObjectBoundedBy();
draftl.addAll(value);
}
}
public void setInteriorRoom(List value) {
this.interiorRoom = null;
if (value!= null) {
List draftl = this.getInteriorRoom();
draftl.addAll(value);
}
}
public void setConsistsOfBuildingPart(List value) {
this.consistsOfBuildingPart = null;
if (value!= null) {
List draftl = this.getConsistsOfBuildingPart();
draftl.addAll(value);
}
}
public void setAddress(List value) {
this.address = null;
if (value!= null) {
List draftl = this.getAddress();
draftl.addAll(value);
}
}
public void setGenericApplicationPropertyOfAbstractBuilding(List value) {
this.genericApplicationPropertyOfAbstractBuilding = null;
if (value!= null) {
List draftl = this.getGenericApplicationPropertyOfAbstractBuilding();
draftl.addAll(value);
}
}
public AbstractBuildingType withClazz(CodeType value) {
setClazz(value);
return this;
}
public AbstractBuildingType withFunction(CodeType... values) {
if (values!= null) {
for (CodeType value: values) {
getFunction().add(value);
}
}
return this;
}
public AbstractBuildingType withFunction(Collection values) {
if (values!= null) {
getFunction().addAll(values);
}
return this;
}
public AbstractBuildingType withUsage(CodeType... values) {
if (values!= null) {
for (CodeType value: values) {
getUsage().add(value);
}
}
return this;
}
public AbstractBuildingType withUsage(Collection values) {
if (values!= null) {
getUsage().addAll(values);
}
return this;
}
public AbstractBuildingType withYearOfConstruction(XMLGregorianCalendar value) {
setYearOfConstruction(value);
return this;
}
public AbstractBuildingType withYearOfDemolition(XMLGregorianCalendar value) {
setYearOfDemolition(value);
return this;
}
public AbstractBuildingType withRoofType(CodeType value) {
setRoofType(value);
return this;
}
public AbstractBuildingType withMeasuredHeight(LengthType value) {
setMeasuredHeight(value);
return this;
}
public AbstractBuildingType withStoreysAboveGround(BigInteger value) {
setStoreysAboveGround(value);
return this;
}
public AbstractBuildingType withStoreysBelowGround(BigInteger value) {
setStoreysBelowGround(value);
return this;
}
public AbstractBuildingType withStoreyHeightsAboveGround(MeasureOrNullListType value) {
setStoreyHeightsAboveGround(value);
return this;
}
public AbstractBuildingType withStoreyHeightsBelowGround(MeasureOrNullListType value) {
setStoreyHeightsBelowGround(value);
return this;
}
public AbstractBuildingType withLod0FootPrint(MultiSurfacePropertyType value) {
setLod0FootPrint(value);
return this;
}
public AbstractBuildingType withLod0RoofEdge(MultiSurfacePropertyType value) {
setLod0RoofEdge(value);
return this;
}
public AbstractBuildingType withLod1Solid(SolidPropertyType value) {
setLod1Solid(value);
return this;
}
public AbstractBuildingType withLod1MultiSurface(MultiSurfacePropertyType value) {
setLod1MultiSurface(value);
return this;
}
public AbstractBuildingType withLod1TerrainIntersection(MultiCurvePropertyType value) {
setLod1TerrainIntersection(value);
return this;
}
public AbstractBuildingType withLod2Solid(SolidPropertyType value) {
setLod2Solid(value);
return this;
}
public AbstractBuildingType withLod2MultiSurface(MultiSurfacePropertyType value) {
setLod2MultiSurface(value);
return this;
}
public AbstractBuildingType withLod2MultiCurve(MultiCurvePropertyType value) {
setLod2MultiCurve(value);
return this;
}
public AbstractBuildingType withLod2TerrainIntersection(MultiCurvePropertyType value) {
setLod2TerrainIntersection(value);
return this;
}
public AbstractBuildingType withOuterBuildingInstallation(BuildingInstallationPropertyType... values) {
if (values!= null) {
for (BuildingInstallationPropertyType value: values) {
getOuterBuildingInstallation().add(value);
}
}
return this;
}
public AbstractBuildingType withOuterBuildingInstallation(Collection values) {
if (values!= null) {
getOuterBuildingInstallation().addAll(values);
}
return this;
}
public AbstractBuildingType withInteriorBuildingInstallation(IntBuildingInstallationPropertyType... values) {
if (values!= null) {
for (IntBuildingInstallationPropertyType value: values) {
getInteriorBuildingInstallation().add(value);
}
}
return this;
}
public AbstractBuildingType withInteriorBuildingInstallation(Collection values) {
if (values!= null) {
getInteriorBuildingInstallation().addAll(values);
}
return this;
}
public AbstractBuildingType withCityObjectBoundedBy(BoundarySurfacePropertyType... values) {
if (values!= null) {
for (BoundarySurfacePropertyType value: values) {
getCityObjectBoundedBy().add(value);
}
}
return this;
}
public AbstractBuildingType withCityObjectBoundedBy(Collection values) {
if (values!= null) {
getCityObjectBoundedBy().addAll(values);
}
return this;
}
public AbstractBuildingType withLod3Solid(SolidPropertyType value) {
setLod3Solid(value);
return this;
}
public AbstractBuildingType withLod3MultiSurface(MultiSurfacePropertyType value) {
setLod3MultiSurface(value);
return this;
}
public AbstractBuildingType withLod3MultiCurve(MultiCurvePropertyType value) {
setLod3MultiCurve(value);
return this;
}
public AbstractBuildingType withLod3TerrainIntersection(MultiCurvePropertyType value) {
setLod3TerrainIntersection(value);
return this;
}
public AbstractBuildingType withLod4Solid(SolidPropertyType value) {
setLod4Solid(value);
return this;
}
public AbstractBuildingType withLod4MultiSurface(MultiSurfacePropertyType value) {
setLod4MultiSurface(value);
return this;
}
public AbstractBuildingType withLod4MultiCurve(MultiCurvePropertyType value) {
setLod4MultiCurve(value);
return this;
}
public AbstractBuildingType withLod4TerrainIntersection(MultiCurvePropertyType value) {
setLod4TerrainIntersection(value);
return this;
}
public AbstractBuildingType withInteriorRoom(InteriorRoomPropertyType... values) {
if (values!= null) {
for (InteriorRoomPropertyType value: values) {
getInteriorRoom().add(value);
}
}
return this;
}
public AbstractBuildingType withInteriorRoom(Collection values) {
if (values!= null) {
getInteriorRoom().addAll(values);
}
return this;
}
public AbstractBuildingType withConsistsOfBuildingPart(BuildingPartPropertyType... values) {
if (values!= null) {
for (BuildingPartPropertyType value: values) {
getConsistsOfBuildingPart().add(value);
}
}
return this;
}
public AbstractBuildingType withConsistsOfBuildingPart(Collection values) {
if (values!= null) {
getConsistsOfBuildingPart().addAll(values);
}
return this;
}
public AbstractBuildingType withAddress(AddressPropertyType... values) {
if (values!= null) {
for (AddressPropertyType value: values) {
getAddress().add(value);
}
}
return this;
}
public AbstractBuildingType withAddress(Collection values) {
if (values!= null) {
getAddress().addAll(values);
}
return this;
}
public AbstractBuildingType withGenericApplicationPropertyOfAbstractBuilding(Object... values) {
if (values!= null) {
for (Object value: values) {
getGenericApplicationPropertyOfAbstractBuilding().add(value);
}
}
return this;
}
public AbstractBuildingType withGenericApplicationPropertyOfAbstractBuilding(Collection values) {
if (values!= null) {
getGenericApplicationPropertyOfAbstractBuilding().addAll(values);
}
return this;
}
public AbstractBuildingType withFunction(List value) {
setFunction(value);
return this;
}
public AbstractBuildingType withUsage(List value) {
setUsage(value);
return this;
}
public AbstractBuildingType withOuterBuildingInstallation(List value) {
setOuterBuildingInstallation(value);
return this;
}
public AbstractBuildingType withInteriorBuildingInstallation(List value) {
setInteriorBuildingInstallation(value);
return this;
}
public AbstractBuildingType withCityObjectBoundedBy(List value) {
setCityObjectBoundedBy(value);
return this;
}
public AbstractBuildingType withInteriorRoom(List value) {
setInteriorRoom(value);
return this;
}
public AbstractBuildingType withConsistsOfBuildingPart(List value) {
setConsistsOfBuildingPart(value);
return this;
}
public AbstractBuildingType withAddress(List value) {
setAddress(value);
return this;
}
public AbstractBuildingType withGenericApplicationPropertyOfAbstractBuilding(List value) {
setGenericApplicationPropertyOfAbstractBuilding(value);
return this;
}
@Override
public AbstractBuildingType withGenericApplicationPropertyOfSite(Object... values) {
if (values!= null) {
for (Object value: values) {
getGenericApplicationPropertyOfSite().add(value);
}
}
return this;
}
@Override
public AbstractBuildingType withGenericApplicationPropertyOfSite(Collection values) {
if (values!= null) {
getGenericApplicationPropertyOfSite().addAll(values);
}
return this;
}
@Override
public AbstractBuildingType withGenericApplicationPropertyOfSite(List value) {
setGenericApplicationPropertyOfSite(value);
return this;
}
@Override
public AbstractBuildingType withCreationDate(XMLGregorianCalendar value) {
setCreationDate(value);
return this;
}
@Override
public AbstractBuildingType withTerminationDate(XMLGregorianCalendar value) {
setTerminationDate(value);
return this;
}
@Override
public AbstractBuildingType withExternalReference(ExternalReferenceType... values) {
if (values!= null) {
for (ExternalReferenceType value: values) {
getExternalReference().add(value);
}
}
return this;
}
@Override
public AbstractBuildingType withExternalReference(Collection values) {
if (values!= null) {
getExternalReference().addAll(values);
}
return this;
}
@Override
public AbstractBuildingType withGeneralizesTo(GeneralizationRelationType... values) {
if (values!= null) {
for (GeneralizationRelationType value: values) {
getGeneralizesTo().add(value);
}
}
return this;
}
@Override
public AbstractBuildingType withGeneralizesTo(Collection values) {
if (values!= null) {
getGeneralizesTo().addAll(values);
}
return this;
}
@Override
public AbstractBuildingType withRelativeToTerrain(RelativeToTerrainType value) {
setRelativeToTerrain(value);
return this;
}
@Override
public AbstractBuildingType withRelativeToWater(RelativeToWaterType value) {
setRelativeToWater(value);
return this;
}
@Override
public AbstractBuildingType withGenericApplicationPropertyOfCityObject(JAXBElement ... values) {
if (values!= null) {
for (JAXBElement value: values) {
getGenericApplicationPropertyOfCityObject().add(value);
}
}
return this;
}
@Override
public AbstractBuildingType withGenericApplicationPropertyOfCityObject(Collection> values) {
if (values!= null) {
getGenericApplicationPropertyOfCityObject().addAll(values);
}
return this;
}
@Override
public AbstractBuildingType withExternalReference(List value) {
setExternalReference(value);
return this;
}
@Override
public AbstractBuildingType withGeneralizesTo(List value) {
setGeneralizesTo(value);
return this;
}
@Override
public AbstractBuildingType withGenericApplicationPropertyOfCityObject(List> value) {
setGenericApplicationPropertyOfCityObject(value);
return this;
}
}