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

com.helger.genericode.v10.Key Maven / Gradle / Ivy

There is a newer version: 7.1.3
Show newest version

package com.helger.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.helger.commons.annotation.CodingStyleguideUnaware;
import com.helger.commons.annotation.ReturnsMutableCopy;
import com.helger.commons.annotation.ReturnsMutableObject;
import com.helger.commons.equals.EqualsHelper;
import com.helger.commons.hashcode.HashCodeGenerator;
import com.helger.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="document" id="R34">Only required columns can be used for keys.</rule:text>
 * 
* * *

Java class for Key complex type. * *

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

 * <complexType name="Key">
 *   <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/}NameSet"/>
 *         <group ref="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}IdentificationVersionUriSet" minOccurs="0"/>
 *         <element name="ColumnRef" type="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}KeyColumnRef" maxOccurs="unbounded"/>
 *       </sequence>
 *       <attGroup ref="{http://docs.oasis-open.org/codelist/ns/genericode/1.0/}IdDefinition"/>
 *     </restriction>
 *   </complexContent>
 * </complexType>
 * 
*

This class was annotated by ph-jaxb22-plugin -Xph-annotate

*

This class contains methods created by ph-jaxb22-plugin -Xph-equalshashcode

*

This class contains methods created by ph-jaxb22-plugin -Xph-tostring

*

This class contains methods created by ph-jaxb22-plugin -Xph-list-extension

*

This class contains methods created by ph-jaxb22-plugin -Xph-cloneable

* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Key", propOrder = { "annotation", "shortName", "longName", "canonicalUri", "canonicalVersionUri", "columnRef" }) @CodingStyleguideUnaware public class Key implements Serializable, Cloneable { @XmlElement(name = "Annotation") private Annotation annotation; @XmlElement(name = "ShortName", required = true) private ShortName shortName; @XmlElement(name = "LongName") private List longName; @XmlElement(name = "CanonicalUri") @XmlSchemaType(name = "anyURI") private String canonicalUri; @XmlElement(name = "CanonicalVersionUri") @XmlSchemaType(name = "anyURI") private String canonicalVersionUri; @XmlElement(name = "ColumnRef", required = true) private List columnRef; @XmlAttribute(name = "Id", required = true) @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") private String id; /** * 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 shortName property. * * @return * possible object is * {@link ShortName } * */ @Nullable public ShortName getShortName() { return shortName; } /** * Sets the value of the shortName property. * * @param value * allowed object is * {@link ShortName } * */ public void setShortName( @Nullable ShortName value) { this.shortName = value; } /** * Gets the value of the longName 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 longName property. * *

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

     *    getLongName().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link LongName } * * */ @Nonnull @ReturnsMutableObject("JAXB implementation style") public List getLongName() { if (longName == null) { longName = new ArrayList(); } return this.longName; } /** * Gets the value of the canonicalUri property. * * @return * possible object is * {@link String } * */ @Nullable public String getCanonicalUri() { return canonicalUri; } /** * Sets the value of the canonicalUri property. * * @param value * allowed object is * {@link String } * */ public void setCanonicalUri( @Nullable String value) { this.canonicalUri = 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 columnRef 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 columnRef property. * *

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

     *    getColumnRef().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link KeyColumnRef } * * */ @Nonnull @ReturnsMutableObject("JAXB implementation style") public List getColumnRef() { if (columnRef == null) { columnRef = new ArrayList(); } return this.columnRef; } /** * 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; } /** * Created by ph-jaxb22-plugin -Xph-equalshashcode * */ @Override public boolean equals(final Object o) { if (o == this) { return true; } if ((o == null)||(!getClass().equals(o.getClass()))) { return false; } final Key rhs = ((Key) o); if (!EqualsHelper.equals(annotation, rhs.annotation)) { return false; } if (!EqualsHelper.equals(shortName, rhs.shortName)) { return false; } if (!EqualsHelper.equals(longName, rhs.longName)) { return false; } if (!EqualsHelper.equals(canonicalUri, rhs.canonicalUri)) { return false; } if (!EqualsHelper.equals(canonicalVersionUri, rhs.canonicalVersionUri)) { return false; } if (!EqualsHelper.equals(columnRef, rhs.columnRef)) { return false; } if (!EqualsHelper.equals(id, rhs.id)) { return false; } return true; } /** * Created by ph-jaxb22-plugin -Xph-equalshashcode * */ @Override public int hashCode() { return new HashCodeGenerator(this).append(annotation).append(shortName).append(longName).append(canonicalUri).append(canonicalVersionUri).append(columnRef).append(id).getHashCode(); } /** * Created by ph-jaxb22-plugin -Xph-tostring * */ @Override public String toString() { return new ToStringGenerator(this).append("annotation", annotation).append("shortName", shortName).append("longName", longName).append("canonicalUri", canonicalUri).append("canonicalVersionUri", canonicalVersionUri).append("columnRef", columnRef).append("id", id).getToString(); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @param aList * The new list member to set. May be null. */ public void setLongName( @Nullable final List aList) { longName = aList; } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @param aList * The new list member to set. May be null. */ public void setColumnRef( @Nullable final List aList) { columnRef = aList; } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @return * true if at least one item is contained, false otherwise. */ public boolean hasLongNameEntries() { return (!getLongName().isEmpty()); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @return * true if no item is contained, false otherwise. */ public boolean hasNoLongNameEntries() { return getLongName().isEmpty(); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @return * The number of contained elements. Always ≥ 0. */ @Nonnegative public int getLongNameCount() { return getLongName().size(); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @param index * The index to retrieve * @return * The element at the specified index. May be null * @throws IndexOutOfBoundsException * if the index is invalid! */ @Nullable public LongName getLongNameAtIndex( @Nonnegative final int index) throws IndexOutOfBoundsException { return getLongName().get(index); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @param elem * The element to be added. May not be null. */ public void addLongName( @Nonnull final LongName elem) { getLongName().add(elem); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @return * true if at least one item is contained, false otherwise. */ public boolean hasColumnRefEntries() { return (!getColumnRef().isEmpty()); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @return * true if no item is contained, false otherwise. */ public boolean hasNoColumnRefEntries() { return getColumnRef().isEmpty(); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @return * The number of contained elements. Always ≥ 0. */ @Nonnegative public int getColumnRefCount() { return getColumnRef().size(); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @param index * The index to retrieve * @return * The element at the specified index. May be null * @throws IndexOutOfBoundsException * if the index is invalid! */ @Nullable public KeyColumnRef getColumnRefAtIndex( @Nonnegative final int index) throws IndexOutOfBoundsException { return getColumnRef().get(index); } /** * Created by ph-jaxb22-plugin -Xph-list-extension * * @param elem * The element to be added. May not be null. */ public void addColumnRef( @Nonnull final KeyColumnRef elem) { getColumnRef().add(elem); } /** * This method clones all values from this to the passed object. All data in the parameter object is overwritten!Created by ph-jaxb22-plugin -Xph-cloneable * * @param ret * The target object to clone to. May not be null. */ public void cloneTo( @Nonnull Key ret) { ret.annotation = ((annotation == null)?null:annotation.clone()); ret.canonicalUri = canonicalUri; ret.canonicalVersionUri = canonicalVersionUri; List retColumnRef = new ArrayList(); for (KeyColumnRef aItem: getColumnRef()) { retColumnRef.add(((aItem == null)?null:aItem.clone())); } ret.columnRef = retColumnRef; ret.id = id; List retLongName = new ArrayList(); for (LongName aItem: getLongName()) { retLongName.add(((aItem == null)?null:aItem.clone())); } ret.longName = retLongName; ret.shortName = ((shortName == null)?null:shortName.clone()); } /** * Created by ph-jaxb22-plugin -Xph-cloneable * * @return * The cloned object. Never null. */ @Nonnull @ReturnsMutableCopy @Override public Key clone() { Key ret = new Key(); cloneTo(ret); return ret; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy