All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.helger.cva.v10.Context Maven / Gradle / Ivy
Go to download
Library to read and write OASIS GeneriCode and CVA documents
package com.helger.cva.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.XmlIDREF;
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:cva="http://docs.oasis-open.org/codelist/ns/ContextValueAssociation/1.0/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" category="application" id="A7" summary="context constraint evaluation">
* For a context's constraints to be considered fully satisfied, all of the
* referenced <literal><ValueTest></literal> expressions must evaluate to
* logical TRUE. At the same time the value must be present in any of
* the referenced <literal><ValueList></literal> value lists that have
* values and that qualify to be used in the presence of the given
* instance-level metadata described by any referenced
* <literal><InstanceMetadataSet></literal> sets. Referencing a
* <literal><ValueList></literal> that points to a value list without any
* values imposes no constraint on the context.</rule:text>
*
*
*
* Java class for Context complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Context">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="Annotation" type="{http://docs.oasis-open.org/codelist/ns/ContextValueAssociation/1.0/}Annotation" minOccurs="0"/>
* <element name="Message" type="{http://docs.oasis-open.org/codelist/ns/ContextValueAssociation/1.0/}Message" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="metadata" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
* <attribute name="address" use="required" type="{http://docs.oasis-open.org/codelist/ns/ContextValueAssociation/1.0/}QueryAddress" />
* <attribute name="values" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREFS" />
* <attribute name="mark" type="{http://docs.oasis-open.org/codelist/ns/ContextValueAssociation/1.0/}NameToken" />
* </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 = "Context", propOrder = {
"annotation",
"message"
})
@CodingStyleguideUnaware
public class Context implements Serializable, Cloneable
{
@XmlElement(name = "Annotation")
private Annotation annotation;
@XmlElement(name = "Message")
private List message;
@XmlAttribute(name = "metadata")
@XmlIDREF
@XmlSchemaType(name = "IDREF")
private Object metadata;
@XmlAttribute(name = "address", required = true)
private String address;
@XmlAttribute(name = "values", required = true)
@XmlIDREF
@XmlSchemaType(name = "IDREFS")
private List values;
@XmlAttribute(name = "mark")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
private String mark;
/**
* 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 message 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 message property.
*
*
* For example, to add a new item, do as follows:
*
* getMessage().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Message }
*
*
*/
@Nonnull
@ReturnsMutableObject("JAXB implementation style")
public List getMessage() {
if (message == null) {
message = new ArrayList();
}
return this.message;
}
/**
* Gets the value of the metadata property.
*
* @return
* possible object is
* {@link Object }
*
*/
@Nullable
public Object getMetadata() {
return metadata;
}
/**
* Sets the value of the metadata property.
*
* @param value
* allowed object is
* {@link Object }
*
*/
public void setMetadata(
@Nullable
Object value) {
this.metadata = value;
}
/**
* Gets the value of the address property.
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getAddress() {
return address;
}
/**
* Sets the value of the address property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setAddress(
@Nullable
String value) {
this.address = value;
}
/**
* Gets the value of the values 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 values property.
*
*
* For example, to add a new item, do as follows:
*
* getValues().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
*/
@Nonnull
@ReturnsMutableObject("JAXB implementation style")
public List getValues() {
if (values == null) {
values = new ArrayList();
}
return this.values;
}
/**
* Gets the value of the mark property.
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getMark() {
return mark;
}
/**
* Sets the value of the mark property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMark(
@Nullable
String value) {
this.mark = 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 Context rhs = ((Context) o);
if (!EqualsHelper.equals(annotation, rhs.annotation)) {
return false;
}
if (!EqualsHelper.equals(message, rhs.message)) {
return false;
}
if (!EqualsHelper.equals(metadata, rhs.metadata)) {
return false;
}
if (!EqualsHelper.equals(address, rhs.address)) {
return false;
}
if (!EqualsHelper.equals(values, rhs.values)) {
return false;
}
if (!EqualsHelper.equals(mark, rhs.mark)) {
return false;
}
return true;
}
/**
* Created by ph-jaxb22-plugin -Xph-equalshashcode
*
*/
@Override
public int hashCode() {
return new HashCodeGenerator(this).append(annotation).append(message).append(metadata).append(address).append(values).append(mark).getHashCode();
}
/**
* Created by ph-jaxb22-plugin -Xph-tostring
*
*/
@Override
public String toString() {
return new ToStringGenerator(this).append("annotation", annotation).append("message", message).append("metadata", metadata).append("address", address).append("values", values).append("mark", mark).toString();
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @param aList
* The new list member to set. May be null
.
*/
public void setMessage(
@Nullable
final List aList) {
message = aList;
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @param aList
* The new list member to set. May be null
.
*/
public void setValues(
@Nullable
final List aList) {
values = aList;
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @return
* true
if at least one item is contained, false
otherwise.
*/
public boolean hasMessageEntries() {
return (!getMessage().isEmpty());
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @return
* true
if no item is contained, false
otherwise.
*/
public boolean hasNoMessageEntries() {
return getMessage().isEmpty();
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @return
* The number of contained elements. Always ≥ 0.
*/
@Nonnegative
public int getMessageCount() {
return getMessage().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 ArrayIndexOutOfBoundsException
* if the index is invalid!
*/
@Nullable
public Message getMessageAtIndex(
@Nonnegative
final int index) {
return getMessage().get(index);
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @param elem
* The element to be added. May not be null
.
*/
public void addMessage(
@Nonnull
final Message elem) {
getMessage().add(elem);
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @return
* true
if at least one item is contained, false
otherwise.
*/
public boolean hasValuesEntries() {
return (!getValues().isEmpty());
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @return
* true
if no item is contained, false
otherwise.
*/
public boolean hasNoValuesEntries() {
return getValues().isEmpty();
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @return
* The number of contained elements. Always ≥ 0.
*/
@Nonnegative
public int getValuesCount() {
return getValues().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 ArrayIndexOutOfBoundsException
* if the index is invalid!
*/
@Nullable
public Object getValuesAtIndex(
@Nonnegative
final int index) {
return getValues().get(index);
}
/**
* Created by ph-jaxb22-plugin -Xph-list-extension
*
* @param elem
* The element to be added. May not be null
.
*/
public void addValues(
@Nonnull
final Object elem) {
getValues().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
Context ret) {
ret.address = address;
ret.annotation = ((annotation == null)?null:annotation.clone());
ret.mark = mark;
List retMessage = new ArrayList();
for (Message aItem: getMessage()) {
retMessage.add(((aItem == null)?null:aItem.clone()));
}
ret.message = retMessage;
ret.metadata = metadata;
List retValues = new ArrayList();
for (Object aItem: getValues()) {
retValues.add(aItem);
}
ret.values = retValues;
}
/**
* Created by ph-jaxb22-plugin -Xph-cloneable
*
* @return
* The cloned object. Never null
.
*/
@Nonnull
@ReturnsMutableCopy
@Override
public Context clone() {
Context ret = new Context();
cloneTo(ret);
return ret;
}
}