DataSet
giveContext
to learn how to retrieve a context for a given dataset.public class ContextManager
extends java.lang.Object
IExpressionContext
Constructor and Description |
---|
ContextManager(OdiProject pProject,
IOdiEntityManager pOdiEntityManager)
Deprecated.
Create a context manager that will include tags for the specified project.
|
ContextManager(OdiProject pProject,
IOdiEntityManager pOdiEntityManager,
boolean pUseFindersForProjectObjects)
Deprecated.
Create a context manager that will include tags for the specified project.
|
Modifier and Type | Method and Description |
---|---|
void |
dataSetRemoved(DataSet pDataSet)
Deprecated.
This method must be called by the user when a <@link DataSet> is removed
from the current interface, so that the cache can be cleaned up.
Note that there is no need for a dataSetAdded method,
as the cache will be automatically populated when the context for
the new <@link DataSet> is requested using the giveContext method. |
void |
dataStoreAdded(SourceDataStore pSourceDataStore)
Deprecated.
This method will be called by
<@link oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions InteractiveInterfaceHelperWithActions>
after a <@link SourceDataStore> has been added to a
DataSet . |
void |
dataStoreRemoved(SourceDataStore pSourceDataStore)
Deprecated.
This method will be called by
<@link oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions InteractiveInterfaceHelperWithActions>
after a <@link SourceDataStore> is removed from a
DataSet . |
IExpressionContext |
giveContext(DataSet pDataSet)
Deprecated.
Return an
IExpressionContext for a given DataSet . |
boolean |
isUseFindersForProject()
Deprecated.
A method to return the current setting for how to get external objects, such as
variables, sequences, and procedures.
|
void |
refreshDatastores()
Deprecated.
Clear all caches concerning
DataStore objects: they might have changed. |
void |
refreshGlobalAndProjectObjects()
Deprecated.
Refreshes all global and project objects (variables, sequences, user functions).
|
void |
setUseFindersForProject(boolean pUseFindersForProject)
Deprecated.
Change the behaviour of this ContextManager to force it to use
finders or not for external project objects.
|
public ContextManager(OdiProject pProject, IOdiEntityManager pOdiEntityManager, boolean pUseFindersForProjectObjects)
pProject
- The project in which this context manager will pick project objects (variables, etc)pOdiEntityManager
- The current entity manager.pUseFindersForProjectObjects
- if true
, finders will be used to fetch project objects,
if false
the getters on the project will be used. Use finders if other
editors or SDK calls might change the context between the time the manager is created
and when the context is actually used, since finders will pick up the new information.public ContextManager(OdiProject pProject, IOdiEntityManager pOdiEntityManager)
UseFindersForProjectObjects
to false
pProject
- the projectpOdiEntityManager
- the current entity managerContextManager(OdiProject, IOdiEntityManager, boolean)
public void refreshGlobalAndProjectObjects()
giveContext
to retrieve
the context object.public void refreshDatastores()
DataStore
objects: they might have changed.
This should be called if the data store objects have been changed since this
context manager was created, before calling giveContext
to retrieve
the context object.public IExpressionContext giveContext(DataSet pDataSet)
IExpressionContext
for a given DataSet
.
Note that this method is optimized and caches the contexts to return the
context as fast as possible. Thus if a context for a specified DataSet
object is requested multiple times, the context will be created and cached
during the first call. For subsequent calls the cached context object will be returned.
This means that if the context information changes, for example if a new DataStore
object is added to the DataSet, or if a new column has been added to
the DataStore
, then the cache must be updated.
To reset the cache that stores context information for DataStore
objects,
use refreshDatastores
.
To reset the cache that stores context information for global and project (external) objects,
DataStore
objects,
use refreshGlobalAndProjectObjects
.
pDataSet
- A DataSet
for which we want an expression context.
If pDataSet is null
, a context will be returned for target expressions.DataSet
.public void dataStoreAdded(SourceDataStore pSourceDataStore)
DataSet
.
For internal use only.pSourceDataStore
- The SourceDataStore
that has been added.public void dataStoreRemoved(SourceDataStore pSourceDataStore)
DataSet
.
For internal use only.pSourceDataStore
- The SourceDataStore
that is being removed.public void dataSetRemoved(DataSet pDataSet)
dataSetAdded
method,
as the cache will be automatically populated when the context for
the new <@link DataSet> is requested using the giveContext
method.pDataSet
- The DataSet
that is being removed.public boolean isUseFindersForProject()
true
if this instance of ContextManager uses
finders to find external objects, false
if it uses the project's getters.public void setUseFindersForProject(boolean pUseFindersForProject)
pUseFindersForProject
- The new value for UseFindersForProject
.