Interface Join

All Superinterfaces:
AbstractTransformation, ClassifierMap, CMetadata, MdObjectBase, MdObjectBaseUtil, MdObjectBaseXML, PrimaryType, Remote, Root, Transformation

public interface Join extends ClassifierMap
The output of a Join is limited to one JoinTable. A Join may have at most two inputs. A Join may not exist without a Select.

For nested joins a Join should be documented for each pair of joined tables. For example: Table1 is joined to Table2 that results in JoinTable1. JoinTable1 is then joined with Table3 to create JoinTable2. JoinTable2 now acts as in input into a Select that documents the rows and columns that are to be included in the final output table.

Attributes of Join are:

Associations of Join are:

Usage

To create an instance of this Join, use the factory create methods.
Example: create a Join with name "Join_Object", in repository "AAAAAAAA".
 // create a store to contain your objects for this change. If you do not have an existing object
 // or store to use.  You may obtain the store from another object by using Object.getObjectStore().
 MdFactory factory; //where "factory" is a valid MdFactory instance
 MdObjectStore objectStore = factory.createObjectStore();
 Join myObject = (Join) factory.createComplexMetadataObject(objectStore, "Join_Object", MetadataObjects.JOIN, "AAAAAAAA");
 myObject.updateMetadataAll();  // Write object to server
 objectStore.dispose();  // dispose of the object store if it is no longer needed
 

Behavior

  • Attributes and associations for this object can be retrieved by using the methods in MdOMIUtil.
  • When changes are made to the object, either by setting an attribute or adding objects to a particular association, they can be persisted to the metadata server with the updateMetadataAll method.
  • If an object needs to be deleted, the delete method can be used. This will flag the object as being deleted on the client, and will require an update call to persist the change to the server.

Dependencies

This class depends on objects being contained in an MdObjectStore. Object stores should be disposed of when they are no longer needed as this will help clean up memory. Disposing an object store will dispose of all objects contained within that store.

Since:
9.0
  • Field Details

    • ATTRIBUTE_JOINTYPE_NAME

      static final String ATTRIBUTE_JOINTYPE_NAME
      Constant used for the name of the JoinType attribute.

      JoinType: The type of the join (inner, full outer, left outer, right outer).

      See Also:
    • ASSOCIATION_ONFORJOIN_NAME

      static final String ASSOCIATION_ONFORJOIN_NAME
      Constant used for the name of the OnForJoin association.

      OnForJoin: The on statement of this join object.  

      See Also:
    • ASSOCIATION_OWNINGJOINTABLE_NAME

      static final String ASSOCIATION_OWNINGJOINTABLE_NAME
      Constant used for the name of the OwningJoinTable association.

      OwningJoinTable: The result of this join statement.  

      See Also:
  • Method Details

    • initializeRequiredObjects

      void initializeRequiredObjects() throws RemoteException
      (S) This initializes the Required Objects(Roles) which are:
      OwningJoinTable
      Specified by:
      initializeRequiredObjects in interface AbstractTransformation
      Specified by:
      initializeRequiredObjects in interface ClassifierMap
      Specified by:
      initializeRequiredObjects in interface MdObjectBaseUtil
      Specified by:
      initializeRequiredObjects in interface PrimaryType
      Specified by:
      initializeRequiredObjects in interface Root
      Specified by:
      initializeRequiredObjects in interface Transformation
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
    • initializePredObjects

      void initializePredObjects() throws RemoteException
      (S) Adds the Associated objects to the predObjects which are:
      OnForJoin
      OwningJoinTable
      Specified by:
      initializePredObjects in interface AbstractTransformation
      Specified by:
      initializePredObjects in interface ClassifierMap
      Specified by:
      initializePredObjects in interface MdObjectBase
      Specified by:
      initializePredObjects in interface PrimaryType
      Specified by:
      initializePredObjects in interface Root
      Specified by:
      initializePredObjects in interface Transformation
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
    • getJoinType

      String getJoinType() throws RemoteException
      Gets the String value of JoinType
      Returns:
      The JoinType
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
    • getJoinTypeState

      int getJoinTypeState() throws RemoteException
      Gets the Metadata State of JoinType
      Returns:
      The State.
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
    • getJoinTypeMaxLength

      int getJoinTypeMaxLength() throws RemoteException
      Gets the maximum length of JoinType
      Returns:
      The max size
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
    • getOnForJoins

      AssociationList getOnForJoins() throws RemoteException, MdException
      Gets the AssociationList of OnForJoins
      Returns:
      Returns the AssociationList of OnForJoins which can be of type:
      OnClause
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
      MdException
    • getOnForJoin

      OnClause getOnForJoin() throws RemoteException, MdException
      Gets the OnClause for OnForJoin
      Returns:
      The OnClause ( null if not set) of OnForJoinwhich can be of type:
      OnClause
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
      MdException - If error getting/setting part of the object.
    • getOwningJoinTables

      AssociationList getOwningJoinTables() throws RemoteException, MdException
      Gets the AssociationList of OwningJoinTables
      Returns:
      Returns the AssociationList of OwningJoinTables which can be of type:
      JoinTable
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
      MdException
    • getOwningJoinTable

      JoinTable getOwningJoinTable() throws RemoteException, MdException
      Gets the JoinTable for OwningJoinTable
      Returns:
      The JoinTable ( null if not set) of OwningJoinTablewhich can be of type:
      JoinTable
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
      MdException - If error getting/setting part of the object.
    • getOnForJoins

      AssociationList getOnForJoins(boolean fGoToServer) throws RemoteException, MdException
      Gets the Associationlist of OnForJoins
      Parameters:
      fGoToServer - boolean Get the value from the server.
      Returns:
      Returns the AssociationList of OnForJoins which can be of type:
      OnClause
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
      MdException - If error getting/setting part of the object.
    • getOwningJoinTables

      AssociationList getOwningJoinTables(boolean fGoToServer) throws RemoteException, MdException
      Gets the Associationlist of OwningJoinTables
      Parameters:
      fGoToServer - boolean Get the value from the server.
      Returns:
      Returns the AssociationList of OwningJoinTables which can be of type:
      JoinTable
      Throws:
      RemoteException - If error connecting/communicating to/with remote object.
      MdException - If error getting/setting part of the object.
    • setJoinType

      void setJoinType(String inJoinType) throws RemoteException
      Sets the JoinType value and sets the state to MetadataState.LOCAL.
      Parameters:
      inJoinType - String
      Throws:
      RemoteException - If error communicating with remote object.
    • setJoinType

      void setJoinType(String inJoinType, int state) throws RemoteException
      Sets the JoinType Metadata State.
      Parameters:
      inJoinType - String
      state - int
      Throws:
      RemoteException - If error communicating with remote object.
    • setJoinTypeState

      void setJoinTypeState(int state) throws RemoteException
      Sets the Metadata State of JoinType.
      Parameters:
      state - int
      Throws:
      RemoteException - If error communicating with remote object.
    • setOnForJoins

      void setOnForJoins(AssociationList list) throws RemoteException
      Sets the OnForJoins list to be list. Object of which can be of type:
      OnClause
      Parameters:
      list - AssociationList
      Throws:
      RemoteException - If error communicating with remote object.
    • setOnForJoins

      void setOnForJoins(AssociationList list, int state) throws RemoteException
      Sets the OnForJoins list to be list. Object of which can be of type:
      OnClause
      Parameters:
      list - AssociationList
      state - int
      Throws:
      RemoteException - If error communicating with remote object.
    • setOnForJoin

      void setOnForJoin(OnClause inObject) throws RemoteException
      Sets the OnForJoins list 0th element to be inObject.
      Parameters:
      inObject - OnClause
      Throws:
      RemoteException - If error communicating with remote object.
    • setOwningJoinTables

      void setOwningJoinTables(AssociationList list) throws RemoteException
      Sets the OwningJoinTables list to be list. Object of which can be of type:
      JoinTable
      Parameters:
      list - AssociationList
      Throws:
      RemoteException - If error communicating with remote object.
    • setOwningJoinTables

      void setOwningJoinTables(AssociationList list, int state) throws RemoteException
      Sets the OwningJoinTables list to be list. Object of which can be of type:
      JoinTable
      Parameters:
      list - AssociationList
      state - int
      Throws:
      RemoteException - If error communicating with remote object.
    • setOwningJoinTable

      void setOwningJoinTable(JoinTable inObject) throws RemoteException
      Sets the OwningJoinTables list 0th element to be inObject.
      Parameters:
      inObject - JoinTable
      Throws:
      RemoteException - If error communicating with remote object.