Skip navigation links

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

E17060-02


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, IFlexFieldUser, 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, IFlexFieldUser

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.ColumnSorterId
          Sorter for TargetColumns by id.
static class OdiInterface.ColumnSorterPosition
          Comparator used to sort TargetColumns by position.
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.
static interface OdiInterface.IPersistenceComparable<T extends OdiInterface.IPersistenceComparable<?>>
          For internal use only.
 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.
 java.util.Collection<IFlexFieldValue> getFlexFieldsValues()
          Obtains flex fields values related to this IFlexFieldUser.
 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.
 OdiInterface.TargetDataStore getInternalTargetDataStore()
          WARNING! This method is intended for internal use only.
 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 initFlexFields(IOdiFlexFieldFinder pOdiFlexFieldFinder)
          Initialize flex fields related to this IFlexFieldUser.
static
<T extends OdiInterface.IPersistenceComparable<T>>
boolean
internalCollectionPersistenceEquals(java.util.Collection<T> t1, java.util.Collection<T> t2)
          For internal use only.
static
<T extends OdiInterface.IPersistenceComparable<T>>
boolean
internalListPersistenceEquals(java.util.List<T> t1, java.util.List<T> t2)
          For internal use only.
 boolean internalPersistenceEquals(OdiInterface i2)
          For internal use only.
static boolean nullSafeEquals(org.eclipse.persistence.indirection.ValueHolderInterface o1, org.eclipse.persistence.indirection.ValueHolderInterface o2)
          For internal use only.
 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

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

DEFAULT_MAPPING_EXECUTION_LOCATION

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

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

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()

getInterfaceId

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

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)

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()

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

getFolder

public OdiFolder getFolder()
Returns the parent folder of this interface.
Returns:
The parent folder 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)

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()

getTargetDataStore

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

getInternalTargetDataStore

public OdiInterface.TargetDataStore getInternalTargetDataStore()
WARNING! This method is intended for internal use only. DO NOT USE this method.
Returns:
the target datastore
Since:
11.1.1.5.0

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)

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()

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.

getStagingArea

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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.

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.

getFlexFieldsValues

public java.util.Collection<IFlexFieldValue> getFlexFieldsValues()
Description copied from interface: IFlexFieldUser
Obtains flex fields values related to this IFlexFieldUser.
Specified by:
getFlexFieldsValues in interface IFlexFieldUser
Returns:
an unmodifiable Collection of flex field values
Since:
11.1.1.5.0

initFlexFields

public void initFlexFields(IOdiFlexFieldFinder pOdiFlexFieldFinder)
Description copied from interface: IFlexFieldUser
Initialize flex fields related to this IFlexFieldUser.
Specified by:
initFlexFields in interface IFlexFieldUser
Parameters:
pOdiFlexFieldFinder - OdiFlexField finder to be used to query flex fields
Since:
11.1.1.5.0

internalListPersistenceEquals

public static <T extends OdiInterface.IPersistenceComparable<T>> boolean internalListPersistenceEquals(java.util.List<T> t1,
                                                                                                       java.util.List<T> t2)
For internal use only.
Type Parameters:
T - any type extending IPersistenceComparable
Parameters:
t1 -
t2 -
Returns:
true if the 2 lists are equal
Since:
11.1.1.5.0

internalCollectionPersistenceEquals

public static <T extends OdiInterface.IPersistenceComparable<T>> boolean internalCollectionPersistenceEquals(java.util.Collection<T> t1,
                                                                                                             java.util.Collection<T> t2)
For internal use only.
Type Parameters:
T - any type extending IPersistenceComparable
Parameters:
t1 -
t2 -
Returns:
true if the 2 lists are equal
Since:
11.1.1.5.0

nullSafeEquals

public static boolean nullSafeEquals(org.eclipse.persistence.indirection.ValueHolderInterface o1,
                                     org.eclipse.persistence.indirection.ValueHolderInterface o2)
For internal use only.
Parameters:
o1 -
o2 -
Returns:
true if o1 equals o2 null safe
Since:
11.1.1.5.0

internalPersistenceEquals

public boolean internalPersistenceEquals(OdiInterface i2)
For internal use only.
Parameters:
i2 -
Returns:
true if this interface is equal to i2
Since:
11.1.1.5.0

Skip navigation links

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

E17060-02


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