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

org.javastro.ivoa.entities.resource.dataservice.Coverage Maven / Gradle / Ivy


package org.javastro.ivoa.entities.resource.dataservice;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
import com.kscs.util.jaxb.Buildable;
import com.kscs.util.jaxb.CollectionProperty;
import com.kscs.util.jaxb.CollectionPropertyInfo;
import com.kscs.util.jaxb.CollectionPropertyInfo;
import com.kscs.util.jaxb.CollectionPropertyInfo;
import com.kscs.util.jaxb.Copyable;
import com.kscs.util.jaxb.PartialCopyable;
import com.kscs.util.jaxb.PropertyTree;
import com.kscs.util.jaxb.PropertyTreeUse;
import com.kscs.util.jaxb.PropertyVisitor;
import com.kscs.util.jaxb.SingleProperty;
import com.kscs.util.jaxb.SinglePropertyInfo;
import com.kscs.util.jaxb.SinglePropertyInfo;
import com.kscs.util.jaxb.SinglePropertyInfo;
import com.kscs.util.jaxb.SinglePropertyInfo;
import com.kscs.util.jaxb.SinglePropertyInfo;
import jakarta.annotation.Generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlSchemaType;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.javastro.ivoa.entities.stc.v1.AstroSTCDescriptionType;
import org.jvnet.jaxb.lang.JAXBMergeStrategy;
import org.jvnet.jaxb.lang.JAXBToStringStrategy;
import org.jvnet.jaxb.lang.MergeFrom;
import org.jvnet.jaxb.lang.MergeStrategy;
import org.jvnet.jaxb.lang.ToString;
import org.jvnet.jaxb.lang.ToStringStrategy;
import org.jvnet.jaxb.locator.ObjectLocator;
import org.jvnet.jaxb.locator.util.LocatorUtils;


/**
 * A description of how a resource's contents or behavior maps
 *            to the sky, to time, and to frequency space, including
 *            coverage and resolution.
 * 
 * 

Java class for Coverage complex type

. * *

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

* *
{@code
 * 
 *   
 *     
 *       
 *         
 *         
 *         
 *         
 *         
 *         
 *         
 *       
 *     
 *   
 * 
 * }
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Coverage", propOrder = { "stcResourceProfile", "spatial", "temporals", "spectrals", "footprint", "wavebands", "regionOfRegard" }) @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public class Coverage implements Cloneable, Copyable, PartialCopyable, MergeFrom, ToString { /** * An STC 1.0 description of the location of the resource's * data on the sky, in time, and in frequency space, * including resolution. This is deprecated in favour * of the separate spatial, temporal, and spectral elements. * */ @XmlElement(name = "STCResourceProfile", namespace = "http://www.ivoa.net/xml/STC/stc-v1.30.xsd", nillable = true) @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected AstroSTCDescriptionType stcResourceProfile; /** * The MOC is to be understood in the ICRS reference frame * unless a frame attribute is given. * Resources should give the coverage at least to order 6 * (a resolution of about one degree). The order should be * chosen so as to keep the resulting MOC smaller than a few * dozens of kB. If desired, a more precise MOC can be provided * on a dedicated endpoint declared in the footprint element. * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected SpatialCoverage spatial; /** * This is written as for VOTable tabledata (i.e., * whitespace-separated C-style floating point literals). * The limits must be given as MJD. While they * are not intended to be precise, they are to be understood * in TDB for the solar system barycenter. The total coverage * of the resource is the union of all such intervals. * */ @XmlElement(name = "temporal") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "token") @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected List temporals; /** * For instance, the Johnson V waveband (480 .. 730 nm) * would be specified as “2.72e-19 4.14e-19” * */ @XmlElement(name = "spectral") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "token") @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected List spectrals; /** * The ivo-id attribute here refers to the standard in which * the footprint is given. The only value defined by * VODataService at this point is ivo://ivoa.net/std/moc, * which indicates that retrieving the footprint URL will return * a MOC (any IVOA-approved serialisation is legal). Note that * the ivo-id attribute was intended to have a different * function in VODataService 1.1. The current meaning is what * implementors actually adopted. * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected ServiceReference footprint; /** * Observations using non-electromagnetic messengers should * not give a waveband in version 1.2 of VODataService. It * is expected that additional terms for these will be provided * in a future version. * */ @XmlElement(name = "waveband") @XmlSchemaType(name = "token") @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected List wavebands; /** * In the case of image repositories, it might refer to * a typical field-of-view size, or the primary beam * size for radio aperture synthesis data. In the case * of object catalogues RoR should normally be the * largest of the typical size of the objects, the * astrometric errors in the positions, or the * resolution of the data. * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected Float regionOfRegard; @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected transient Coverage.Modifier __cachedModifier__; /** * Default no-arg constructor * */ public Coverage() { super(); } /** * Fully-initialising value constructor * */ public Coverage(final AstroSTCDescriptionType stcResourceProfile, final SpatialCoverage spatial, final List temporals, final List spectrals, final ServiceReference footprint, final List wavebands, final Float regionOfRegard) { this.stcResourceProfile = stcResourceProfile; this.spatial = spatial; this.temporals = temporals; this.spectrals = spectrals; this.footprint = footprint; this.wavebands = wavebands; this.regionOfRegard = regionOfRegard; } /** * An STC 1.0 description of the location of the resource's * data on the sky, in time, and in frequency space, * including resolution. This is deprecated in favour * of the separate spatial, temporal, and spectral elements. * * @return * possible object is * {@link AstroSTCDescriptionType } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public AstroSTCDescriptionType getSTCResourceProfile() { return stcResourceProfile; } /** * Sets the value of the stcResourceProfile property. * * @param value * allowed object is * {@link AstroSTCDescriptionType } * * @see #getSTCResourceProfile() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setSTCResourceProfile(AstroSTCDescriptionType value) { this.stcResourceProfile = value; } /** * The MOC is to be understood in the ICRS reference frame * unless a frame attribute is given. * Resources should give the coverage at least to order 6 * (a resolution of about one degree). The order should be * chosen so as to keep the resulting MOC smaller than a few * dozens of kB. If desired, a more precise MOC can be provided * on a dedicated endpoint declared in the footprint element. * * @return * possible object is * {@link SpatialCoverage } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public SpatialCoverage getSpatial() { return spatial; } /** * Sets the value of the spatial property. * * @param value * allowed object is * {@link SpatialCoverage } * * @see #getSpatial() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setSpatial(SpatialCoverage value) { this.spatial = value; } /** * This is written as for VOTable tabledata (i.e., * whitespace-separated C-style floating point literals). * The limits must be given as MJD. While they * are not intended to be precise, they are to be understood * in TDB for the solar system barycenter. The total coverage * of the resource is the union of all such intervals. * * Gets the value of the temporals 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 temporals property.

* *

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

*
     * getTemporals().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link String } *

* * * @return * The value of the temporals property. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public List getTemporals() { if (temporals == null) { temporals = new ArrayList<>(); } return this.temporals; } /** * For instance, the Johnson V waveband (480 .. 730 nm) * would be specified as “2.72e-19 4.14e-19” * * Gets the value of the spectrals 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 spectrals property.

* *

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

*
     * getSpectrals().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link String } *

* * * @return * The value of the spectrals property. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public List getSpectrals() { if (spectrals == null) { spectrals = new ArrayList<>(); } return this.spectrals; } /** * The ivo-id attribute here refers to the standard in which * the footprint is given. The only value defined by * VODataService at this point is ivo://ivoa.net/std/moc, * which indicates that retrieving the footprint URL will return * a MOC (any IVOA-approved serialisation is legal). Note that * the ivo-id attribute was intended to have a different * function in VODataService 1.1. The current meaning is what * implementors actually adopted. * * @return * possible object is * {@link ServiceReference } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public ServiceReference getFootprint() { return footprint; } /** * Sets the value of the footprint property. * * @param value * allowed object is * {@link ServiceReference } * * @see #getFootprint() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setFootprint(ServiceReference value) { this.footprint = value; } /** * Observations using non-electromagnetic messengers should * not give a waveband in version 1.2 of VODataService. It * is expected that additional terms for these will be provided * in a future version. * * Gets the value of the wavebands 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 wavebands property.

* *

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

*
     * getWavebands().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link Waveband } *

* * * @return * The value of the wavebands property. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public List getWavebands() { if (wavebands == null) { wavebands = new ArrayList<>(); } return this.wavebands; } /** * In the case of image repositories, it might refer to * a typical field-of-view size, or the primary beam * size for radio aperture synthesis data. In the case * of object catalogues RoR should normally be the * largest of the typical size of the objects, the * astrometric errors in the positions, or the * resolution of the data. * * @return * possible object is * {@link Float } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Float getRegionOfRegard() { return regionOfRegard; } /** * Sets the value of the regionOfRegard property. * * @param value * allowed object is * {@link Float } * * @see #getRegionOfRegard() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setRegionOfRegard(Float value) { this.regionOfRegard = value; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public boolean equals(Object object) { if ((object == null)||(this.getClass()!= object.getClass())) { return false; } if (this == object) { return true; } final Coverage that = ((Coverage) object); { AstroSTCDescriptionType leftSTCResourceProfile; leftSTCResourceProfile = this.getSTCResourceProfile(); AstroSTCDescriptionType rightSTCResourceProfile; rightSTCResourceProfile = that.getSTCResourceProfile(); if (this.stcResourceProfile!= null) { if (that.stcResourceProfile!= null) { if (!leftSTCResourceProfile.equals(rightSTCResourceProfile)) { return false; } } else { return false; } } else { if (that.stcResourceProfile!= null) { return false; } } } { SpatialCoverage leftSpatial; leftSpatial = this.getSpatial(); SpatialCoverage rightSpatial; rightSpatial = that.getSpatial(); if (this.spatial!= null) { if (that.spatial!= null) { if (!leftSpatial.equals(rightSpatial)) { return false; } } else { return false; } } else { if (that.spatial!= null) { return false; } } } { List leftTemporals; leftTemporals = (((this.temporals!= null)&&(!this.temporals.isEmpty()))?this.getTemporals():null); List rightTemporals; rightTemporals = (((that.temporals!= null)&&(!that.temporals.isEmpty()))?that.getTemporals():null); if ((this.temporals!= null)&&(!this.temporals.isEmpty())) { if ((that.temporals!= null)&&(!that.temporals.isEmpty())) { if (!leftTemporals.equals(rightTemporals)) { return false; } } else { return false; } } else { if ((that.temporals!= null)&&(!that.temporals.isEmpty())) { return false; } } } { List leftSpectrals; leftSpectrals = (((this.spectrals!= null)&&(!this.spectrals.isEmpty()))?this.getSpectrals():null); List rightSpectrals; rightSpectrals = (((that.spectrals!= null)&&(!that.spectrals.isEmpty()))?that.getSpectrals():null); if ((this.spectrals!= null)&&(!this.spectrals.isEmpty())) { if ((that.spectrals!= null)&&(!that.spectrals.isEmpty())) { if (!leftSpectrals.equals(rightSpectrals)) { return false; } } else { return false; } } else { if ((that.spectrals!= null)&&(!that.spectrals.isEmpty())) { return false; } } } { ServiceReference leftFootprint; leftFootprint = this.getFootprint(); ServiceReference rightFootprint; rightFootprint = that.getFootprint(); if (this.footprint!= null) { if (that.footprint!= null) { if (!leftFootprint.equals(rightFootprint)) { return false; } } else { return false; } } else { if (that.footprint!= null) { return false; } } } { List leftWavebands; leftWavebands = (((this.wavebands!= null)&&(!this.wavebands.isEmpty()))?this.getWavebands():null); List rightWavebands; rightWavebands = (((that.wavebands!= null)&&(!that.wavebands.isEmpty()))?that.getWavebands():null); if ((this.wavebands!= null)&&(!this.wavebands.isEmpty())) { if ((that.wavebands!= null)&&(!that.wavebands.isEmpty())) { if (!leftWavebands.equals(rightWavebands)) { return false; } } else { return false; } } else { if ((that.wavebands!= null)&&(!that.wavebands.isEmpty())) { return false; } } } { Float leftRegionOfRegard; leftRegionOfRegard = this.getRegionOfRegard(); Float rightRegionOfRegard; rightRegionOfRegard = that.getRegionOfRegard(); if (this.regionOfRegard!= null) { if (that.regionOfRegard!= null) { if (!leftRegionOfRegard.equals(rightRegionOfRegard)) { return false; } } else { return false; } } else { if (that.regionOfRegard!= null) { return false; } } } return true; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public int hashCode() { int currentHashCode = 1; { currentHashCode = (currentHashCode* 31); AstroSTCDescriptionType theSTCResourceProfile; theSTCResourceProfile = this.getSTCResourceProfile(); if (this.stcResourceProfile!= null) { currentHashCode += theSTCResourceProfile.hashCode(); } } { currentHashCode = (currentHashCode* 31); SpatialCoverage theSpatial; theSpatial = this.getSpatial(); if (this.spatial!= null) { currentHashCode += theSpatial.hashCode(); } } { currentHashCode = (currentHashCode* 31); List theTemporals; theTemporals = (((this.temporals!= null)&&(!this.temporals.isEmpty()))?this.getTemporals():null); if ((this.temporals!= null)&&(!this.temporals.isEmpty())) { currentHashCode += theTemporals.hashCode(); } } { currentHashCode = (currentHashCode* 31); List theSpectrals; theSpectrals = (((this.spectrals!= null)&&(!this.spectrals.isEmpty()))?this.getSpectrals():null); if ((this.spectrals!= null)&&(!this.spectrals.isEmpty())) { currentHashCode += theSpectrals.hashCode(); } } { currentHashCode = (currentHashCode* 31); ServiceReference theFootprint; theFootprint = this.getFootprint(); if (this.footprint!= null) { currentHashCode += theFootprint.hashCode(); } } { currentHashCode = (currentHashCode* 31); List theWavebands; theWavebands = (((this.wavebands!= null)&&(!this.wavebands.isEmpty()))?this.getWavebands():null); if ((this.wavebands!= null)&&(!this.wavebands.isEmpty())) { currentHashCode += theWavebands.hashCode(); } } { currentHashCode = (currentHashCode* 31); Float theRegionOfRegard; theRegionOfRegard = this.getRegionOfRegard(); if (this.regionOfRegard!= null) { currentHashCode += theRegionOfRegard.hashCode(); } } return currentHashCode; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public String toString() { final ToStringStrategy strategy = JAXBToStringStrategy.getInstance(); final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") 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; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { { AstroSTCDescriptionType theSTCResourceProfile; theSTCResourceProfile = this.getSTCResourceProfile(); strategy.appendField(locator, this, "stcResourceProfile", buffer, theSTCResourceProfile, (this.stcResourceProfile!= null)); } { SpatialCoverage theSpatial; theSpatial = this.getSpatial(); strategy.appendField(locator, this, "spatial", buffer, theSpatial, (this.spatial!= null)); } { List theTemporals; theTemporals = (((this.temporals!= null)&&(!this.temporals.isEmpty()))?this.getTemporals():null); strategy.appendField(locator, this, "temporals", buffer, theTemporals, ((this.temporals!= null)&&(!this.temporals.isEmpty()))); } { List theSpectrals; theSpectrals = (((this.spectrals!= null)&&(!this.spectrals.isEmpty()))?this.getSpectrals():null); strategy.appendField(locator, this, "spectrals", buffer, theSpectrals, ((this.spectrals!= null)&&(!this.spectrals.isEmpty()))); } { ServiceReference theFootprint; theFootprint = this.getFootprint(); strategy.appendField(locator, this, "footprint", buffer, theFootprint, (this.footprint!= null)); } { List theWavebands; theWavebands = (((this.wavebands!= null)&&(!this.wavebands.isEmpty()))?this.getWavebands():null); strategy.appendField(locator, this, "wavebands", buffer, theWavebands, ((this.wavebands!= null)&&(!this.wavebands.isEmpty()))); } { Float theRegionOfRegard; theRegionOfRegard = this.getRegionOfRegard(); strategy.appendField(locator, this, "regionOfRegard", buffer, theRegionOfRegard, (this.regionOfRegard!= null)); } return buffer; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void mergeFrom(Object left, Object right) { final MergeStrategy strategy = JAXBMergeStrategy.getInstance(); mergeFrom(null, null, left, right, strategy); } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy strategy) { if (right instanceof Coverage) { final Coverage target = this; final Coverage leftObject = ((Coverage) left); final Coverage rightObject = ((Coverage) right); { Boolean stcResourceProfileShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.stcResourceProfile!= null), (rightObject.stcResourceProfile!= null)); if (stcResourceProfileShouldBeMergedAndSet == Boolean.TRUE) { AstroSTCDescriptionType lhsSTCResourceProfile; lhsSTCResourceProfile = leftObject.getSTCResourceProfile(); AstroSTCDescriptionType rhsSTCResourceProfile; rhsSTCResourceProfile = rightObject.getSTCResourceProfile(); AstroSTCDescriptionType mergedSTCResourceProfile = ((AstroSTCDescriptionType) strategy.merge(LocatorUtils.property(leftLocator, "stcResourceProfile", lhsSTCResourceProfile), LocatorUtils.property(rightLocator, "stcResourceProfile", rhsSTCResourceProfile), lhsSTCResourceProfile, rhsSTCResourceProfile, (leftObject.stcResourceProfile!= null), (rightObject.stcResourceProfile!= null))); target.setSTCResourceProfile(mergedSTCResourceProfile); } else { if (stcResourceProfileShouldBeMergedAndSet == Boolean.FALSE) { target.stcResourceProfile = null; } } } { Boolean spatialShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.spatial!= null), (rightObject.spatial!= null)); if (spatialShouldBeMergedAndSet == Boolean.TRUE) { SpatialCoverage lhsSpatial; lhsSpatial = leftObject.getSpatial(); SpatialCoverage rhsSpatial; rhsSpatial = rightObject.getSpatial(); SpatialCoverage mergedSpatial = ((SpatialCoverage) strategy.merge(LocatorUtils.property(leftLocator, "spatial", lhsSpatial), LocatorUtils.property(rightLocator, "spatial", rhsSpatial), lhsSpatial, rhsSpatial, (leftObject.spatial!= null), (rightObject.spatial!= null))); target.setSpatial(mergedSpatial); } else { if (spatialShouldBeMergedAndSet == Boolean.FALSE) { target.spatial = null; } } } { Boolean temporalsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.temporals!= null)&&(!leftObject.temporals.isEmpty())), ((rightObject.temporals!= null)&&(!rightObject.temporals.isEmpty()))); if (temporalsShouldBeMergedAndSet == Boolean.TRUE) { List lhsTemporals; lhsTemporals = (((leftObject.temporals!= null)&&(!leftObject.temporals.isEmpty()))?leftObject.getTemporals():null); List rhsTemporals; rhsTemporals = (((rightObject.temporals!= null)&&(!rightObject.temporals.isEmpty()))?rightObject.getTemporals():null); List mergedTemporals = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "temporals", lhsTemporals), LocatorUtils.property(rightLocator, "temporals", rhsTemporals), lhsTemporals, rhsTemporals, ((leftObject.temporals!= null)&&(!leftObject.temporals.isEmpty())), ((rightObject.temporals!= null)&&(!rightObject.temporals.isEmpty())))); target.temporals = null; if (mergedTemporals!= null) { List uniqueTemporalsl = target.getTemporals(); uniqueTemporalsl.addAll(mergedTemporals); } } else { if (temporalsShouldBeMergedAndSet == Boolean.FALSE) { target.temporals = null; } } } { Boolean spectralsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.spectrals!= null)&&(!leftObject.spectrals.isEmpty())), ((rightObject.spectrals!= null)&&(!rightObject.spectrals.isEmpty()))); if (spectralsShouldBeMergedAndSet == Boolean.TRUE) { List lhsSpectrals; lhsSpectrals = (((leftObject.spectrals!= null)&&(!leftObject.spectrals.isEmpty()))?leftObject.getSpectrals():null); List rhsSpectrals; rhsSpectrals = (((rightObject.spectrals!= null)&&(!rightObject.spectrals.isEmpty()))?rightObject.getSpectrals():null); List mergedSpectrals = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "spectrals", lhsSpectrals), LocatorUtils.property(rightLocator, "spectrals", rhsSpectrals), lhsSpectrals, rhsSpectrals, ((leftObject.spectrals!= null)&&(!leftObject.spectrals.isEmpty())), ((rightObject.spectrals!= null)&&(!rightObject.spectrals.isEmpty())))); target.spectrals = null; if (mergedSpectrals!= null) { List uniqueSpectralsl = target.getSpectrals(); uniqueSpectralsl.addAll(mergedSpectrals); } } else { if (spectralsShouldBeMergedAndSet == Boolean.FALSE) { target.spectrals = null; } } } { Boolean footprintShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.footprint!= null), (rightObject.footprint!= null)); if (footprintShouldBeMergedAndSet == Boolean.TRUE) { ServiceReference lhsFootprint; lhsFootprint = leftObject.getFootprint(); ServiceReference rhsFootprint; rhsFootprint = rightObject.getFootprint(); ServiceReference mergedFootprint = ((ServiceReference) strategy.merge(LocatorUtils.property(leftLocator, "footprint", lhsFootprint), LocatorUtils.property(rightLocator, "footprint", rhsFootprint), lhsFootprint, rhsFootprint, (leftObject.footprint!= null), (rightObject.footprint!= null))); target.setFootprint(mergedFootprint); } else { if (footprintShouldBeMergedAndSet == Boolean.FALSE) { target.footprint = null; } } } { Boolean wavebandsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.wavebands!= null)&&(!leftObject.wavebands.isEmpty())), ((rightObject.wavebands!= null)&&(!rightObject.wavebands.isEmpty()))); if (wavebandsShouldBeMergedAndSet == Boolean.TRUE) { List lhsWavebands; lhsWavebands = (((leftObject.wavebands!= null)&&(!leftObject.wavebands.isEmpty()))?leftObject.getWavebands():null); List rhsWavebands; rhsWavebands = (((rightObject.wavebands!= null)&&(!rightObject.wavebands.isEmpty()))?rightObject.getWavebands():null); List mergedWavebands = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "wavebands", lhsWavebands), LocatorUtils.property(rightLocator, "wavebands", rhsWavebands), lhsWavebands, rhsWavebands, ((leftObject.wavebands!= null)&&(!leftObject.wavebands.isEmpty())), ((rightObject.wavebands!= null)&&(!rightObject.wavebands.isEmpty())))); target.wavebands = null; if (mergedWavebands!= null) { List uniqueWavebandsl = target.getWavebands(); uniqueWavebandsl.addAll(mergedWavebands); } } else { if (wavebandsShouldBeMergedAndSet == Boolean.FALSE) { target.wavebands = null; } } } { Boolean regionOfRegardShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.regionOfRegard!= null), (rightObject.regionOfRegard!= null)); if (regionOfRegardShouldBeMergedAndSet == Boolean.TRUE) { Float lhsRegionOfRegard; lhsRegionOfRegard = leftObject.getRegionOfRegard(); Float rhsRegionOfRegard; rhsRegionOfRegard = rightObject.getRegionOfRegard(); Float mergedRegionOfRegard = ((Float) strategy.merge(LocatorUtils.property(leftLocator, "regionOfRegard", lhsRegionOfRegard), LocatorUtils.property(rightLocator, "regionOfRegard", rhsRegionOfRegard), lhsRegionOfRegard, rhsRegionOfRegard, (leftObject.regionOfRegard!= null), (rightObject.regionOfRegard!= null))); target.setRegionOfRegard(mergedRegionOfRegard); } else { if (regionOfRegardShouldBeMergedAndSet == Boolean.FALSE) { target.regionOfRegard = null; } } } } } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Object createNewInstance() { return new Coverage(); } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage clone() { final Coverage _newObject; try { _newObject = ((Coverage) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.stcResourceProfile = ((this.stcResourceProfile == null)?null:this.stcResourceProfile.clone()); _newObject.spatial = ((this.spatial == null)?null:this.spatial.clone()); _newObject.temporals = ((this.temporals == null)?null:new ArrayList<>(this.temporals)); _newObject.spectrals = ((this.spectrals == null)?null:new ArrayList<>(this.spectrals)); _newObject.footprint = ((this.footprint == null)?null:this.footprint.clone()); _newObject.wavebands = ((this.wavebands == null)?null:new ArrayList<>(this.wavebands)); return _newObject; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage createCopy() { final Coverage _newObject; try { _newObject = ((Coverage) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.stcResourceProfile = ((this.stcResourceProfile == null)?null:this.stcResourceProfile.createCopy()); _newObject.spatial = ((this.spatial == null)?null:this.spatial.createCopy()); _newObject.temporals = ((this.temporals == null)?null:new ArrayList<>(this.temporals)); _newObject.spectrals = ((this.spectrals == null)?null:new ArrayList<>(this.spectrals)); _newObject.footprint = ((this.footprint == null)?null:this.footprint.createCopy()); _newObject.wavebands = ((this.wavebands == null)?null:new ArrayList<>(this.wavebands)); _newObject.regionOfRegard = this.regionOfRegard; return _newObject; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Coverage _newObject; try { _newObject = ((Coverage) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree stcResourceProfilePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("stcResourceProfile")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stcResourceProfilePropertyTree!= null):((stcResourceProfilePropertyTree == null)||(!stcResourceProfilePropertyTree.isLeaf())))) { _newObject.stcResourceProfile = ((this.stcResourceProfile == null)?null:this.stcResourceProfile.createCopy(stcResourceProfilePropertyTree, _propertyTreeUse)); } final PropertyTree spatialPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatial")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialPropertyTree!= null):((spatialPropertyTree == null)||(!spatialPropertyTree.isLeaf())))) { _newObject.spatial = ((this.spatial == null)?null:this.spatial.createCopy(spatialPropertyTree, _propertyTreeUse)); } final PropertyTree temporalsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("temporals")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(temporalsPropertyTree!= null):((temporalsPropertyTree == null)||(!temporalsPropertyTree.isLeaf())))) { _newObject.temporals = ((this.temporals == null)?null:new ArrayList<>(this.temporals)); } final PropertyTree spectralsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spectrals")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spectralsPropertyTree!= null):((spectralsPropertyTree == null)||(!spectralsPropertyTree.isLeaf())))) { _newObject.spectrals = ((this.spectrals == null)?null:new ArrayList<>(this.spectrals)); } final PropertyTree footprintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("footprint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(footprintPropertyTree!= null):((footprintPropertyTree == null)||(!footprintPropertyTree.isLeaf())))) { _newObject.footprint = ((this.footprint == null)?null:this.footprint.createCopy(footprintPropertyTree, _propertyTreeUse)); } final PropertyTree wavebandsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("wavebands")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(wavebandsPropertyTree!= null):((wavebandsPropertyTree == null)||(!wavebandsPropertyTree.isLeaf())))) { _newObject.wavebands = ((this.wavebands == null)?null:new ArrayList<>(this.wavebands)); } final PropertyTree regionOfRegardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("regionOfRegard")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(regionOfRegardPropertyTree!= null):((regionOfRegardPropertyTree == null)||(!regionOfRegardPropertyTree.isLeaf())))) { _newObject.regionOfRegard = this.regionOfRegard; } return _newObject; } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage copyOnly(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.INCLUDE); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage.Modifier modifier() { if (null == this.__cachedModifier__) { this.__cachedModifier__ = new Coverage.Modifier(); } return ((Coverage.Modifier) this.__cachedModifier__); } /** * Copies all state of this object to a builder. This method is used by the copyOf * method and should not be called directly by client code. * * @param _other * A builder instance to which the state of this object will be copied. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public<_B >void copyTo(final Coverage.Builder<_B> _other) { _other.stcResourceProfile = ((this.stcResourceProfile == null)?null:this.stcResourceProfile.newCopyBuilder(_other)); _other.spatial = ((this.spatial == null)?null:this.spatial.newCopyBuilder(_other)); if (this.temporals == null) { _other.temporals = null; } else { _other.temporals = new ArrayList<>(); for (String _item: this.temporals) { _other.temporals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } if (this.spectrals == null) { _other.spectrals = null; } else { _other.spectrals = new ArrayList<>(); for (String _item: this.spectrals) { _other.spectrals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } _other.footprint = ((this.footprint == null)?null:this.footprint.newCopyBuilder(_other)); if (this.wavebands == null) { _other.wavebands = null; } else { _other.wavebands = new ArrayList<>(); for (Waveband _item: this.wavebands) { _other.wavebands.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } _other.regionOfRegard = this.regionOfRegard; } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public<_B >Coverage.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Coverage.Builder<_B>(_parentBuilder, this, true); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage.Builder newCopyBuilder() { return newCopyBuilder(null); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public static Coverage.Builder builder() { return new Coverage.Builder<>(null, null, false); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public static<_B >Coverage.Builder<_B> copyOf(final Coverage _other) { final Coverage.Builder<_B> _newBuilder = new Coverage.Builder<>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } /** * Copies all state of this object to a builder. This method is used by the copyOf * method and should not be called directly by client code. * * @param _other * A builder instance to which the state of this object will be copied. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public<_B >void copyTo(final Coverage.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree stcResourceProfilePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("stcResourceProfile")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stcResourceProfilePropertyTree!= null):((stcResourceProfilePropertyTree == null)||(!stcResourceProfilePropertyTree.isLeaf())))) { _other.stcResourceProfile = ((this.stcResourceProfile == null)?null:this.stcResourceProfile.newCopyBuilder(_other, stcResourceProfilePropertyTree, _propertyTreeUse)); } final PropertyTree spatialPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatial")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialPropertyTree!= null):((spatialPropertyTree == null)||(!spatialPropertyTree.isLeaf())))) { _other.spatial = ((this.spatial == null)?null:this.spatial.newCopyBuilder(_other, spatialPropertyTree, _propertyTreeUse)); } final PropertyTree temporalsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("temporals")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(temporalsPropertyTree!= null):((temporalsPropertyTree == null)||(!temporalsPropertyTree.isLeaf())))) { if (this.temporals == null) { _other.temporals = null; } else { _other.temporals = new ArrayList<>(); for (String _item: this.temporals) { _other.temporals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } final PropertyTree spectralsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spectrals")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spectralsPropertyTree!= null):((spectralsPropertyTree == null)||(!spectralsPropertyTree.isLeaf())))) { if (this.spectrals == null) { _other.spectrals = null; } else { _other.spectrals = new ArrayList<>(); for (String _item: this.spectrals) { _other.spectrals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } final PropertyTree footprintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("footprint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(footprintPropertyTree!= null):((footprintPropertyTree == null)||(!footprintPropertyTree.isLeaf())))) { _other.footprint = ((this.footprint == null)?null:this.footprint.newCopyBuilder(_other, footprintPropertyTree, _propertyTreeUse)); } final PropertyTree wavebandsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("wavebands")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(wavebandsPropertyTree!= null):((wavebandsPropertyTree == null)||(!wavebandsPropertyTree.isLeaf())))) { if (this.wavebands == null) { _other.wavebands = null; } else { _other.wavebands = new ArrayList<>(); for (Waveband _item: this.wavebands) { _other.wavebands.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } final PropertyTree regionOfRegardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("regionOfRegard")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(regionOfRegardPropertyTree!= null):((regionOfRegardPropertyTree == null)||(!regionOfRegardPropertyTree.isLeaf())))) { _other.regionOfRegard = this.regionOfRegard; } } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public<_B >Coverage.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Coverage.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public static<_B >Coverage.Builder<_B> copyOf(final Coverage _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Coverage.Builder<_B> _newBuilder = new Coverage.Builder<>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public static Coverage.Builder copyExcept(final Coverage _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public static Coverage.Builder copyOnly(final Coverage _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public Coverage visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); if (_visitor_.visit(new SingleProperty<>(Coverage.PropInfo.STC_RESOURCE_PROFILE, this))&&(this.stcResourceProfile!= null)) { this.stcResourceProfile.visit(_visitor_); } if (_visitor_.visit(new SingleProperty<>(Coverage.PropInfo.SPATIAL, this))&&(this.spatial!= null)) { this.spatial.visit(_visitor_); } _visitor_.visit(new CollectionProperty<>(Coverage.PropInfo.TEMPORALS, this)); _visitor_.visit(new CollectionProperty<>(Coverage.PropInfo.SPECTRALS, this)); if (_visitor_.visit(new SingleProperty<>(Coverage.PropInfo.FOOTPRINT, this))&&(this.footprint!= null)) { this.footprint.visit(_visitor_); } _visitor_.visit(new CollectionProperty<>(Coverage.PropInfo.WAVEBANDS, this)); _visitor_.visit(new SingleProperty<>(Coverage.PropInfo.REGION_OF_REGARD, this)); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; protected final Coverage _storedValue; private AstroSTCDescriptionType.Builder> stcResourceProfile; private SpatialCoverage.Builder> spatial; private List temporals; private List spectrals; private ServiceReference.Builder> footprint; private List wavebands; private Float regionOfRegard; public Builder(final _B _parentBuilder, final Coverage _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_copy) { _storedValue = null; this.stcResourceProfile = ((_other.stcResourceProfile == null)?null:_other.stcResourceProfile.newCopyBuilder(this)); this.spatial = ((_other.spatial == null)?null:_other.spatial.newCopyBuilder(this)); if (_other.temporals == null) { this.temporals = null; } else { this.temporals = new ArrayList<>(); for (String _item: _other.temporals) { this.temporals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } if (_other.spectrals == null) { this.spectrals = null; } else { this.spectrals = new ArrayList<>(); for (String _item: _other.spectrals) { this.spectrals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } this.footprint = ((_other.footprint == null)?null:_other.footprint.newCopyBuilder(this)); if (_other.wavebands == null) { this.wavebands = null; } else { this.wavebands = new ArrayList<>(); for (Waveband _item: _other.wavebands) { this.wavebands.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } this.regionOfRegard = _other.regionOfRegard; } else { _storedValue = _other; } } else { _storedValue = null; } } public Builder(final _B _parentBuilder, final Coverage _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_copy) { _storedValue = null; final PropertyTree stcResourceProfilePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("stcResourceProfile")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stcResourceProfilePropertyTree!= null):((stcResourceProfilePropertyTree == null)||(!stcResourceProfilePropertyTree.isLeaf())))) { this.stcResourceProfile = ((_other.stcResourceProfile == null)?null:_other.stcResourceProfile.newCopyBuilder(this, stcResourceProfilePropertyTree, _propertyTreeUse)); } final PropertyTree spatialPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatial")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialPropertyTree!= null):((spatialPropertyTree == null)||(!spatialPropertyTree.isLeaf())))) { this.spatial = ((_other.spatial == null)?null:_other.spatial.newCopyBuilder(this, spatialPropertyTree, _propertyTreeUse)); } final PropertyTree temporalsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("temporals")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(temporalsPropertyTree!= null):((temporalsPropertyTree == null)||(!temporalsPropertyTree.isLeaf())))) { if (_other.temporals == null) { this.temporals = null; } else { this.temporals = new ArrayList<>(); for (String _item: _other.temporals) { this.temporals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } final PropertyTree spectralsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spectrals")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spectralsPropertyTree!= null):((spectralsPropertyTree == null)||(!spectralsPropertyTree.isLeaf())))) { if (_other.spectrals == null) { this.spectrals = null; } else { this.spectrals = new ArrayList<>(); for (String _item: _other.spectrals) { this.spectrals.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } final PropertyTree footprintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("footprint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(footprintPropertyTree!= null):((footprintPropertyTree == null)||(!footprintPropertyTree.isLeaf())))) { this.footprint = ((_other.footprint == null)?null:_other.footprint.newCopyBuilder(this, footprintPropertyTree, _propertyTreeUse)); } final PropertyTree wavebandsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("wavebands")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(wavebandsPropertyTree!= null):((wavebandsPropertyTree == null)||(!wavebandsPropertyTree.isLeaf())))) { if (_other.wavebands == null) { this.wavebands = null; } else { this.wavebands = new ArrayList<>(); for (Waveband _item: _other.wavebands) { this.wavebands.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } final PropertyTree regionOfRegardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("regionOfRegard")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(regionOfRegardPropertyTree!= null):((regionOfRegardPropertyTree == null)||(!regionOfRegardPropertyTree.isLeaf())))) { this.regionOfRegard = _other.regionOfRegard; } } else { _storedValue = _other; } } else { _storedValue = null; } } public _B end() { return this._parentBuilder; } protected<_P extends Coverage >_P init(final _P _product) { _product.stcResourceProfile = ((this.stcResourceProfile == null)?null:this.stcResourceProfile.build()); _product.spatial = ((this.spatial == null)?null:this.spatial.build()); if (this.temporals!= null) { final List temporals = new ArrayList<>(this.temporals.size()); for (Buildable _item: this.temporals) { temporals.add(((String) _item.build())); } _product.temporals = temporals; } if (this.spectrals!= null) { final List spectrals = new ArrayList<>(this.spectrals.size()); for (Buildable _item: this.spectrals) { spectrals.add(((String) _item.build())); } _product.spectrals = spectrals; } _product.footprint = ((this.footprint == null)?null:this.footprint.build()); if (this.wavebands!= null) { final List wavebands = new ArrayList<>(this.wavebands.size()); for (Buildable _item: this.wavebands) { wavebands.add(((Waveband) _item.build())); } _product.wavebands = wavebands; } _product.regionOfRegard = this.regionOfRegard; return _product; } /** * Sets the new value of "stcResourceProfile" (any previous value will be replaced) * * @param stcResourceProfile * New value of the "stcResourceProfile" property. */ public Coverage.Builder<_B> withSTCResourceProfile(final AstroSTCDescriptionType stcResourceProfile) { this.stcResourceProfile = ((stcResourceProfile == null)?null:new AstroSTCDescriptionType.Builder<>(this, stcResourceProfile, false)); return this; } /** * Returns the existing builder or a new builder to build the value of the * "stcResourceProfile" property. * Use {@link * org.javastro.ivoa.entities.stc.v1.AstroSTCDescriptionType.Builder#end()} to * return to the current builder. * * @return * A new builder to build the value of the "stcResourceProfile" property. * Use {@link * org.javastro.ivoa.entities.stc.v1.AstroSTCDescriptionType.Builder#end()} to * return to the current builder. */ public AstroSTCDescriptionType.Builder> withSTCResourceProfile() { if (this.stcResourceProfile!= null) { return this.stcResourceProfile; } return this.stcResourceProfile = new AstroSTCDescriptionType.Builder<>(this, null, false); } /** * Sets the new value of "spatial" (any previous value will be replaced) * * @param spatial * New value of the "spatial" property. */ public Coverage.Builder<_B> withSpatial(final SpatialCoverage spatial) { this.spatial = ((spatial == null)?null:new SpatialCoverage.Builder<>(this, spatial, false)); return this; } /** * Returns the existing builder or a new builder to build the value of the * "spatial" property. * Use {@link * org.javastro.ivoa.entities.resource.dataservice.SpatialCoverage.Builder#end()} * to return to the current builder. * * @return * A new builder to build the value of the "spatial" property. * Use {@link * org.javastro.ivoa.entities.resource.dataservice.SpatialCoverage.Builder#end()} * to return to the current builder. */ public SpatialCoverage.Builder> withSpatial() { if (this.spatial!= null) { return this.spatial; } return this.spatial = new SpatialCoverage.Builder<>(this, null, false); } /** * Adds the given items to the value of "temporals" * * @param temporals * Items to add to the value of the "temporals" property */ public Coverage.Builder<_B> addTemporals(final Iterable temporals) { if (temporals!= null) { if (this.temporals == null) { this.temporals = new ArrayList<>(); } for (String _item: temporals) { this.temporals.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "temporals" (any previous value will be replaced) * * @param temporals * New value of the "temporals" property. */ public Coverage.Builder<_B> withTemporals(final Iterable temporals) { if (this.temporals!= null) { this.temporals.clear(); } return addTemporals(temporals); } /** * Adds the given items to the value of "temporals" * * @param temporals * Items to add to the value of the "temporals" property */ public Coverage.Builder<_B> addTemporals(String... temporals) { addTemporals(Arrays.asList(temporals)); return this; } /** * Sets the new value of "temporals" (any previous value will be replaced) * * @param temporals * New value of the "temporals" property. */ public Coverage.Builder<_B> withTemporals(String... temporals) { withTemporals(Arrays.asList(temporals)); return this; } /** * Adds the given items to the value of "spectrals" * * @param spectrals * Items to add to the value of the "spectrals" property */ public Coverage.Builder<_B> addSpectrals(final Iterable spectrals) { if (spectrals!= null) { if (this.spectrals == null) { this.spectrals = new ArrayList<>(); } for (String _item: spectrals) { this.spectrals.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "spectrals" (any previous value will be replaced) * * @param spectrals * New value of the "spectrals" property. */ public Coverage.Builder<_B> withSpectrals(final Iterable spectrals) { if (this.spectrals!= null) { this.spectrals.clear(); } return addSpectrals(spectrals); } /** * Adds the given items to the value of "spectrals" * * @param spectrals * Items to add to the value of the "spectrals" property */ public Coverage.Builder<_B> addSpectrals(String... spectrals) { addSpectrals(Arrays.asList(spectrals)); return this; } /** * Sets the new value of "spectrals" (any previous value will be replaced) * * @param spectrals * New value of the "spectrals" property. */ public Coverage.Builder<_B> withSpectrals(String... spectrals) { withSpectrals(Arrays.asList(spectrals)); return this; } /** * Sets the new value of "footprint" (any previous value will be replaced) * * @param footprint * New value of the "footprint" property. */ public Coverage.Builder<_B> withFootprint(final ServiceReference footprint) { this.footprint = ((footprint == null)?null:new ServiceReference.Builder<>(this, footprint, false)); return this; } /** * Returns the existing builder or a new builder to build the value of the * "footprint" property. * Use {@link * org.javastro.ivoa.entities.resource.dataservice.ServiceReference.Builder#end()} * to return to the current builder. * * @return * A new builder to build the value of the "footprint" property. * Use {@link * org.javastro.ivoa.entities.resource.dataservice.ServiceReference.Builder#end()} * to return to the current builder. */ public ServiceReference.Builder> withFootprint() { if (this.footprint!= null) { return this.footprint; } return this.footprint = new ServiceReference.Builder<>(this, null, false); } /** * Adds the given items to the value of "wavebands" * * @param wavebands * Items to add to the value of the "wavebands" property */ public Coverage.Builder<_B> addWavebands(final Iterable wavebands) { if (wavebands!= null) { if (this.wavebands == null) { this.wavebands = new ArrayList<>(); } for (Waveband _item: wavebands) { this.wavebands.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "wavebands" (any previous value will be replaced) * * @param wavebands * New value of the "wavebands" property. */ public Coverage.Builder<_B> withWavebands(final Iterable wavebands) { if (this.wavebands!= null) { this.wavebands.clear(); } return addWavebands(wavebands); } /** * Adds the given items to the value of "wavebands" * * @param wavebands * Items to add to the value of the "wavebands" property */ public Coverage.Builder<_B> addWavebands(Waveband... wavebands) { addWavebands(Arrays.asList(wavebands)); return this; } /** * Sets the new value of "wavebands" (any previous value will be replaced) * * @param wavebands * New value of the "wavebands" property. */ public Coverage.Builder<_B> withWavebands(Waveband... wavebands) { withWavebands(Arrays.asList(wavebands)); return this; } /** * Sets the new value of "regionOfRegard" (any previous value will be replaced) * * @param regionOfRegard * New value of the "regionOfRegard" property. */ public Coverage.Builder<_B> withRegionOfRegard(final Float regionOfRegard) { this.regionOfRegard = regionOfRegard; return this; } @Override public Coverage build() { if (_storedValue == null) { return this.init(new Coverage()); } else { return ((Coverage) _storedValue); } } public Coverage.Builder<_B> copyOf(final Coverage _other) { _other.copyTo(this); return this; } public Coverage.Builder<_B> copyOf(final Coverage.Builder _other) { return copyOf(_other.build()); } } public class Modifier { public void setSTCResourceProfile(final AstroSTCDescriptionType stcResourceProfile) { Coverage.this.setSTCResourceProfile(stcResourceProfile); } public void setSpatial(final SpatialCoverage spatial) { Coverage.this.setSpatial(spatial); } public List getTemporals() { if (Coverage.this.temporals == null) { Coverage.this.temporals = new ArrayList<>(); } return Coverage.this.temporals; } public List getSpectrals() { if (Coverage.this.spectrals == null) { Coverage.this.spectrals = new ArrayList<>(); } return Coverage.this.spectrals; } public void setFootprint(final ServiceReference footprint) { Coverage.this.setFootprint(footprint); } public List getWavebands() { if (Coverage.this.wavebands == null) { Coverage.this.wavebands = new ArrayList<>(); } return Coverage.this.wavebands; } public void setRegionOfRegard(final Float regionOfRegard) { Coverage.this.setRegionOfRegard(regionOfRegard); } } public static class PropInfo { public static final transient SinglePropertyInfo STC_RESOURCE_PROFILE = new SinglePropertyInfo("stcResourceProfile", Coverage.class, AstroSTCDescriptionType.class, false, null, new QName("http://www.ivoa.net/xml/STC/stc-v1.30.xsd", "STCResourceProfile"), new QName("http://www.ivoa.net/xml/STC/stc-v1.30.xsd", "astroSTCDescriptionType"), false) { @Override public AstroSTCDescriptionType get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.stcResourceProfile); } @Override public void set(final Coverage _instance_, final AstroSTCDescriptionType _value_) { if (_instance_!= null) { _instance_.stcResourceProfile = _value_; } } } ; public static final transient SinglePropertyInfo SPATIAL = new SinglePropertyInfo("spatial", Coverage.class, SpatialCoverage.class, false, null, new QName("", "spatial"), new QName("http://www.ivoa.net/xml/VODataService/v1.1", "SpatialCoverage"), false) { @Override public SpatialCoverage get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.spatial); } @Override public void set(final Coverage _instance_, final SpatialCoverage _value_) { if (_instance_!= null) { _instance_.spatial = _value_; } } } ; public static final transient CollectionPropertyInfo TEMPORALS = new CollectionPropertyInfo("temporals", Coverage.class, String.class, true, null, new QName("", "temporal"), new QName("http://www.ivoa.net/xml/VODataService/v1.1", "FloatInterval"), false) { @Override public List get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.temporals); } @Override public void set(final Coverage _instance_, final List _value_) { if (_instance_!= null) { _instance_.temporals = _value_; } } } ; public static final transient CollectionPropertyInfo SPECTRALS = new CollectionPropertyInfo("spectrals", Coverage.class, String.class, true, null, new QName("", "spectral"), new QName("http://www.ivoa.net/xml/VODataService/v1.1", "FloatInterval"), false) { @Override public List get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.spectrals); } @Override public void set(final Coverage _instance_, final List _value_) { if (_instance_!= null) { _instance_.spectrals = _value_; } } } ; public static final transient SinglePropertyInfo FOOTPRINT = new SinglePropertyInfo("footprint", Coverage.class, ServiceReference.class, false, null, new QName("", "footprint"), new QName("http://www.ivoa.net/xml/VODataService/v1.1", "ServiceReference"), false) { @Override public ServiceReference get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.footprint); } @Override public void set(final Coverage _instance_, final ServiceReference _value_) { if (_instance_!= null) { _instance_.footprint = _value_; } } } ; public static final transient CollectionPropertyInfo WAVEBANDS = new CollectionPropertyInfo("wavebands", Coverage.class, Waveband.class, true, null, new QName("", "waveband"), new QName("http://www.ivoa.net/xml/VODataService/v1.1", "Waveband"), false) { @Override public List get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.wavebands); } @Override public void set(final Coverage _instance_, final List _value_) { if (_instance_!= null) { _instance_.wavebands = _value_; } } } ; public static final transient SinglePropertyInfo REGION_OF_REGARD = new SinglePropertyInfo("regionOfRegard", Coverage.class, Float.class, false, null, new QName("", "regionOfRegard"), new QName("http://www.w3.org/2001/XMLSchema", "float"), false) { @Override public Float get(final Coverage _instance_) { return ((_instance_ == null)?null:_instance_.regionOfRegard); } @Override public void set(final Coverage _instance_, final Float _value_) { if (_instance_!= null) { _instance_.regionOfRegard = _value_; } } } ; } public static class Select extends Coverage.Selector { Select() { super(null, null, null); } public static Coverage.Select _root() { return new Coverage.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private AstroSTCDescriptionType.Selector> stcResourceProfile = null; private SpatialCoverage.Selector> spatial = null; private com.kscs.util.jaxb.Selector> temporals = null; private com.kscs.util.jaxb.Selector> spectrals = null; private ServiceReference.Selector> footprint = null; private com.kscs.util.jaxb.Selector> wavebands = null; private com.kscs.util.jaxb.Selector> regionOfRegard = null; public Selector(final TRoot root, final TParent parent, final String propertyName) { super(root, parent, propertyName); } @Override public Map buildChildren() { final Map products = new HashMap<>(); products.putAll(super.buildChildren()); if (this.stcResourceProfile!= null) { products.put("stcResourceProfile", this.stcResourceProfile.init()); } if (this.spatial!= null) { products.put("spatial", this.spatial.init()); } if (this.temporals!= null) { products.put("temporals", this.temporals.init()); } if (this.spectrals!= null) { products.put("spectrals", this.spectrals.init()); } if (this.footprint!= null) { products.put("footprint", this.footprint.init()); } if (this.wavebands!= null) { products.put("wavebands", this.wavebands.init()); } if (this.regionOfRegard!= null) { products.put("regionOfRegard", this.regionOfRegard.init()); } return products; } public AstroSTCDescriptionType.Selector> stcResourceProfile() { return ((this.stcResourceProfile == null)?this.stcResourceProfile = new AstroSTCDescriptionType.Selector<>(this._root, this, "stcResourceProfile"):this.stcResourceProfile); } public SpatialCoverage.Selector> spatial() { return ((this.spatial == null)?this.spatial = new SpatialCoverage.Selector<>(this._root, this, "spatial"):this.spatial); } public com.kscs.util.jaxb.Selector> temporals() { return ((this.temporals == null)?this.temporals = new com.kscs.util.jaxb.Selector<>(this._root, this, "temporals"):this.temporals); } public com.kscs.util.jaxb.Selector> spectrals() { return ((this.spectrals == null)?this.spectrals = new com.kscs.util.jaxb.Selector<>(this._root, this, "spectrals"):this.spectrals); } public ServiceReference.Selector> footprint() { return ((this.footprint == null)?this.footprint = new ServiceReference.Selector<>(this._root, this, "footprint"):this.footprint); } public com.kscs.util.jaxb.Selector> wavebands() { return ((this.wavebands == null)?this.wavebands = new com.kscs.util.jaxb.Selector<>(this._root, this, "wavebands"):this.wavebands); } public com.kscs.util.jaxb.Selector> regionOfRegard() { return ((this.regionOfRegard == null)?this.regionOfRegard = new com.kscs.util.jaxb.Selector<>(this._root, this, "regionOfRegard"):this.regionOfRegard); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy