org.jboss.shrinkwrap.descriptor.api.orm20.SecondaryTable Maven / Gradle / Ivy
package org.jboss.shrinkwrap.descriptor.api.orm20;
import java.util.ArrayList;
import java.util.List;
import org.jboss.shrinkwrap.descriptor.api.Child;
import org.jboss.shrinkwrap.descriptor.api.orm20.PrimaryKeyJoinColumn;
import org.jboss.shrinkwrap.descriptor.api.orm20.UniqueConstraint;
import org.jboss.shrinkwrap.descriptor.api.orm.*;
import org.jboss.shrinkwrap.descriptor.api.orm.OrmSecondaryTableCommType;
import org.jboss.shrinkwrap.descriptor.api.orm20.PrimaryKeyJoinColumn;
import org.jboss.shrinkwrap.descriptor.api.orm20.UniqueConstraint;/**
* This interface defines the contract for the secondary-table
xsd type
* @author Ralf Battenfeld
* @author Andrew Lee Rubinger
* @author George Gastaldi
*/
public interface SecondaryTable extends Child,
OrmSecondaryTableCommType,
PrimaryKeyJoinColumn>,
UniqueConstraint>> {
// --------------------------------------------------------------------------------------------------------||
// ClassName: SecondaryTable ElementName: orm:primary-key-join-column ElementType : primary-key-join-column
// MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false
// --------------------------------------------------------------------------------------------------------||
/**
* If not already created, a new primary-key-join-column
element will be created and returned.
* Otherwise, the first existing primary-key-join-column
element will be returned.
* @return the instance defined for the element primary-key-join-column
*/
public PrimaryKeyJoinColumn> getOrCreatePrimaryKeyJoinColumn();
/**
* Creates a new primary-key-join-column
element
* @return the new created instance of PrimaryKeyJoinColumn>
*/
public PrimaryKeyJoinColumn> createPrimaryKeyJoinColumn();
/**
* Returns all primary-key-join-column
elements
* @return list of primary-key-join-column
*/
public List>> getAllPrimaryKeyJoinColumn();
/**
* Removes all primary-key-join-column
elements
* @return the current instance of PrimaryKeyJoinColumn>
*/
public SecondaryTable removeAllPrimaryKeyJoinColumn();
// --------------------------------------------------------------------------------------------------------||
// ClassName: SecondaryTable 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 SecondaryTable removeAllUniqueConstraint();
// --------------------------------------------------------------------------------------------------------||
// ClassName: SecondaryTable 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 SecondaryTable
*/
public SecondaryTable 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 SecondaryTable
*/
public SecondaryTable removeName();
// --------------------------------------------------------------------------------------------------------||
// ClassName: SecondaryTable 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 SecondaryTable
*/
public SecondaryTable 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 SecondaryTable
*/
public SecondaryTable removeCatalog();
// --------------------------------------------------------------------------------------------------------||
// ClassName: SecondaryTable 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 SecondaryTable
*/
public SecondaryTable 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 SecondaryTable
*/
public SecondaryTable removeSchema();
}