com.helger.peppol.wssec.AttributedURI Maven / Gradle / Ivy
package com.helger.peppol.wssec;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
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.XmlAnyAttribute;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.namespace.QName;
import com.helger.commons.annotation.CodingStyleguideUnaware;
import com.helger.commons.annotation.ReturnsMutableCopy;
import com.helger.commons.collection.CollectionHelper;
import com.helger.commons.equals.EqualsHelper;
import com.helger.commons.hashcode.HashCodeGenerator;
import com.helger.commons.string.ToStringGenerator;
/**
*
* This type is for elements whose [children] is an anyURI and can have arbitrary attributes.
*
*
* Java class for AttributedURI complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="AttributedURI">
* <simpleContent>
* <extension base="<http://www.w3.org/2001/XMLSchema>anyURI">
* <attGroup ref="{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}commonAtts"/>
* <anyAttribute processContents='lax' namespace='##other'/>
* </extension>
* </simpleContent>
* </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-cloneable
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AttributedURI", propOrder = {
"value"
})
@CodingStyleguideUnaware
public class AttributedURI implements Serializable, Cloneable
{
@XmlValue
@XmlSchemaType(name = "anyURI")
private String value;
@XmlAttribute(name = "Id", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
private String id;
@XmlAnyAttribute
private Map otherAttributes = new HashMap();
/**
* Gets the value of the value property.
*
* @return
* possible object is
* {@link String }
*
*/
@Nullable
public String getValue() {
return value;
}
/**
* Sets the value of the value property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setValue(
@Nullable
String value) {
this.value = 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 a map that contains attributes that aren't bound to any typed property on this class.
*
*
* the map is keyed by the name of the attribute and
* the value is the string value of the attribute.
*
* the map returned by this method is live, and you can add new attribute
* by updating the map directly. Because of this design, there's no setter.
*
*
* @return
* always non-null
*/
@Nullable
public Map getOtherAttributes() {
return otherAttributes;
}
/**
* 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 AttributedURI rhs = ((AttributedURI) o);
if (!EqualsHelper.equals(value, rhs.value)) {
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(value).append(id).getHashCode();
}
/**
* Created by ph-jaxb22-plugin -Xph-tostring
*
*/
@Override
public String toString() {
return new ToStringGenerator(this).append("value", value).append("id", id).toString();
}
/**
* 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
AttributedURI ret) {
ret.id = id;
ret.otherAttributes = CollectionHelper.newMap(otherAttributes);
ret.value = value;
}
/**
* Created by ph-jaxb22-plugin -Xph-cloneable
*
* @return
* The cloned object. Never null
.
*/
@Nonnull
@ReturnsMutableCopy
@Override
public AttributedURI clone() {
AttributedURI ret = new AttributedURI();
cloneTo(ret);
return ret;
}
}