Oracle® Data Integrator Java API Reference
11g Release 1 (11.1.1.3.0)

E17060-01

oracle.odi.domain.project
Class OdiInterface

java.lang.Object
  extended by oracle.odi.domain.support.BusinessObject
      extended by oracle.odi.domain.support.AbstractRepositoryEntity
          extended by oracle.odi.domain.support.AbstractOdiEntity
              extended by oracle.odi.domain.project.OdiInterface
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, IExportable, IOdiEntity, IRepositoryEntity, IWorkDevelopmentOdiEntity, oracle.odi.domain.procusage.IProcedureUser, IInterfaceSubComponent, IOdiScenarioSource

public class OdiInterface
extends oracle.odi.domain.support.AbstractOdiEntity
implements IOdiScenarioSource, oracle.odi.domain.procusage.IProcedureUser, IWorkDevelopmentOdiEntity, IExportable, IInterfaceSubComponent

An OdiInterface is the main class that implement target datastore feeding, suppling data from several source datastores.

This class is not intended to be used directly to create a consistent OdiInterface instance. A consistent OdiInterface is an OdiInterface instance that would be executed as is without any consistency issues regarding mappings, execution locations, etc. Creating a consistent OdiInterface has to be done using 3d party tools or classes that extend IInteractiveInterfaceHelper such as InteractiveInterfaceHelperWithActions.

This class is provided for internal use only, or for ODI consumers that want to read an existing OdiInterface instance. Any direct changes to that class or any of its enclosing members from package oracle.odi.domain.project.interfaces are strongly discouraged and without any guarantee. This may lead into unpredictable consistency issues.

StagingArea and TargetDataStore are non-nullable instances.

Since:
11.1.1.3.0
See Also:
Serialized Form

Nested Class Summary
 class OdiInterface.CheckableFlowConstraint
          A constraint that can be checkable on the flow and potentially overriden in the interface.
Constraints include OdiKeys, OdiConditions and OdiReferences.
This class enables to manipulate the constraints and how they can be overridden in the interface.
Note that as for all objects inside interfaces, you should use IInteractiveInterfaceHelpers to modify constraints.
static class OdiInterface.DatabaseSchema
          The database schema on which the temporary target datastore is located.
static class OdiInterface.ExecutionLocation
          The execution location for Join, Filter, TargetMapping and TargetColumn expressions.
 class OdiInterface.StagingArea
          Represents the staging area of the interface.
 class OdiInterface.TargetDataStore
          Represents the target datastore of the interface, which may be either a temporary datastore or an underlying existing OdiDataStore defined in an OdiModel.
It is located on an OdiLogicalSchema, which is either deduced from the underlying OdiDataStore or either shared with the Staging Area for a temporary datastore.
It contains TargetColumns which are either the mirror of existing OdiColumns from the underlying OdiDataStore, or either temporary target columns.
 
Field Summary
static OdiInterface.ExecutionLocation DEFAULT_MAPPING_EXECUTION_LOCATION
          The default location for newly mapped mappings.
static int NAME_MAX_LENGTH
          Constants for maximum length of the name of an interface object.
 
Fields inherited from class oracle.odi.domain.support.AbstractOdiEntity
STARTING_INTERNAL_VERSION
 
Constructor Summary
OdiInterface(OdiFolder pFolder, java.lang.String pName, OdiContext pOptimizationContext)
          For internal use only Creates a new interface.
 
Method Summary
 void addDataSet(DataSet pDataSet)
          For internal use only Add a new data set to the interface.
 void addDataSet(DataSet pDataSet, int pPosition)
          For internal use only Add a new data set to the interface at the specified location.
 void addObjTrace(ObjTrace pTrace)
          For internal use only Add a new object trace to this interface.
 void clearObjTraces()
          For internal use only Removes all object traces from this interface.
static java.lang.String computeSQLWithHeaders(Expression pExpression, DataSet pDataSet)
          Returns a String representing a more functional representation of pExpression.
 java.util.List<DataSet> getDataSets()
          Returns a list of data sets of this interface, sorted by its position.
 java.lang.String getDescription()
          Returns the description of this interface.
static java.lang.String getExecutionLocationDescription(OdiInterface.ExecutionLocation pExecutionLocation)
          Returns the textual string for the enum OdiInterface.ExecutionLocation.
 OdiFolder getFolder()
          Returns the parent folder of this interface.
 java.lang.Number getInstanceId()
          Return the instance ID of this interface.
 java.lang.Number getInterfaceId()
          Return the instance ID of this interface.
 java.io.Serializable getInternalId()
          Provides a common getter for the persistence layer to obtain an identity, irrespective of the actual type of identity used.
 SourceDataStore getJournalizedDataStore(DataSet pDataSet)
          Return the source datastore that is set to be journalized in the specified data set.
 java.lang.String getName()
          Returns the name of this interface.
 java.util.List<ObjTrace> getObjTraces()
          Returns the list of object traces for this interface.
 OdiContext getOptimizationContext()
          Returns the optimization context used when computing source sets for this interface.
 IRepositoryEntity getSecurityContainer()
          Define a generic way to retrieve container for entities.
 OdiInterface.StagingArea getStagingArea()
          Returns the Staging Area object for this interface.
 java.lang.String getSubComponentDescription()
          Returns the sub component's description in a human-readable way.
 java.lang.String getSubComponentDescription(java.util.Locale pLocale)
          Returns the sub component's description in a human-readable way for the given Locale.
 OdiInterface.TargetDataStore getTargetDataStore()
          Returns the target data store object of this interface.
 OdiDataStore getUnderlyingTable()
          Returns the target data store of this interface, or null for a temporary interface.
 boolean hasObjTrace()
          Returns whether there are any object traces for this interface.
 void removeDataSet(DataSet pDataSet)
          For internal use only Remove the specified data set from this interface.
 void removeObjTrace(ObjTrace pTrace)
          For internal use only Add an object trace from this interface.
 void setDescription(java.lang.String pDescription)
          For internal use only Set the description of the interface.
 void setName(java.lang.String pName)
          For internal use only Sets the name of this interface.
 void setOptimizationContext(OdiContext pOptimizationContext)
          For internal use only Sets the optimization context for this interface.
 
Methods inherited from class oracle.odi.domain.support.AbstractOdiEntity
equals, getFirstDate, getFirstUser, getInternalVersion, getLastDate, getLastUser, hashCode, isInstanceLevelSecurityNeeded, isNew, toString
 
Methods inherited from class oracle.odi.domain.support.BusinessObject
clone
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface oracle.odi.domain.IOdiEntity
getFirstDate, getFirstUser, getLastDate, getLastUser, isInstanceLevelSecurityNeeded
 

Field Detail

DEFAULT_MAPPING_EXECUTION_LOCATION

public static final OdiInterface.ExecutionLocation DEFAULT_MAPPING_EXECUTION_LOCATION
The default location for newly mapped mappings.


NAME_MAX_LENGTH

public static final int NAME_MAX_LENGTH
Constants for maximum length of the name of an interface object.

See Also:
Constant Field Values
Constructor Detail

OdiInterface

public OdiInterface(OdiFolder pFolder,
                    java.lang.String pName,
                    OdiContext pOptimizationContext)
For internal use only Creates a new interface. Use IInteractiveInterfaceHelper such as InteractiveInterfaceHelperWithActions to create interfaces.

Parameters:
pFolder - the parent folder of this interface
pName - the name, must be not null
pOptimizationContext - the optimization context of this interface
Method Detail

addDataSet

public void addDataSet(DataSet pDataSet)
For internal use only Add a new data set to the interface. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pDataSet - The data set to be added.

addDataSet

public void addDataSet(DataSet pDataSet,
                       int pPosition)
For internal use only Add a new data set to the interface at the specified location. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pDataSet - The data set to be added.
pPosition - The position where the data set is to be added.

addObjTrace

public void addObjTrace(ObjTrace pTrace)
For internal use only Add a new object trace to this interface. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pTrace - The new object trace to be added to this interface.

clearObjTraces

public void clearObjTraces()
For internal use only Removes all object traces from this interface. To modify an OdiInterface object or its children, please refer to the description of the class.


computeSQLWithHeaders

public static java.lang.String computeSQLWithHeaders(Expression pExpression,
                                                     DataSet pDataSet)
Returns a String representing a more functional representation of pExpression. This is achieved by replacing all referenced column names by their "heading".
For instance, if the original expression is "CLIENT.ID=2", you're likely to get the result "CLIENT.ID of client =2".

Parameters:
pExpression - the expression to process
pDataSet - the dataset in which the expression should be processed
Returns:
a String containing the corresponding text

getDataSets

public java.util.List<DataSet> getDataSets()
Returns a list of data sets of this interface, sorted by its position.

Returns:
The list of data sets of this interface.

getDescription

public java.lang.String getDescription()
Returns the description of this interface.

Returns:
The description of this interface.
See Also:
setDescription(String)

getExecutionLocationDescription

public static java.lang.String getExecutionLocationDescription(OdiInterface.ExecutionLocation pExecutionLocation)
Returns the textual string for the enum OdiInterface.ExecutionLocation.

Parameters:
pExecutionLocation - The desired execution location.
Returns:
The string for the given OdiInterface.ExecutionLocation.

getFolder

public OdiFolder getFolder()
Returns the parent folder of this interface.

Returns:
The parent folder of this interface.

getInstanceId

public java.lang.Number getInstanceId()
Return the instance ID of this interface.

Specified by:
getInstanceId in interface oracle.odi.domain.procusage.IProcedureUser
Returns:
The instance ID of this interface.

getInterfaceId

public java.lang.Number getInterfaceId()
Return the instance ID of this interface.

Returns:
The instance ID of this interface

getInternalId

public java.io.Serializable getInternalId()
Description copied from interface: IRepositoryEntity
Provides a common getter for the persistence layer to obtain an identity, irrespective of the actual type of identity used.

Typically a subclass will delegate to a public SomePrimitiveWrapper getId() method. The necessity for the getInternalId() abstract method is solely because the persistence layer needs a way of obtaining the identity irrespective of the actual identity implementation choice.

Returning null from this method will indicate the object has never been saved. This will likely be relied on by some DAO implementations.

Specified by:
getInternalId in interface IRepositoryEntity
Specified by:
getInternalId in interface IInterfaceSubComponent
Returns:
the persistence identity of this instance
See Also:
IRepositoryEntity.getInternalId()

getJournalizedDataStore

public SourceDataStore getJournalizedDataStore(DataSet pDataSet)
Return the source datastore that is set to be journalized in the specified data set.

Parameters:
pDataSet - The data set from which the journalized source is to be retrieved.
Returns:
The journalized source data store in the specified data set.

getName

public java.lang.String getName()
Returns the name of this interface.

Specified by:
getName in interface IOdiEntity
Overrides:
getName in class oracle.odi.domain.support.AbstractOdiEntity
Returns:
The name of this interface.
See Also:
setName(String)

getObjTraces

public java.util.List<ObjTrace> getObjTraces()
Returns the list of object traces for this interface.

Returns:
The list of object traces for this interface.

getOptimizationContext

public OdiContext getOptimizationContext()
Returns the optimization context used when computing source sets for this interface.

Returns:
The optimization context of this interface.
See Also:
setOptimizationContext(OdiContext)

getSecurityContainer

public IRepositoryEntity getSecurityContainer()
Description copied from interface: IRepositoryEntity
Define a generic way to retrieve container for entities.

Specified by:
getSecurityContainer in interface IRepositoryEntity
Returns:
container entity

getStagingArea

public OdiInterface.StagingArea getStagingArea()
Returns the Staging Area object for this interface.

Returns:
The Staging Area object of this interface.

getSubComponentDescription

public java.lang.String getSubComponentDescription()
Description copied from interface: IInterfaceSubComponent
Returns the sub component's description in a human-readable way.

Specified by:
getSubComponentDescription in interface IInterfaceSubComponent
Returns:
a human-readable String giving all necessary information to identify this component

getSubComponentDescription

public java.lang.String getSubComponentDescription(java.util.Locale pLocale)
Description copied from interface: IInterfaceSubComponent
Returns the sub component's description in a human-readable way for the given Locale.

Specified by:
getSubComponentDescription in interface IInterfaceSubComponent
Parameters:
pLocale - the Locale for which the description should be returned
Returns:
a human-readable String giving all necessary information to identify this component in the given Locale

getTargetDataStore

public OdiInterface.TargetDataStore getTargetDataStore()
Returns the target data store object of this interface.

Returns:
The target data store of this interface.

getUnderlyingTable

public OdiDataStore getUnderlyingTable()
Returns the target data store of this interface, or null for a temporary interface.

Returns:
The OdiDataStore used as the target.

hasObjTrace

public boolean hasObjTrace()
Returns whether there are any object traces for this interface.

Returns:
true if there are object traces added to this interface, false otherwise.

removeDataSet

public void removeDataSet(DataSet pDataSet)
For internal use only Remove the specified data set from this interface. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pDataSet - The data set to be removed.

removeObjTrace

public void removeObjTrace(ObjTrace pTrace)
For internal use only Add an object trace from this interface. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pTrace - The object trace to be removed from this interface.

setDescription

public void setDescription(java.lang.String pDescription)
For internal use only Set the description of the interface. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pDescription - The new description for this interface.
See Also:
getDescription()

setName

public void setName(java.lang.String pName)
For internal use only Sets the name of this interface. Name value cannot be null, and the maximum name length is 400 characters. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pName - the new name for the interface
See Also:
getName()

setOptimizationContext

public void setOptimizationContext(OdiContext pOptimizationContext)
For internal use only Sets the optimization context for this interface. To modify an OdiInterface object or its children, please refer to the description of the class.

Parameters:
pOptimizationContext - the new Optimization Context
See Also:
getOptimizationContext()

Oracle® Data Integrator Java API Reference
11g Release 1 (11.1.1.3.0)

E17060-01

Copyright © 2010, Oracle and/or its affiliates. All rights reserved.