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

org.drmcrop.crp.TreatmentZone Maven / Gradle / Ivy

The newest version!
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.6 
// See http://java.sun.com/xml/jaxb 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2015.02.07 at 09:47:09 AM CET 
//


package org.drmcrop.crp;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import org.drmcrop.crpdt.GlobalUniqueIdentifierType;
import org.drmcrop.gmlcrop.AggregationType;
import org.drmcrop.gmlcrop.CodeType;
import org.drmcrop.gmlcrop.CodeWithAuthorityType;
import org.drmcrop.gmlcrop.MultiSurfaceType;
import org.drmcrop.gmlcrop.ReferenceType;
import org.drmcrop.gmlcrop.SurfaceArrayPropertyType;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;


/**
 * Definition.
 * A TreatmentZone defines a surface in a CropField or ActivityField, which gets a uniform treatment in that surface by an Operation. A TreatmentZone is described by a MultiSurface.
 * 
 * Remark.
 * By defining more TreatmentZone's in a CropField or ActivityField it is possible to specify site specific application of Product's or machine settings.
 * TreatmentZone can also be used for the Operation "Soil Sampling" to specify the surfaces for which one SoilSample should be collected.
 * A combine harvester can also construct a TreatmentZone to specify the origin of a graintank load (a Batch)
 * 
 * TreatmentZone uses one or more Polygon's, i.e. a MultiSurface, to describe the surface(s) with uniform treatment.
 * 
 * A TreatmentZone is only intended to specify treatments; i.e. application of products, the collection of Produce, or the specification of working (for example working depth). To characterize properties of an area, for example soil type, the PropertyZone is used.
 * 
 * 

Java class for TreatmentZone complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType name="TreatmentZone">
 *   <complexContent>
 *     <extension base="{http://www.opengis.net/gml/3.2}MultiSurfaceType">
 *       <sequence>
 *         <element name="TreatmentZoneGUID" type="{http://www.drmCrop.org/schemas/DataTypes}GlobalUniqueIdentifierType"/>
 *         <element name="ThirdpartyTreatmentZoneId" type="{http://www.drmCrop.org/schemas/DataTypes}GlobalUniqueIdentifierType"/>
 *         <element name="TreatmentZoneDesignator" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         <element name="TreatmentZoneSurfaces" type="{http://www.opengis.net/gml/3.2}MultiSurfaceType" minOccurs="0"/>
 *         <element name="PropertyValue" type="{http://www.drmCrop.org/schemas/drmCrop}PropertyValue" maxOccurs="unbounded" minOccurs="0"/>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "TreatmentZone", propOrder = { "treatmentZoneGUID", "thirdpartyTreatmentZoneId", "treatmentZoneDesignator", "treatmentZoneSurfaces", "propertyValue" }) public class TreatmentZone extends MultiSurfaceType implements ToString { @XmlElement(name = "TreatmentZoneGUID", required = true) protected GlobalUniqueIdentifierType treatmentZoneGUID; @XmlElement(name = "ThirdpartyTreatmentZoneId", required = true) protected GlobalUniqueIdentifierType thirdpartyTreatmentZoneId; @XmlElement(name = "TreatmentZoneDesignator", required = true) protected String treatmentZoneDesignator; @XmlElement(name = "TreatmentZoneSurfaces") protected MultiSurfaceType treatmentZoneSurfaces; @XmlElement(name = "PropertyValue") protected List propertyValue; /** * Gets the value of the treatmentZoneGUID property. * * @return * possible object is * {@link GlobalUniqueIdentifierType } * */ public GlobalUniqueIdentifierType getTreatmentZoneGUID() { return treatmentZoneGUID; } /** * Sets the value of the treatmentZoneGUID property. * * @param value * allowed object is * {@link GlobalUniqueIdentifierType } * */ public void setTreatmentZoneGUID(GlobalUniqueIdentifierType value) { this.treatmentZoneGUID = value; } /** * Gets the value of the thirdpartyTreatmentZoneId property. * * @return * possible object is * {@link GlobalUniqueIdentifierType } * */ public GlobalUniqueIdentifierType getThirdpartyTreatmentZoneId() { return thirdpartyTreatmentZoneId; } /** * Sets the value of the thirdpartyTreatmentZoneId property. * * @param value * allowed object is * {@link GlobalUniqueIdentifierType } * */ public void setThirdpartyTreatmentZoneId(GlobalUniqueIdentifierType value) { this.thirdpartyTreatmentZoneId = value; } /** * Gets the value of the treatmentZoneDesignator property. * * @return * possible object is * {@link String } * */ public String getTreatmentZoneDesignator() { return treatmentZoneDesignator; } /** * Sets the value of the treatmentZoneDesignator property. * * @param value * allowed object is * {@link String } * */ public void setTreatmentZoneDesignator(String value) { this.treatmentZoneDesignator = value; } /** * Gets the value of the treatmentZoneSurfaces property. * * @return * possible object is * {@link MultiSurfaceType } * */ public MultiSurfaceType getTreatmentZoneSurfaces() { return treatmentZoneSurfaces; } /** * Sets the value of the treatmentZoneSurfaces property. * * @param value * allowed object is * {@link MultiSurfaceType } * */ public void setTreatmentZoneSurfaces(MultiSurfaceType value) { this.treatmentZoneSurfaces = value; } /** * Gets the value of the propertyValue 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 propertyValue property. * *

* For example, to add a new item, do as follows: *

     *    getPropertyValue().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link PropertyValue } * * */ public List getPropertyValue() { if (propertyValue == null) { propertyValue = new ArrayList(); } return this.propertyValue; } public String toString() { final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE; final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { strategy.appendStart(locator, this, buffer); appendFields(locator, buffer, strategy); strategy.appendEnd(locator, this, buffer); return buffer; } public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { super.appendFields(locator, buffer, strategy); { GlobalUniqueIdentifierType theTreatmentZoneGUID; theTreatmentZoneGUID = this.getTreatmentZoneGUID(); strategy.appendField(locator, this, "treatmentZoneGUID", buffer, theTreatmentZoneGUID); } { GlobalUniqueIdentifierType theThirdpartyTreatmentZoneId; theThirdpartyTreatmentZoneId = this.getThirdpartyTreatmentZoneId(); strategy.appendField(locator, this, "thirdpartyTreatmentZoneId", buffer, theThirdpartyTreatmentZoneId); } { String theTreatmentZoneDesignator; theTreatmentZoneDesignator = this.getTreatmentZoneDesignator(); strategy.appendField(locator, this, "treatmentZoneDesignator", buffer, theTreatmentZoneDesignator); } { MultiSurfaceType theTreatmentZoneSurfaces; theTreatmentZoneSurfaces = this.getTreatmentZoneSurfaces(); strategy.appendField(locator, this, "treatmentZoneSurfaces", buffer, theTreatmentZoneSurfaces); } { List thePropertyValue; thePropertyValue = (((this.propertyValue!= null)&&(!this.propertyValue.isEmpty()))?this.getPropertyValue():null); strategy.appendField(locator, this, "propertyValue", buffer, thePropertyValue); } return buffer; } public TreatmentZone withTreatmentZoneGUID(GlobalUniqueIdentifierType value) { setTreatmentZoneGUID(value); return this; } public TreatmentZone withThirdpartyTreatmentZoneId(GlobalUniqueIdentifierType value) { setThirdpartyTreatmentZoneId(value); return this; } public TreatmentZone withTreatmentZoneDesignator(String value) { setTreatmentZoneDesignator(value); return this; } public TreatmentZone withTreatmentZoneSurfaces(MultiSurfaceType value) { setTreatmentZoneSurfaces(value); return this; } public TreatmentZone withPropertyValue(PropertyValue... values) { if (values!= null) { for (PropertyValue value: values) { getPropertyValue().add(value); } } return this; } public TreatmentZone withPropertyValue(Collection values) { if (values!= null) { getPropertyValue().addAll(values); } return this; } @Override public TreatmentZone withSurfaceMember(Object... values) { if (values!= null) { for (Object value: values) { getSurfaceMember().add(value); } } return this; } @Override public TreatmentZone withSurfaceMember(Collection values) { if (values!= null) { getSurfaceMember().addAll(values); } return this; } @Override public TreatmentZone withSurfaceMembers(SurfaceArrayPropertyType value) { setSurfaceMembers(value); return this; } @Override public TreatmentZone withAggregationType(AggregationType value) { setAggregationType(value); return this; } @Override public TreatmentZone withSrsName(String value) { setSrsName(value); return this; } @Override public TreatmentZone withSrsDimension(BigInteger value) { setSrsDimension(value); return this; } @Override public TreatmentZone withAxisLabels(String... values) { if (values!= null) { for (String value: values) { getAxisLabels().add(value); } } return this; } @Override public TreatmentZone withAxisLabels(Collection values) { if (values!= null) { getAxisLabels().addAll(values); } return this; } @Override public TreatmentZone withUomLabels(String... values) { if (values!= null) { for (String value: values) { getUomLabels().add(value); } } return this; } @Override public TreatmentZone withUomLabels(Collection values) { if (values!= null) { getUomLabels().addAll(values); } return this; } @Override public TreatmentZone withDescription(String value) { setDescription(value); return this; } @Override public TreatmentZone withDescriptionReference(ReferenceType value) { setDescriptionReference(value); return this; } @Override public TreatmentZone withIdentifier(CodeWithAuthorityType value) { setIdentifier(value); return this; } @Override public TreatmentZone withName(CodeType... values) { if (values!= null) { for (CodeType value: values) { getName().add(value); } } return this; } @Override public TreatmentZone withName(Collection values) { if (values!= null) { getName().addAll(values); } return this; } @Override public TreatmentZone withId(String value) { setId(value); return this; } }