org.hibernate.boot.jaxb.hbm.spi.JaxbHbmNaturalIdType Maven / Gradle / Ivy
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.1
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2021.12.16 at 08:34:01 AM UTC
//
package org.hibernate.boot.jaxb.hbm.spi;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
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.XmlElements;
import javax.xml.bind.annotation.XmlType;
/**
*
* A natural-id element allows declaration of the unique business key
*
*
* Java class for natural-id-type complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="natural-id-type">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="property" type="{http://www.hibernate.org/xsd/orm/hbm}BasicAttributeType"/>
* <element name="many-to-one" type="{http://www.hibernate.org/xsd/orm/hbm}ManyToOneType"/>
* <element name="component" type="{http://www.hibernate.org/xsd/orm/hbm}CompositeAttributeType"/>
* <element name="dynamic-component" type="{http://www.hibernate.org/xsd/orm/hbm}dynamic-component-type"/>
* <element name="any" type="{http://www.hibernate.org/xsd/orm/hbm}AnyAssociationType"/>
* </choice>
* </sequence>
* <attribute name="mutable" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "natural-id-type", namespace = "http://www.hibernate.org/xsd/orm/hbm", propOrder = {
"attributes"
})
public class JaxbHbmNaturalIdType
implements Serializable
{
@XmlElements({
@XmlElement(name = "property", namespace = "http://www.hibernate.org/xsd/orm/hbm", type = JaxbHbmBasicAttributeType.class),
@XmlElement(name = "many-to-one", namespace = "http://www.hibernate.org/xsd/orm/hbm", type = JaxbHbmManyToOneType.class),
@XmlElement(name = "component", namespace = "http://www.hibernate.org/xsd/orm/hbm", type = JaxbHbmCompositeAttributeType.class),
@XmlElement(name = "dynamic-component", namespace = "http://www.hibernate.org/xsd/orm/hbm", type = JaxbHbmDynamicComponentType.class),
@XmlElement(name = "any", namespace = "http://www.hibernate.org/xsd/orm/hbm", type = JaxbHbmAnyAssociationType.class)
})
protected List attributes;
@XmlAttribute(name = "mutable")
protected Boolean mutable;
/**
* Gets the value of the attributes 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 attributes property.
*
*
* For example, to add a new item, do as follows:
*
* getAttributes().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link JaxbHbmBasicAttributeType }
* {@link JaxbHbmManyToOneType }
* {@link JaxbHbmCompositeAttributeType }
* {@link JaxbHbmDynamicComponentType }
* {@link JaxbHbmAnyAssociationType }
*
*
*/
public List getAttributes() {
if (attributes == null) {
attributes = new ArrayList();
}
return this.attributes;
}
/**
* Gets the value of the mutable property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public boolean isMutable() {
if (mutable == null) {
return false;
} else {
return mutable;
}
}
/**
* Sets the value of the mutable property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setMutable(Boolean value) {
this.mutable = value;
}
}