org.jboss.shrinkwrap.descriptor.api.orm21.JoinTable Maven / Gradle / Ivy
package org.jboss.shrinkwrap.descriptor.api.orm21;
import java.util.ArrayList;
import java.util.List;
import org.jboss.shrinkwrap.descriptor.api.Child;
import org.jboss.shrinkwrap.descriptor.api.orm21.JoinColumn;
import org.jboss.shrinkwrap.descriptor.api.orm21.ForeignKey;
import org.jboss.shrinkwrap.descriptor.api.orm21.JoinColumn;
import org.jboss.shrinkwrap.descriptor.api.orm21.ForeignKey;
import org.jboss.shrinkwrap.descriptor.api.orm21.UniqueConstraint;
import org.jboss.shrinkwrap.descriptor.api.orm21.Index;
import org.jboss.shrinkwrap.descriptor.api.orm.*;
import org.jboss.shrinkwrap.descriptor.api.orm.OrmJoinTableCommType;
import org.jboss.shrinkwrap.descriptor.api.orm21.JoinColumn;
import org.jboss.shrinkwrap.descriptor.api.orm21.JoinColumn;
import org.jboss.shrinkwrap.descriptor.api.orm21.UniqueConstraint;/**
* This interface defines the contract for the join-table
xsd type
* @author Ralf Battenfeld
* @author Andrew Lee Rubinger
*/
public interface JoinTable extends Child,
OrmJoinTableCommType,
JoinColumn>,
JoinColumn>,
UniqueConstraint>> {
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: orm:join-column ElementType : join-column
// MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new join-column
element will be created and returned.
* Otherwise, the first existing join-column
element will be returned.
* @return the instance defined for the element join-column
*/
public JoinColumn> getOrCreateJoinColumn();
/**
* Creates a new join-column
element
* @return the new created instance of JoinColumn>
*/
public JoinColumn> createJoinColumn();
/**
* Returns all join-column
elements
* @return list of join-column
*/
public List>> getAllJoinColumn();
/**
* Removes all join-column
elements
* @return the current instance of JoinColumn>
*/
public JoinTable removeAllJoinColumn();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: orm:foreign-key ElementType : foreign-key
// MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new foreign-key
element with the given value will be created.
* Otherwise, the existing foreign-key
element will be returned.
* @return a new or existing instance of ForeignKey>
*/
public ForeignKey> getOrCreateForeignKey();
/**
* Removes the foreign-key
element
* @return the current instance of JoinTable
*/
public JoinTable removeForeignKey();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: orm:join-column ElementType : inverse-join-column
// MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new inverse-join-column
element will be created and returned.
* Otherwise, the first existing inverse-join-column
element will be returned.
* @return the instance defined for the element inverse-join-column
*/
public JoinColumn> getOrCreateInverseJoinColumn();
/**
* Creates a new inverse-join-column
element
* @return the new created instance of JoinColumn>
*/
public JoinColumn> createInverseJoinColumn();
/**
* Returns all inverse-join-column
elements
* @return list of inverse-join-column
*/
public List>> getAllInverseJoinColumn();
/**
* Removes all inverse-join-column
elements
* @return the current instance of JoinColumn>
*/
public JoinTable removeAllInverseJoinColumn();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: orm:foreign-key ElementType : inverse-foreign-key
// MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new inverse-foreign-key
element with the given value will be created.
* Otherwise, the existing inverse-foreign-key
element will be returned.
* @return a new or existing instance of ForeignKey>
*/
public ForeignKey> getOrCreateInverseForeignKey();
/**
* Removes the inverse-foreign-key
element
* @return the current instance of JoinTable
*/
public JoinTable removeInverseForeignKey();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: orm:unique-constraint ElementType : unique-constraint
// MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new unique-constraint
element will be created and returned.
* Otherwise, the first existing unique-constraint
element will be returned.
* @return the instance defined for the element unique-constraint
*/
public UniqueConstraint> getOrCreateUniqueConstraint();
/**
* Creates a new unique-constraint
element
* @return the new created instance of UniqueConstraint>
*/
public UniqueConstraint> createUniqueConstraint();
/**
* Returns all unique-constraint
elements
* @return list of unique-constraint
*/
public List>> getAllUniqueConstraint();
/**
* Removes all unique-constraint
elements
* @return the current instance of UniqueConstraint>
*/
public JoinTable removeAllUniqueConstraint();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: orm:index ElementType : index
// MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new index
element will be created and returned.
* Otherwise, the first existing index
element will be returned.
* @return the instance defined for the element index
*/
public Index> getOrCreateIndex();
/**
* Creates a new index
element
* @return the new created instance of Index>
*/
public Index> createIndex();
/**
* Returns all index
elements
* @return list of index
*/
public List>> getAllIndex();
/**
* Removes all index
elements
* @return the current instance of Index>
*/
public JoinTable removeAllIndex();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: xsd:string ElementType : name
// MaxOccurs: - isGeneric: true isAttribute: true isEnum: false isDataType: true
// --------------------------------------------------------------------------------------------------------||
/**
* Sets the name
attribute
* @param name the value for the attribute name
* @return the current instance of JoinTable
*/
public JoinTable name(String name);
/**
* Returns the name
attribute
* @return the value defined for the attribute name
*/
public String getName();
/**
* Removes the name
attribute
* @return the current instance of JoinTable
*/
public JoinTable removeName();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: xsd:string ElementType : catalog
// MaxOccurs: - isGeneric: true isAttribute: true isEnum: false isDataType: true
// --------------------------------------------------------------------------------------------------------||
/**
* Sets the catalog
attribute
* @param catalog the value for the attribute catalog
* @return the current instance of JoinTable
*/
public JoinTable catalog(String catalog);
/**
* Returns the catalog
attribute
* @return the value defined for the attribute catalog
*/
public String getCatalog();
/**
* Removes the catalog
attribute
* @return the current instance of JoinTable
*/
public JoinTable removeCatalog();
// --------------------------------------------------------------------------------------------------------||
// ClassName: JoinTable ElementName: xsd:string ElementType : schema
// MaxOccurs: - isGeneric: true isAttribute: true isEnum: false isDataType: true
// --------------------------------------------------------------------------------------------------------||
/**
* Sets the schema
attribute
* @param schema the value for the attribute schema
* @return the current instance of JoinTable
*/
public JoinTable schema(String schema);
/**
* Returns the schema
attribute
* @return the value defined for the attribute schema
*/
public String getSchema();
/**
* Removes the schema
attribute
* @return the current instance of JoinTable
*/
public JoinTable removeSchema();
}