| /** |
| * 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 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.XmlType; |
| |
| |
| /** |
| * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) |
| * public @interface AssociationOverride { |
| * String name(); |
| * JoinColumn[] joinColumns() default{}; |
| * JoinTable joinTable() default @JoinTable; |
| * } |
| * <p/> |
| * <p/> |
| * <p/> |
| * <p>Java class for association-override complex type. |
| * <p/> |
| * <p>The following schema fragment specifies the expected content contained within this class. |
| * <p/> |
| * <pre> |
| * <complexType name="association-override"> |
| * <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="join-column" type="{http://java.sun.com/xml/ns/persistence/orm}join-column" maxOccurs="unbounded" minOccurs="0"/> |
| * <element name="join-table" type="{http://java.sun.com/xml/ns/persistence/orm}join-table" minOccurs="0"/> |
| * </choice> |
| * </sequence> |
| * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> |
| * </restriction> |
| * </complexContent> |
| * </complexType> |
| * </pre> |
| */ |
| @XmlAccessorType(XmlAccessType.FIELD) |
| @XmlType(name = "association-override", propOrder = { |
| "description", |
| "joinColumn", |
| "joinTable" |
| }) |
| public class AssociationOverride { |
| |
| protected String description; |
| @XmlElement(name = "join-column") |
| protected List<JoinColumn> joinColumn; |
| @XmlElement(name = "join-table") |
| protected JoinTable joinTable; |
| @XmlAttribute(required = true) |
| protected String name; |
| |
| /** |
| * 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 joinColumn property. |
| * <p/> |
| * <p/> |
| * 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 <CODE>set</CODE> method for the joinColumn property. |
| * <p/> |
| * <p/> |
| * For example, to add a new item, do as follows: |
| * <pre> |
| * getJoinColumn().add(newItem); |
| * </pre> |
| * <p/> |
| * <p/> |
| * <p/> |
| * Objects of the following type(s) are allowed in the list |
| * {@link JoinColumn } |
| */ |
| public List<JoinColumn> getJoinColumn() { |
| if (joinColumn == null) { |
| joinColumn = new ArrayList<JoinColumn>(); |
| } |
| return this.joinColumn; |
| } |
| |
| /** |
| * Gets the value of the joinTable property. |
| * |
| * @return possible object is |
| * {@link JoinTable } |
| */ |
| public JoinTable getJoinTable() { |
| return joinTable; |
| } |
| |
| /** |
| * Sets the value of the joinTable property. |
| * |
| * @param value allowed object is |
| * {@link JoinTable } |
| */ |
| public void setJoinTable(final JoinTable value) { |
| this.joinTable = value; |
| } |
| |
| /** |
| * Gets the value of the name property. |
| * |
| * @return possible object is |
| * {@link String } |
| */ |
| public String getName() { |
| return name; |
| } |
| |
| /** |
| * Sets the value of the name property. |
| * |
| * @param value allowed object is |
| * {@link String } |
| */ |
| public void setName(final String value) { |
| this.name = value; |
| } |
| |
| } |