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

org.apache.openejb.jee.jpa.Attributes Maven / Gradle / Ivy

The newest version!
/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.openejb.jee.jpa;

import org.apache.openejb.jee.KeyedCollection;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;


/**
 * This element contains the entity field or property mappings.
 * It may be sparsely populated to include only a subset of the
 * fields or properties. If metadata-complete for the entity is true
 * then the remainder of the attributes will be defaulted according
 * to the default rules.
 * 

*

*

*

Java class for attributes complex type. *

*

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

*

 * <complexType name="attributes">
 *   <complexContent>
 *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       <sequence>
 *         <element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         <choice>
 *           <element name="id" type="{http://java.sun.com/xml/ns/persistence/orm}id" maxOccurs="unbounded" minOccurs="0"/>
 *           <element name="embedded-id" type="{http://java.sun.com/xml/ns/persistence/orm}embedded-id" minOccurs="0"/>
 *         </choice>
 *         <element name="basic" type="{http://java.sun.com/xml/ns/persistence/orm}basic" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="version" type="{http://java.sun.com/xml/ns/persistence/orm}version" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="many-to-one" type="{http://java.sun.com/xml/ns/persistence/orm}many-to-one" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="one-to-many" type="{http://java.sun.com/xml/ns/persistence/orm}one-to-many" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="one-to-one" type="{http://java.sun.com/xml/ns/persistence/orm}one-to-one" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="many-to-many" type="{http://java.sun.com/xml/ns/persistence/orm}many-to-many" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="element-collection" type="{http://java.sun.com/xml/ns/persistence/orm}element-collection" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="embedded" type="{http://java.sun.com/xml/ns/persistence/orm}embedded" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="transient" type="{http://java.sun.com/xml/ns/persistence/orm}transient" maxOccurs="unbounded" minOccurs="0"/>
 *       </sequence>
 *     </restriction>
 *   </complexContent>
 * </complexType>
 * 
*/ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "attributes", propOrder = { "description", "id", "embeddedId", "basic", "version", "manyToOne", "oneToMany", "oneToOne", "manyToMany", "elementCollection", "embedded", "_transient" }) public class Attributes { protected String description; protected List id; @XmlElement(name = "embedded-id") protected EmbeddedId embeddedId; protected List basic; protected List version; @XmlElement(name = "many-to-one") protected List manyToOne; @XmlElement(name = "one-to-many") protected List oneToMany; @XmlElement(name = "one-to-one") protected List oneToOne; @XmlElement(name = "many-to-many") protected List manyToMany; @XmlElement(name = "element-collection") protected List elementCollection; protected List embedded; @XmlElement(name = "transient") protected List _transient; /** * Gets the value of the description property. * * @return possible object is * {@link String } */ public String getDescription() { return description; } /** * Sets the value of the description property. * * @param value allowed object is * {@link String } */ public void setDescription(final String value) { this.description = value; } /** * Gets the value of the id 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 id property. *

*

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

     *    getId().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link Id } */ public List getId() { if (id == null) { id = new ArrayList(); } return this.id; } /** * Gets the value of the embeddedId property. * * @return possible object is * {@link EmbeddedId } */ public EmbeddedId getEmbeddedId() { return embeddedId; } /** * Sets the value of the embeddedId property. * * @param value allowed object is * {@link EmbeddedId } */ public void setEmbeddedId(final EmbeddedId value) { this.embeddedId = value; } /** * Gets the value of the basic 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 basic property. *

*

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

     *    getBasic().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link Basic } */ public List getBasic() { if (basic == null) { basic = new ArrayList(); } return this.basic; } /** * Gets the value of the version 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 version property. *

*

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

     *    getVersion().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link Version } */ public List getVersion() { if (version == null) { version = new ArrayList(); } return this.version; } /** * Gets the value of the manyToOne 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 manyToOne property. *

*

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

     *    getManyToOne().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link ManyToOne } */ public List getManyToOne() { if (manyToOne == null) { manyToOne = new ArrayList(); } return this.manyToOne; } /** * Gets the value of the oneToMany 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 oneToMany property. *

*

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

     *    getOneToMany().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link OneToMany } */ public List getOneToMany() { if (oneToMany == null) { oneToMany = new ArrayList(); } return this.oneToMany; } /** * Gets the value of the oneToOne 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 oneToOne property. *

*

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

     *    getOneToOne().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link OneToOne } */ public List getOneToOne() { if (oneToOne == null) { oneToOne = new ArrayList(); } return this.oneToOne; } /** * Gets the value of the manyToMany 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 manyToMany property. *

*

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

     *    getManyToMany().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link ManyToMany } */ public List getManyToMany() { if (manyToMany == null) { manyToMany = new ArrayList(); } return this.manyToMany; } public Map getRelationshipFieldMap() { final KeyedCollection fields = new KeyedCollection(); if (oneToOne != null) fields.addAll(oneToOne); if (oneToMany != null) fields.addAll(oneToMany); if (manyToMany != null) fields.addAll(manyToMany); if (manyToOne != null) fields.addAll(manyToOne); return fields.toMap(); } /** * Gets the value of the elementCollection 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 elementCollection property. *

*

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

     *    getElementCollection().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link ElementCollection } */ public List getElementCollection() { if (elementCollection == null) { elementCollection = new ArrayList(); } return this.elementCollection; } /** * Gets the value of the embedded 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 embedded property. *

*

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

     *    getEmbedded().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link Embedded } */ public List getEmbedded() { if (embedded == null) { embedded = new ArrayList(); } return this.embedded; } /** * Gets the value of the transient 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 transient property. *

*

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

     *    getTransient().add(newItem);
     * 
*

*

*

* Objects of the following type(s) are allowed in the list * {@link Transient } */ public List getTransient() { if (_transient == null) { _transient = new ArrayList(); } return this._transient; } // TODO: This should not be necessary, but having an empty tag // causes some of the unit tests to fail. Not sure why. Should be fixed. public boolean isEmpty() { if (id != null) return false; if (embeddedId != null) return false; if (basic != null) return false; if (version != null) return false; if (manyToOne != null) return false; if (oneToMany != null) return false; if (oneToOne != null) return false; if (manyToMany != null) return false; if (embedded != null) return false; if (_transient != null) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy