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

org.javastro.ivoa.entities.resource.ServiceInterface Maven / Gradle / Ivy


package org.javastro.ivoa.entities.resource;

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 jakarta.annotation.Generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlSchemaType;
import jakarta.xml.bind.annotation.XmlSeeAlso;
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.resource.dataservice.ParamHTTP;
import org.javastro.ivoa.entities.resource.registry.OAIHTTP;
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;


/**
 * Additional interface subtypes (beyond WebService and WebBrowser) are 
 *            defined in the VODataService schema.
 * 
 * 

Java class for Interface complex type

. * *

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

* *
{@code
 * 
 *   
 *     
 *       
 *         
 *         
 *         
 *         
 *       
 *       
 *       
 *     
 *   
 * 
 * }
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Interface", propOrder = { "accessURLs", "mirrorURLs", "securityMethod", "testQueryString" }) @XmlSeeAlso({ WebBrowser.class, ParamHTTP.class, OAIHTTP.class, WebService.class }) @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public abstract class ServiceInterface implements Cloneable, Copyable, PartialCopyable, MergeFrom, ToString { /** * Although the schema allows multiple occurrences of * accessURL, multiple accessURLs are deprecated. Each * interface should have exactly one access URL. Where an * interface has several mirrors, the accessURL should * reflect the “primary” (fastest, best-connected, * best-maintained) site, the one that non-sophisticated * clients will go to. * * Additional accessURLs should be put into mirrorURLs. * Advanced clients can retrieve the mirrorURLs and * empirically determine interfaces closer to their * network location. * */ @XmlElement(name = "accessURL", required = true) @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected List accessURLs; /** * This is intended exclusively for true mirrors, i.e., * interfaces that are functionally identical to the * original interface and that are operated by the same * publisher. Other arrangements should be represented as * separate services linked by mirror-of relationships. * */ @XmlElement(name = "mirrorURL") @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected List mirrorURLs; /** * Services not requiring authentication must provide * at least one interface definition without a * securityMethod defined. * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected SecurityMethod securityMethod; /** * This contains data that can be passed to the interface to * retrieve a non-empty result. This can be used by validators * within test suites. * * Exactly how agents should use the data contained in * the testQueryString depends on the concrete interface class. * For interfaces employing the HTTP GET method, however, * this will typically be urlencoded parameters (as for * the application/x-www-form-urlencoded media type). * */ @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 String testQueryString; /** * The version of a standard interface specification that this * interface complies with. Most VO standards indicate the * version in the standardID attribute of the capability. For * these standards, the version attribute should not be used. * */ @XmlAttribute(name = "version") @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected String version; /** * For an interface complying with some registered * standard (i.e. has a legal standardID), the role can be * matched against interface roles enumerated in standard * resource record. The interface descriptions in * the standard record can provide default descriptions * so that such details need not be repeated here. * */ @XmlAttribute(name = "role") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "NMTOKEN") @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected String role; @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") protected transient ServiceInterface.Modifier __cachedModifier__; /** * Default no-arg constructor * */ public ServiceInterface() { super(); } /** * Fully-initialising value constructor * */ public ServiceInterface(final List accessURLs, final List mirrorURLs, final SecurityMethod securityMethod, final String testQueryString, final String version, final String role) { this.accessURLs = accessURLs; this.mirrorURLs = mirrorURLs; this.securityMethod = securityMethod; this.testQueryString = testQueryString; this.version = version; this.role = role; } /** * Although the schema allows multiple occurrences of * accessURL, multiple accessURLs are deprecated. Each * interface should have exactly one access URL. Where an * interface has several mirrors, the accessURL should * reflect the “primary” (fastest, best-connected, * best-maintained) site, the one that non-sophisticated * clients will go to. * * Additional accessURLs should be put into mirrorURLs. * Advanced clients can retrieve the mirrorURLs and * empirically determine interfaces closer to their * network location. * * Gets the value of the accessURLs 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 accessURLs property.

* *

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

*
     * getAccessURLs().add(newItem);
     * 
* * *

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

* * * @return * The value of the accessURLs property. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public List getAccessURLs() { if (accessURLs == null) { accessURLs = new ArrayList<>(); } return this.accessURLs; } /** * This is intended exclusively for true mirrors, i.e., * interfaces that are functionally identical to the * original interface and that are operated by the same * publisher. Other arrangements should be represented as * separate services linked by mirror-of relationships. * * Gets the value of the mirrorURLs 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 mirrorURLs property.

* *

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

*
     * getMirrorURLs().add(newItem);
     * 
* * *

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

* * * @return * The value of the mirrorURLs property. */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public List getMirrorURLs() { if (mirrorURLs == null) { mirrorURLs = new ArrayList<>(); } return this.mirrorURLs; } /** * Services not requiring authentication must provide * at least one interface definition without a * securityMethod defined. * * @return * possible object is * {@link SecurityMethod } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public SecurityMethod getSecurityMethod() { return securityMethod; } /** * Sets the value of the securityMethod property. * * @param value * allowed object is * {@link SecurityMethod } * * @see #getSecurityMethod() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setSecurityMethod(SecurityMethod value) { this.securityMethod = value; } /** * This contains data that can be passed to the interface to * retrieve a non-empty result. This can be used by validators * within test suites. * * Exactly how agents should use the data contained in * the testQueryString depends on the concrete interface class. * For interfaces employing the HTTP GET method, however, * this will typically be urlencoded parameters (as for * the application/x-www-form-urlencoded media type). * * @return * possible object is * {@link String } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public String getTestQueryString() { return testQueryString; } /** * Sets the value of the testQueryString property. * * @param value * allowed object is * {@link String } * * @see #getTestQueryString() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setTestQueryString(String value) { this.testQueryString = value; } /** * The version of a standard interface specification that this * interface complies with. Most VO standards indicate the * version in the standardID attribute of the capability. For * these standards, the version attribute should not be used. * * @return * possible object is * {@link String } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public String getVersion() { return version; } /** * Sets the value of the version property. * * @param value * allowed object is * {@link String } * * @see #getVersion() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setVersion(String value) { this.version = value; } /** * For an interface complying with some registered * standard (i.e. has a legal standardID), the role can be * matched against interface roles enumerated in standard * resource record. The interface descriptions in * the standard record can provide default descriptions * so that such details need not be repeated here. * * @return * possible object is * {@link String } * */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public String getRole() { return role; } /** * Sets the value of the role property. * * @param value * allowed object is * {@link String } * * @see #getRole() */ @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public void setRole(String value) { this.role = 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 ServiceInterface that = ((ServiceInterface) object); { List leftAccessURLs; leftAccessURLs = (((this.accessURLs!= null)&&(!this.accessURLs.isEmpty()))?this.getAccessURLs():null); List rightAccessURLs; rightAccessURLs = (((that.accessURLs!= null)&&(!that.accessURLs.isEmpty()))?that.getAccessURLs():null); if ((this.accessURLs!= null)&&(!this.accessURLs.isEmpty())) { if ((that.accessURLs!= null)&&(!that.accessURLs.isEmpty())) { if (!leftAccessURLs.equals(rightAccessURLs)) { return false; } } else { return false; } } else { if ((that.accessURLs!= null)&&(!that.accessURLs.isEmpty())) { return false; } } } { List leftMirrorURLs; leftMirrorURLs = (((this.mirrorURLs!= null)&&(!this.mirrorURLs.isEmpty()))?this.getMirrorURLs():null); List rightMirrorURLs; rightMirrorURLs = (((that.mirrorURLs!= null)&&(!that.mirrorURLs.isEmpty()))?that.getMirrorURLs():null); if ((this.mirrorURLs!= null)&&(!this.mirrorURLs.isEmpty())) { if ((that.mirrorURLs!= null)&&(!that.mirrorURLs.isEmpty())) { if (!leftMirrorURLs.equals(rightMirrorURLs)) { return false; } } else { return false; } } else { if ((that.mirrorURLs!= null)&&(!that.mirrorURLs.isEmpty())) { return false; } } } { SecurityMethod leftSecurityMethod; leftSecurityMethod = this.getSecurityMethod(); SecurityMethod rightSecurityMethod; rightSecurityMethod = that.getSecurityMethod(); if (this.securityMethod!= null) { if (that.securityMethod!= null) { if (!leftSecurityMethod.equals(rightSecurityMethod)) { return false; } } else { return false; } } else { if (that.securityMethod!= null) { return false; } } } { String leftTestQueryString; leftTestQueryString = this.getTestQueryString(); String rightTestQueryString; rightTestQueryString = that.getTestQueryString(); if (this.testQueryString!= null) { if (that.testQueryString!= null) { if (!leftTestQueryString.equals(rightTestQueryString)) { return false; } } else { return false; } } else { if (that.testQueryString!= null) { return false; } } } { String leftVersion; leftVersion = this.getVersion(); String rightVersion; rightVersion = that.getVersion(); if (this.version!= null) { if (that.version!= null) { if (!leftVersion.equals(rightVersion)) { return false; } } else { return false; } } else { if (that.version!= null) { return false; } } } { String leftRole; leftRole = this.getRole(); String rightRole; rightRole = that.getRole(); if (this.role!= null) { if (that.role!= null) { if (!leftRole.equals(rightRole)) { return false; } } else { return false; } } else { if (that.role!= 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); List theAccessURLs; theAccessURLs = (((this.accessURLs!= null)&&(!this.accessURLs.isEmpty()))?this.getAccessURLs():null); if ((this.accessURLs!= null)&&(!this.accessURLs.isEmpty())) { currentHashCode += theAccessURLs.hashCode(); } } { currentHashCode = (currentHashCode* 31); List theMirrorURLs; theMirrorURLs = (((this.mirrorURLs!= null)&&(!this.mirrorURLs.isEmpty()))?this.getMirrorURLs():null); if ((this.mirrorURLs!= null)&&(!this.mirrorURLs.isEmpty())) { currentHashCode += theMirrorURLs.hashCode(); } } { currentHashCode = (currentHashCode* 31); SecurityMethod theSecurityMethod; theSecurityMethod = this.getSecurityMethod(); if (this.securityMethod!= null) { currentHashCode += theSecurityMethod.hashCode(); } } { currentHashCode = (currentHashCode* 31); String theTestQueryString; theTestQueryString = this.getTestQueryString(); if (this.testQueryString!= null) { currentHashCode += theTestQueryString.hashCode(); } } { currentHashCode = (currentHashCode* 31); String theVersion; theVersion = this.getVersion(); if (this.version!= null) { currentHashCode += theVersion.hashCode(); } } { currentHashCode = (currentHashCode* 31); String theRole; theRole = this.getRole(); if (this.role!= null) { currentHashCode += theRole.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) { { List theAccessURLs; theAccessURLs = (((this.accessURLs!= null)&&(!this.accessURLs.isEmpty()))?this.getAccessURLs():null); strategy.appendField(locator, this, "accessURLs", buffer, theAccessURLs, ((this.accessURLs!= null)&&(!this.accessURLs.isEmpty()))); } { List theMirrorURLs; theMirrorURLs = (((this.mirrorURLs!= null)&&(!this.mirrorURLs.isEmpty()))?this.getMirrorURLs():null); strategy.appendField(locator, this, "mirrorURLs", buffer, theMirrorURLs, ((this.mirrorURLs!= null)&&(!this.mirrorURLs.isEmpty()))); } { SecurityMethod theSecurityMethod; theSecurityMethod = this.getSecurityMethod(); strategy.appendField(locator, this, "securityMethod", buffer, theSecurityMethod, (this.securityMethod!= null)); } { String theTestQueryString; theTestQueryString = this.getTestQueryString(); strategy.appendField(locator, this, "testQueryString", buffer, theTestQueryString, (this.testQueryString!= null)); } { String theVersion; theVersion = this.getVersion(); strategy.appendField(locator, this, "version", buffer, theVersion, (this.version!= null)); } { String theRole; theRole = this.getRole(); strategy.appendField(locator, this, "role", buffer, theRole, (this.role!= 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 ServiceInterface) { final ServiceInterface target = this; final ServiceInterface leftObject = ((ServiceInterface) left); final ServiceInterface rightObject = ((ServiceInterface) right); { Boolean accessURLsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.accessURLs!= null)&&(!leftObject.accessURLs.isEmpty())), ((rightObject.accessURLs!= null)&&(!rightObject.accessURLs.isEmpty()))); if (accessURLsShouldBeMergedAndSet == Boolean.TRUE) { List lhsAccessURLs; lhsAccessURLs = (((leftObject.accessURLs!= null)&&(!leftObject.accessURLs.isEmpty()))?leftObject.getAccessURLs():null); List rhsAccessURLs; rhsAccessURLs = (((rightObject.accessURLs!= null)&&(!rightObject.accessURLs.isEmpty()))?rightObject.getAccessURLs():null); List mergedAccessURLs = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "accessURLs", lhsAccessURLs), LocatorUtils.property(rightLocator, "accessURLs", rhsAccessURLs), lhsAccessURLs, rhsAccessURLs, ((leftObject.accessURLs!= null)&&(!leftObject.accessURLs.isEmpty())), ((rightObject.accessURLs!= null)&&(!rightObject.accessURLs.isEmpty())))); target.accessURLs = null; if (mergedAccessURLs!= null) { List uniqueAccessURLsl = target.getAccessURLs(); uniqueAccessURLsl.addAll(mergedAccessURLs); } } else { if (accessURLsShouldBeMergedAndSet == Boolean.FALSE) { target.accessURLs = null; } } } { Boolean mirrorURLsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.mirrorURLs!= null)&&(!leftObject.mirrorURLs.isEmpty())), ((rightObject.mirrorURLs!= null)&&(!rightObject.mirrorURLs.isEmpty()))); if (mirrorURLsShouldBeMergedAndSet == Boolean.TRUE) { List lhsMirrorURLs; lhsMirrorURLs = (((leftObject.mirrorURLs!= null)&&(!leftObject.mirrorURLs.isEmpty()))?leftObject.getMirrorURLs():null); List rhsMirrorURLs; rhsMirrorURLs = (((rightObject.mirrorURLs!= null)&&(!rightObject.mirrorURLs.isEmpty()))?rightObject.getMirrorURLs():null); List mergedMirrorURLs = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "mirrorURLs", lhsMirrorURLs), LocatorUtils.property(rightLocator, "mirrorURLs", rhsMirrorURLs), lhsMirrorURLs, rhsMirrorURLs, ((leftObject.mirrorURLs!= null)&&(!leftObject.mirrorURLs.isEmpty())), ((rightObject.mirrorURLs!= null)&&(!rightObject.mirrorURLs.isEmpty())))); target.mirrorURLs = null; if (mergedMirrorURLs!= null) { List uniqueMirrorURLsl = target.getMirrorURLs(); uniqueMirrorURLsl.addAll(mergedMirrorURLs); } } else { if (mirrorURLsShouldBeMergedAndSet == Boolean.FALSE) { target.mirrorURLs = null; } } } { Boolean securityMethodShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.securityMethod!= null), (rightObject.securityMethod!= null)); if (securityMethodShouldBeMergedAndSet == Boolean.TRUE) { SecurityMethod lhsSecurityMethod; lhsSecurityMethod = leftObject.getSecurityMethod(); SecurityMethod rhsSecurityMethod; rhsSecurityMethod = rightObject.getSecurityMethod(); SecurityMethod mergedSecurityMethod = ((SecurityMethod) strategy.merge(LocatorUtils.property(leftLocator, "securityMethod", lhsSecurityMethod), LocatorUtils.property(rightLocator, "securityMethod", rhsSecurityMethod), lhsSecurityMethod, rhsSecurityMethod, (leftObject.securityMethod!= null), (rightObject.securityMethod!= null))); target.setSecurityMethod(mergedSecurityMethod); } else { if (securityMethodShouldBeMergedAndSet == Boolean.FALSE) { target.securityMethod = null; } } } { Boolean testQueryStringShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.testQueryString!= null), (rightObject.testQueryString!= null)); if (testQueryStringShouldBeMergedAndSet == Boolean.TRUE) { String lhsTestQueryString; lhsTestQueryString = leftObject.getTestQueryString(); String rhsTestQueryString; rhsTestQueryString = rightObject.getTestQueryString(); String mergedTestQueryString = ((String) strategy.merge(LocatorUtils.property(leftLocator, "testQueryString", lhsTestQueryString), LocatorUtils.property(rightLocator, "testQueryString", rhsTestQueryString), lhsTestQueryString, rhsTestQueryString, (leftObject.testQueryString!= null), (rightObject.testQueryString!= null))); target.setTestQueryString(mergedTestQueryString); } else { if (testQueryStringShouldBeMergedAndSet == Boolean.FALSE) { target.testQueryString = null; } } } { Boolean versionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.version!= null), (rightObject.version!= null)); if (versionShouldBeMergedAndSet == Boolean.TRUE) { String lhsVersion; lhsVersion = leftObject.getVersion(); String rhsVersion; rhsVersion = rightObject.getVersion(); String mergedVersion = ((String) strategy.merge(LocatorUtils.property(leftLocator, "version", lhsVersion), LocatorUtils.property(rightLocator, "version", rhsVersion), lhsVersion, rhsVersion, (leftObject.version!= null), (rightObject.version!= null))); target.setVersion(mergedVersion); } else { if (versionShouldBeMergedAndSet == Boolean.FALSE) { target.version = null; } } } { Boolean roleShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.role!= null), (rightObject.role!= null)); if (roleShouldBeMergedAndSet == Boolean.TRUE) { String lhsRole; lhsRole = leftObject.getRole(); String rhsRole; rhsRole = rightObject.getRole(); String mergedRole = ((String) strategy.merge(LocatorUtils.property(leftLocator, "role", lhsRole), LocatorUtils.property(rightLocator, "role", rhsRole), lhsRole, rhsRole, (leftObject.role!= null), (rightObject.role!= null))); target.setRole(mergedRole); } else { if (roleShouldBeMergedAndSet == Boolean.FALSE) { target.role = null; } } } } } @Override @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public ServiceInterface clone() { final ServiceInterface _newObject; try { _newObject = ((ServiceInterface) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } if (this.accessURLs == null) { _newObject.accessURLs = null; } else { _newObject.accessURLs = new ArrayList<>(); for (AccessURL _item: this.accessURLs) { _newObject.accessURLs.add(((_item == null)?null:_item.clone())); } } if (this.mirrorURLs == null) { _newObject.mirrorURLs = null; } else { _newObject.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: this.mirrorURLs) { _newObject.mirrorURLs.add(((_item == null)?null:_item.clone())); } } _newObject.securityMethod = ((this.securityMethod == null)?null:this.securityMethod.clone()); 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 ServiceInterface createCopy() { final ServiceInterface _newObject; try { _newObject = ((ServiceInterface) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } if (this.accessURLs == null) { _newObject.accessURLs = null; } else { _newObject.accessURLs = new ArrayList<>(); for (AccessURL _item: this.accessURLs) { _newObject.accessURLs.add(((_item == null)?null:_item.createCopy())); } } if (this.mirrorURLs == null) { _newObject.mirrorURLs = null; } else { _newObject.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: this.mirrorURLs) { _newObject.mirrorURLs.add(((_item == null)?null:_item.createCopy())); } } _newObject.securityMethod = ((this.securityMethod == null)?null:this.securityMethod.createCopy()); _newObject.testQueryString = this.testQueryString; _newObject.version = this.version; _newObject.role = this.role; 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 ServiceInterface createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final ServiceInterface _newObject; try { _newObject = ((ServiceInterface) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree accessURLsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessURLs")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessURLsPropertyTree!= null):((accessURLsPropertyTree == null)||(!accessURLsPropertyTree.isLeaf())))) { if (this.accessURLs == null) { _newObject.accessURLs = null; } else { _newObject.accessURLs = new ArrayList<>(); for (AccessURL _item: this.accessURLs) { _newObject.accessURLs.add(((_item == null)?null:_item.createCopy(accessURLsPropertyTree, _propertyTreeUse))); } } } final PropertyTree mirrorURLsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("mirrorURLs")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(mirrorURLsPropertyTree!= null):((mirrorURLsPropertyTree == null)||(!mirrorURLsPropertyTree.isLeaf())))) { if (this.mirrorURLs == null) { _newObject.mirrorURLs = null; } else { _newObject.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: this.mirrorURLs) { _newObject.mirrorURLs.add(((_item == null)?null:_item.createCopy(mirrorURLsPropertyTree, _propertyTreeUse))); } } } final PropertyTree securityMethodPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMethod")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityMethodPropertyTree!= null):((securityMethodPropertyTree == null)||(!securityMethodPropertyTree.isLeaf())))) { _newObject.securityMethod = ((this.securityMethod == null)?null:this.securityMethod.createCopy(securityMethodPropertyTree, _propertyTreeUse)); } final PropertyTree testQueryStringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("testQueryString")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(testQueryStringPropertyTree!= null):((testQueryStringPropertyTree == null)||(!testQueryStringPropertyTree.isLeaf())))) { _newObject.testQueryString = this.testQueryString; } final PropertyTree versionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("version")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(versionPropertyTree!= null):((versionPropertyTree == null)||(!versionPropertyTree.isLeaf())))) { _newObject.version = this.version; } final PropertyTree rolePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("role")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePropertyTree!= null):((rolePropertyTree == null)||(!rolePropertyTree.isLeaf())))) { _newObject.role = this.role; } 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 ServiceInterface 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 ServiceInterface 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 ServiceInterface.Modifier modifier() { if (null == this.__cachedModifier__) { this.__cachedModifier__ = new ServiceInterface.Modifier(); } return ((ServiceInterface.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 ServiceInterface.Builder<_B> _other) { if (this.accessURLs == null) { _other.accessURLs = null; } else { _other.accessURLs = new ArrayList<>(); for (AccessURL _item: this.accessURLs) { _other.accessURLs.add(((_item == null)?null:_item.newCopyBuilder(_other))); } } if (this.mirrorURLs == null) { _other.mirrorURLs = null; } else { _other.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: this.mirrorURLs) { _other.mirrorURLs.add(((_item == null)?null:_item.newCopyBuilder(_other))); } } _other.securityMethod = ((this.securityMethod == null)?null:this.securityMethod.newCopyBuilder(_other)); _other.testQueryString = this.testQueryString; _other.version = this.version; _other.role = this.role; } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public abstract<_B >ServiceInterface.Builder<_B> newCopyBuilder(final _B _parentBuilder); @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public abstract ServiceInterface.Builder newCopyBuilder(); /** * 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 ServiceInterface.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree accessURLsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessURLs")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessURLsPropertyTree!= null):((accessURLsPropertyTree == null)||(!accessURLsPropertyTree.isLeaf())))) { if (this.accessURLs == null) { _other.accessURLs = null; } else { _other.accessURLs = new ArrayList<>(); for (AccessURL _item: this.accessURLs) { _other.accessURLs.add(((_item == null)?null:_item.newCopyBuilder(_other, accessURLsPropertyTree, _propertyTreeUse))); } } } final PropertyTree mirrorURLsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("mirrorURLs")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(mirrorURLsPropertyTree!= null):((mirrorURLsPropertyTree == null)||(!mirrorURLsPropertyTree.isLeaf())))) { if (this.mirrorURLs == null) { _other.mirrorURLs = null; } else { _other.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: this.mirrorURLs) { _other.mirrorURLs.add(((_item == null)?null:_item.newCopyBuilder(_other, mirrorURLsPropertyTree, _propertyTreeUse))); } } } final PropertyTree securityMethodPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMethod")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityMethodPropertyTree!= null):((securityMethodPropertyTree == null)||(!securityMethodPropertyTree.isLeaf())))) { _other.securityMethod = ((this.securityMethod == null)?null:this.securityMethod.newCopyBuilder(_other, securityMethodPropertyTree, _propertyTreeUse)); } final PropertyTree testQueryStringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("testQueryString")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(testQueryStringPropertyTree!= null):((testQueryStringPropertyTree == null)||(!testQueryStringPropertyTree.isLeaf())))) { _other.testQueryString = this.testQueryString; } final PropertyTree versionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("version")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(versionPropertyTree!= null):((versionPropertyTree == null)||(!versionPropertyTree.isLeaf())))) { _other.version = this.version; } final PropertyTree rolePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("role")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePropertyTree!= null):((rolePropertyTree == null)||(!rolePropertyTree.isLeaf())))) { _other.role = this.role; } } @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public abstract<_B >ServiceInterface.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse); @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public abstract ServiceInterface.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse); @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v4.0.4", date = "2024-10-20T18:15:02+01:00") public ServiceInterface visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); if (_visitor_.visit(new CollectionProperty<>(ServiceInterface.PropInfo.ACCESS_UR_LS, this))&&(this.accessURLs!= null)) { for (AccessURL _item_: this.accessURLs) { if (_item_!= null) { _item_.visit(_visitor_); } } } if (_visitor_.visit(new CollectionProperty<>(ServiceInterface.PropInfo.MIRROR_UR_LS, this))&&(this.mirrorURLs!= null)) { for (MirrorURL _item_: this.mirrorURLs) { if (_item_!= null) { _item_.visit(_visitor_); } } } if (_visitor_.visit(new SingleProperty<>(ServiceInterface.PropInfo.SECURITY_METHOD, this))&&(this.securityMethod!= null)) { this.securityMethod.visit(_visitor_); } _visitor_.visit(new SingleProperty<>(ServiceInterface.PropInfo.TEST_QUERY_STRING, this)); _visitor_.visit(new SingleProperty<>(ServiceInterface.PropInfo.VERSION, this)); _visitor_.visit(new SingleProperty<>(ServiceInterface.PropInfo.ROLE, this)); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; protected final ServiceInterface _storedValue; private List>> accessURLs; private List>> mirrorURLs; private SecurityMethod.Builder> securityMethod; private String testQueryString; private String version; private String role; public Builder(final _B _parentBuilder, final ServiceInterface _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_copy) { _storedValue = null; if (_other.accessURLs == null) { this.accessURLs = null; } else { this.accessURLs = new ArrayList<>(); for (AccessURL _item: _other.accessURLs) { this.accessURLs.add(((_item == null)?null:_item.newCopyBuilder(this))); } } if (_other.mirrorURLs == null) { this.mirrorURLs = null; } else { this.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: _other.mirrorURLs) { this.mirrorURLs.add(((_item == null)?null:_item.newCopyBuilder(this))); } } this.securityMethod = ((_other.securityMethod == null)?null:_other.securityMethod.newCopyBuilder(this)); this.testQueryString = _other.testQueryString; this.version = _other.version; this.role = _other.role; } else { _storedValue = _other; } } else { _storedValue = null; } } public Builder(final _B _parentBuilder, final ServiceInterface _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_copy) { _storedValue = null; final PropertyTree accessURLsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessURLs")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessURLsPropertyTree!= null):((accessURLsPropertyTree == null)||(!accessURLsPropertyTree.isLeaf())))) { if (_other.accessURLs == null) { this.accessURLs = null; } else { this.accessURLs = new ArrayList<>(); for (AccessURL _item: _other.accessURLs) { this.accessURLs.add(((_item == null)?null:_item.newCopyBuilder(this, accessURLsPropertyTree, _propertyTreeUse))); } } } final PropertyTree mirrorURLsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("mirrorURLs")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(mirrorURLsPropertyTree!= null):((mirrorURLsPropertyTree == null)||(!mirrorURLsPropertyTree.isLeaf())))) { if (_other.mirrorURLs == null) { this.mirrorURLs = null; } else { this.mirrorURLs = new ArrayList<>(); for (MirrorURL _item: _other.mirrorURLs) { this.mirrorURLs.add(((_item == null)?null:_item.newCopyBuilder(this, mirrorURLsPropertyTree, _propertyTreeUse))); } } } final PropertyTree securityMethodPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMethod")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityMethodPropertyTree!= null):((securityMethodPropertyTree == null)||(!securityMethodPropertyTree.isLeaf())))) { this.securityMethod = ((_other.securityMethod == null)?null:_other.securityMethod.newCopyBuilder(this, securityMethodPropertyTree, _propertyTreeUse)); } final PropertyTree testQueryStringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("testQueryString")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(testQueryStringPropertyTree!= null):((testQueryStringPropertyTree == null)||(!testQueryStringPropertyTree.isLeaf())))) { this.testQueryString = _other.testQueryString; } final PropertyTree versionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("version")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(versionPropertyTree!= null):((versionPropertyTree == null)||(!versionPropertyTree.isLeaf())))) { this.version = _other.version; } final PropertyTree rolePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("role")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePropertyTree!= null):((rolePropertyTree == null)||(!rolePropertyTree.isLeaf())))) { this.role = _other.role; } } else { _storedValue = _other; } } else { _storedValue = null; } } public _B end() { return this._parentBuilder; } protected<_P extends ServiceInterface >_P init(final _P _product) { if (this.accessURLs!= null) { final List accessURLs = new ArrayList<>(this.accessURLs.size()); for (AccessURL.Builder> _item: this.accessURLs) { accessURLs.add(_item.build()); } _product.accessURLs = accessURLs; } if (this.mirrorURLs!= null) { final List mirrorURLs = new ArrayList<>(this.mirrorURLs.size()); for (MirrorURL.Builder> _item: this.mirrorURLs) { mirrorURLs.add(_item.build()); } _product.mirrorURLs = mirrorURLs; } _product.securityMethod = ((this.securityMethod == null)?null:this.securityMethod.build()); _product.testQueryString = this.testQueryString; _product.version = this.version; _product.role = this.role; return _product; } /** * Adds the given items to the value of "accessURLs" * * @param accessURLs * Items to add to the value of the "accessURLs" property */ public ServiceInterface.Builder<_B> addAccessURLs(final Iterable accessURLs) { if (accessURLs!= null) { if (this.accessURLs == null) { this.accessURLs = new ArrayList<>(); } for (AccessURL _item: accessURLs) { this.accessURLs.add(new AccessURL.Builder<>(this, _item, false)); } } return this; } /** * Sets the new value of "accessURLs" (any previous value will be replaced) * * @param accessURLs * New value of the "accessURLs" property. */ public ServiceInterface.Builder<_B> withAccessURLs(final Iterable accessURLs) { if (this.accessURLs!= null) { this.accessURLs.clear(); } return addAccessURLs(accessURLs); } /** * Adds the given items to the value of "accessURLs" * * @param accessURLs * Items to add to the value of the "accessURLs" property */ public ServiceInterface.Builder<_B> addAccessURLs(AccessURL... accessURLs) { addAccessURLs(Arrays.asList(accessURLs)); return this; } /** * Sets the new value of "accessURLs" (any previous value will be replaced) * * @param accessURLs * New value of the "accessURLs" property. */ public ServiceInterface.Builder<_B> withAccessURLs(AccessURL... accessURLs) { withAccessURLs(Arrays.asList(accessURLs)); return this; } /** * Returns a new builder to build an additional value of the "AccessURLs" property. * Use {@link org.javastro.ivoa.entities.resource.AccessURL.Builder#end()} to * return to the current builder. * * @return * a new builder to build an additional value of the "AccessURLs" property. * Use {@link org.javastro.ivoa.entities.resource.AccessURL.Builder#end()} to * return to the current builder. */ public AccessURL.Builder> addAccessURLs() { if (this.accessURLs == null) { this.accessURLs = new ArrayList<>(); } final AccessURL.Builder> accessURLs_Builder = new AccessURL.Builder<>(this, null, false); this.accessURLs.add(accessURLs_Builder); return accessURLs_Builder; } /** * Adds the given items to the value of "mirrorURLs" * * @param mirrorURLs * Items to add to the value of the "mirrorURLs" property */ public ServiceInterface.Builder<_B> addMirrorURLs(final Iterable mirrorURLs) { if (mirrorURLs!= null) { if (this.mirrorURLs == null) { this.mirrorURLs = new ArrayList<>(); } for (MirrorURL _item: mirrorURLs) { this.mirrorURLs.add(new MirrorURL.Builder<>(this, _item, false)); } } return this; } /** * Sets the new value of "mirrorURLs" (any previous value will be replaced) * * @param mirrorURLs * New value of the "mirrorURLs" property. */ public ServiceInterface.Builder<_B> withMirrorURLs(final Iterable mirrorURLs) { if (this.mirrorURLs!= null) { this.mirrorURLs.clear(); } return addMirrorURLs(mirrorURLs); } /** * Adds the given items to the value of "mirrorURLs" * * @param mirrorURLs * Items to add to the value of the "mirrorURLs" property */ public ServiceInterface.Builder<_B> addMirrorURLs(MirrorURL... mirrorURLs) { addMirrorURLs(Arrays.asList(mirrorURLs)); return this; } /** * Sets the new value of "mirrorURLs" (any previous value will be replaced) * * @param mirrorURLs * New value of the "mirrorURLs" property. */ public ServiceInterface.Builder<_B> withMirrorURLs(MirrorURL... mirrorURLs) { withMirrorURLs(Arrays.asList(mirrorURLs)); return this; } /** * Returns a new builder to build an additional value of the "MirrorURLs" property. * Use {@link org.javastro.ivoa.entities.resource.MirrorURL.Builder#end()} to * return to the current builder. * * @return * a new builder to build an additional value of the "MirrorURLs" property. * Use {@link org.javastro.ivoa.entities.resource.MirrorURL.Builder#end()} to * return to the current builder. */ public MirrorURL.Builder> addMirrorURLs() { if (this.mirrorURLs == null) { this.mirrorURLs = new ArrayList<>(); } final MirrorURL.Builder> mirrorURLs_Builder = new MirrorURL.Builder<>(this, null, false); this.mirrorURLs.add(mirrorURLs_Builder); return mirrorURLs_Builder; } /** * Sets the new value of "securityMethod" (any previous value will be replaced) * * @param securityMethod * New value of the "securityMethod" property. */ public ServiceInterface.Builder<_B> withSecurityMethod(final SecurityMethod securityMethod) { this.securityMethod = ((securityMethod == null)?null:new SecurityMethod.Builder<>(this, securityMethod, false)); return this; } /** * Returns the existing builder or a new builder to build the value of the * "securityMethod" property. * Use {@link org.javastro.ivoa.entities.resource.SecurityMethod.Builder#end()} to * return to the current builder. * * @return * A new builder to build the value of the "securityMethod" property. * Use {@link org.javastro.ivoa.entities.resource.SecurityMethod.Builder#end()} to * return to the current builder. */ public SecurityMethod.Builder> withSecurityMethod() { if (this.securityMethod!= null) { return this.securityMethod; } return this.securityMethod = new SecurityMethod.Builder<>(this, null, false); } /** * Sets the new value of "testQueryString" (any previous value will be replaced) * * @param testQueryString * New value of the "testQueryString" property. */ public ServiceInterface.Builder<_B> withTestQueryString(final String testQueryString) { this.testQueryString = testQueryString; return this; } /** * Sets the new value of "version" (any previous value will be replaced) * * @param version * New value of the "version" property. */ public ServiceInterface.Builder<_B> withVersion(final String version) { this.version = version; return this; } /** * Sets the new value of "role" (any previous value will be replaced) * * @param role * New value of the "role" property. */ public ServiceInterface.Builder<_B> withRole(final String role) { this.role = role; return this; } @Override public ServiceInterface build() { return ((ServiceInterface) _storedValue); } public ServiceInterface.Builder<_B> copyOf(final ServiceInterface _other) { _other.copyTo(this); return this; } public ServiceInterface.Builder<_B> copyOf(final ServiceInterface.Builder _other) { return copyOf(_other.build()); } } public class Modifier { public List getAccessURLs() { if (ServiceInterface.this.accessURLs == null) { ServiceInterface.this.accessURLs = new ArrayList<>(); } return ServiceInterface.this.accessURLs; } public List getMirrorURLs() { if (ServiceInterface.this.mirrorURLs == null) { ServiceInterface.this.mirrorURLs = new ArrayList<>(); } return ServiceInterface.this.mirrorURLs; } public void setSecurityMethod(final SecurityMethod securityMethod) { ServiceInterface.this.setSecurityMethod(securityMethod); } public void setTestQueryString(final String testQueryString) { ServiceInterface.this.setTestQueryString(testQueryString); } public void setVersion(final String version) { ServiceInterface.this.setVersion(version); } public void setRole(final String role) { ServiceInterface.this.setRole(role); } } public static class PropInfo { public static final transient CollectionPropertyInfo ACCESS_UR_LS = new CollectionPropertyInfo("accessURLs", ServiceInterface.class, AccessURL.class, true, null, new QName("", "accessURL"), new QName("http://www.ivoa.net/xml/VOResource/v1.0", "AccessURL"), false) { @Override public List get(final ServiceInterface _instance_) { return ((_instance_ == null)?null:_instance_.accessURLs); } @Override public void set(final ServiceInterface _instance_, final List _value_) { if (_instance_!= null) { _instance_.accessURLs = _value_; } } } ; public static final transient CollectionPropertyInfo MIRROR_UR_LS = new CollectionPropertyInfo("mirrorURLs", ServiceInterface.class, MirrorURL.class, true, null, new QName("", "mirrorURL"), new QName("http://www.ivoa.net/xml/VOResource/v1.0", "MirrorURL"), false) { @Override public List get(final ServiceInterface _instance_) { return ((_instance_ == null)?null:_instance_.mirrorURLs); } @Override public void set(final ServiceInterface _instance_, final List _value_) { if (_instance_!= null) { _instance_.mirrorURLs = _value_; } } } ; public static final transient SinglePropertyInfo SECURITY_METHOD = new SinglePropertyInfo("securityMethod", ServiceInterface.class, SecurityMethod.class, false, null, new QName("", "securityMethod"), new QName("http://www.ivoa.net/xml/VOResource/v1.0", "SecurityMethod"), false) { @Override public SecurityMethod get(final ServiceInterface _instance_) { return ((_instance_ == null)?null:_instance_.securityMethod); } @Override public void set(final ServiceInterface _instance_, final SecurityMethod _value_) { if (_instance_!= null) { _instance_.securityMethod = _value_; } } } ; public static final transient SinglePropertyInfo TEST_QUERY_STRING = new SinglePropertyInfo("testQueryString", ServiceInterface.class, String.class, false, null, new QName("", "testQueryString"), new QName("http://www.w3.org/2001/XMLSchema", "token"), false) { @Override public String get(final ServiceInterface _instance_) { return ((_instance_ == null)?null:_instance_.testQueryString); } @Override public void set(final ServiceInterface _instance_, final String _value_) { if (_instance_!= null) { _instance_.testQueryString = _value_; } } } ; public static final transient SinglePropertyInfo VERSION = new SinglePropertyInfo("version", ServiceInterface.class, String.class, false, null, new QName("", "version"), new QName("http://www.w3.org/2001/XMLSchema", "string"), true) { @Override public String get(final ServiceInterface _instance_) { return ((_instance_ == null)?null:_instance_.version); } @Override public void set(final ServiceInterface _instance_, final String _value_) { if (_instance_!= null) { _instance_.version = _value_; } } } ; public static final transient SinglePropertyInfo ROLE = new SinglePropertyInfo("role", ServiceInterface.class, String.class, false, null, new QName("", "role"), new QName("http://www.w3.org/2001/XMLSchema", "NMTOKEN"), true) { @Override public String get(final ServiceInterface _instance_) { return ((_instance_ == null)?null:_instance_.role); } @Override public void set(final ServiceInterface _instance_, final String _value_) { if (_instance_!= null) { _instance_.role = _value_; } } } ; } public static class Select extends ServiceInterface.Selector { Select() { super(null, null, null); } public static ServiceInterface.Select _root() { return new ServiceInterface.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private AccessURL.Selector> accessURLs = null; private MirrorURL.Selector> mirrorURLs = null; private SecurityMethod.Selector> securityMethod = null; private com.kscs.util.jaxb.Selector> testQueryString = null; private com.kscs.util.jaxb.Selector> version = null; private com.kscs.util.jaxb.Selector> role = 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.accessURLs!= null) { products.put("accessURLs", this.accessURLs.init()); } if (this.mirrorURLs!= null) { products.put("mirrorURLs", this.mirrorURLs.init()); } if (this.securityMethod!= null) { products.put("securityMethod", this.securityMethod.init()); } if (this.testQueryString!= null) { products.put("testQueryString", this.testQueryString.init()); } if (this.version!= null) { products.put("version", this.version.init()); } if (this.role!= null) { products.put("role", this.role.init()); } return products; } public AccessURL.Selector> accessURLs() { return ((this.accessURLs == null)?this.accessURLs = new AccessURL.Selector<>(this._root, this, "accessURLs"):this.accessURLs); } public MirrorURL.Selector> mirrorURLs() { return ((this.mirrorURLs == null)?this.mirrorURLs = new MirrorURL.Selector<>(this._root, this, "mirrorURLs"):this.mirrorURLs); } public SecurityMethod.Selector> securityMethod() { return ((this.securityMethod == null)?this.securityMethod = new SecurityMethod.Selector<>(this._root, this, "securityMethod"):this.securityMethod); } public com.kscs.util.jaxb.Selector> testQueryString() { return ((this.testQueryString == null)?this.testQueryString = new com.kscs.util.jaxb.Selector<>(this._root, this, "testQueryString"):this.testQueryString); } public com.kscs.util.jaxb.Selector> version() { return ((this.version == null)?this.version = new com.kscs.util.jaxb.Selector<>(this._root, this, "version"):this.version); } public com.kscs.util.jaxb.Selector> role() { return ((this.role == null)?this.role = new com.kscs.util.jaxb.Selector<>(this._root, this, "role"):this.role); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy