com.phloc.genericode.v10.ColumnRef Maven / Gradle / Ivy
package com.phloc.genericode.v10;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.phloc.commons.annotations.ReturnsMutableObject;
import com.phloc.commons.equals.EqualsUtils;
import com.phloc.commons.hash.HashCodeGenerator;
import com.phloc.commons.string.ToStringGenerator;
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><rule:text xmlns:rule="http://docs.oasis-open.org/codelist/ns/rule/1.0/" xmlns:gc="http://docs.oasis-open.org/codelist/ns/genericode/1.0/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" category="application" id="R12">The column reference must be valid.
* An application may use the CanonicalVersionUri to select a local copy of the code list or column set which contains the column definition.
* Otherwise the LocationUri value(s) may be tried in order, until a valid code list or column set document (containing the necessary column definition) is retrieved.
* An application must signal an error to the user if it is not able to retrieve a code list or column set document which contains the necessary column definition.</rule:text>
*
*
*
* Java class for ColumnRef complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="ColumnRef">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="Annotation" type="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}Annotation" minOccurs="0"/>
* <group ref="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}IdentificationRefUriSet"/>
* <element name="Data" type="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}DataRestrictions" minOccurs="0"/>
* </sequence>
* <attGroup ref="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}OptionalUseDefinition"/>
* <attGroup ref="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}IdDefinition"/>
* <attGroup ref="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}ExternalReference"/>
* <attribute ref="{http://www.w3.org/XML/1998/namespace}base"/>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ColumnRef", propOrder = {
"annotation",
"canonicalVersionUri",
"locationUri",
"data"
})
public class ColumnRef implements Serializable
{
@XmlElement(name = "Annotation")
private Annotation annotation;
@XmlElement(name = "CanonicalVersionUri", required = true)
@XmlSchemaType(name = "anyURI")
private String canonicalVersionUri;
@XmlElement(name = "LocationUri")
@XmlSchemaType(name = "anyURI")
private List locationUri;
@XmlElement(name = "Data")
private DataRestrictions data;
@XmlAttribute(name = "base", namespace = "http://www.w3.org/XML/1998/namespace")
@XmlSchemaType(name = "anyURI")
private String base;
@XmlAttribute(name = "Use")
private UseType use;
@XmlAttribute(name = "Id", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
private String id;
@XmlAttribute(name = "ExternalRef", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "NCName")
private String externalRef;
/**
* Gets the value of the annotation property.
*
* @return
* possible object is
* {@link Annotation }
*
*/
@Nullable
public Annotation getAnnotation() {
return annotation;
}
/**
* Sets the value of the annotation property.
*
* @param value
* allowed object is
* {@link Annotation }
*
*/
public void setAnnotation(
@Nullable
Annotation value) {
this.annotation = value;
}
/**
* Gets the value of the canonicalVersionUri property.
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getCanonicalVersionUri() {
return canonicalVersionUri;
}
/**
* Sets the value of the canonicalVersionUri property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCanonicalVersionUri(
@Nullable
String value) {
this.canonicalVersionUri = value;
}
/**
* Gets the value of the locationUri 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 locationUri property.
*
*
* For example, to add a new item, do as follows:
*
* getLocationUri().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
@Nonnull
@ReturnsMutableObject(reason = "JAXB implementation style")
public List getLocationUri() {
if (locationUri == null) {
locationUri = new ArrayList();
}
return this.locationUri;
}
/**
* Gets the value of the data property.
*
* @return
* possible object is
* {@link DataRestrictions }
*
*/
@Nullable
public DataRestrictions getData() {
return data;
}
/**
* Sets the value of the data property.
*
* @param value
* allowed object is
* {@link DataRestrictions }
*
*/
public void setData(
@Nullable
DataRestrictions value) {
this.data = value;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><rule:text xmlns:rule="http://docs.oasis-open.org/codelist/ns/rule/1.0/" xmlns:gc="http://docs.oasis-open.org/codelist/ns/genericode/1.0/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" category="application" id="R14">xml:base does not apply to canonical URIs.</rule:text>
*
*
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getBase() {
return base;
}
/**
* Sets the value of the base property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setBase(
@Nullable
String value) {
this.base = value;
}
/**
* Gets the value of the use property.
*
* @return
* possible object is
* {@link UseType }
*
*/
@Nullable
public UseType getUse() {
return use;
}
/**
* Sets the value of the use property.
*
* @param value
* allowed object is
* {@link UseType }
*
*/
public void setUse(
@Nullable
UseType value) {
this.use = value;
}
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(
@Nullable
String value) {
this.id = value;
}
/**
* Gets the value of the externalRef property.
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getExternalRef() {
return externalRef;
}
/**
* Sets the value of the externalRef property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setExternalRef(
@Nullable
String value) {
this.externalRef = value;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-equalshashcode
*
*/
@Override
public boolean equals(final Object o) {
if (o == this) {
return true;
}
if ((o == null)||(!getClass().equals(o.getClass()))) {
return false;
}
final ColumnRef rhs = ((ColumnRef) o);
if (!EqualsUtils.equals(annotation, rhs.annotation)) {
return false;
}
if (!EqualsUtils.equals(canonicalVersionUri, rhs.canonicalVersionUri)) {
return false;
}
if (!EqualsUtils.equals(locationUri, rhs.locationUri)) {
return false;
}
if (!EqualsUtils.equals(data, rhs.data)) {
return false;
}
if (!EqualsUtils.equals(base, rhs.base)) {
return false;
}
if (!EqualsUtils.equals(use, rhs.use)) {
return false;
}
if (!EqualsUtils.equals(id, rhs.id)) {
return false;
}
if (!EqualsUtils.equals(externalRef, rhs.externalRef)) {
return false;
}
return true;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-equalshashcode
*
*/
@Override
public int hashCode() {
return new HashCodeGenerator(this).append(annotation).append(canonicalVersionUri).append(locationUri).append(data).append(base).append(use).append(id).append(externalRef).getHashCode();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-tostring
*
*/
@Override
public String toString() {
return new ToStringGenerator(this).append("annotation", annotation).append("canonicalVersionUri", canonicalVersionUri).append("locationUri", locationUri).append("data", data).append("base", base).append("use", use).append("id", id).append("externalRef", externalRef).toString();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @param aList
* The new list member to set. May be null
.
*/
public void setLocationUri(
@Nullable
final List aList) {
locationUri = aList;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @return
* true
if at least one item is contained, false
otherwise.
*/
public boolean hasLocationUriEntries() {
return (!getLocationUri().isEmpty());
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @return
* true
if no item is contained, false
otherwise.
*/
public boolean hasNoLocationUriEntries() {
return getLocationUri().isEmpty();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @return
* The number of contained elements. Always ≥ 0.
*/
@Nonnegative
public int getLocationUriCount() {
return getLocationUri().size();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @param index
* The index to retrieve
* @return
* The element at the specified index. May be null
* @throws ArrayIndexOutOfBoundsException
* if the index is invalid!
*/
@Nullable
public String getLocationUriAtIndex(
@Nonnegative
final int index) {
return getLocationUri().get(index);
}
}