Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.0.0)

E10653-01

oracle.adf.model
Class BindingContext

java.lang.Object
  extended by oracle.adf.model.BindingContext
All Implemented Interfaces:
java.io.Serializable, java.util.Map

public class BindingContext
extends java.lang.Object
implements java.io.Serializable, java.util.Map

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
static java.lang.String ADF_CONTEXT
           
static java.lang.String APPLICATION_DEF
           
static java.lang.String BINDINGS_HELPER
           
static byte CLIENT_TYPE_ABSTRACT
           
static byte CLIENT_TYPE_JCLIENT
           
static java.lang.String CONTEXT_HELPER
           
static java.lang.String CONTEXT_ID
           
static java.lang.String CURRENT_DATACONTROL_FRAME
           
static java.lang.String CUSTOM_EVENT_DISPATCHER_CLASSNAME
           
static java.lang.String DEFAULT_DATA_CONTROL
           
static java.lang.String ERROR_HANDLER
           
static java.lang.String HTTP_REQUEST
           
static java.lang.String HTTP_RESPONSE
           
static java.lang.String INPUT_VALUE_HANDLERS
           
static java.lang.String IS_INITIALIZED
           
static java.lang.String LOCALE_CONTEXT
           
static java.lang.String MAP_RESOLVER
           
static java.lang.String PERMISSION_MAP
           
static java.lang.String RESERVED_BINDINGS
           
static java.lang.String ROOT_FRAME_NAME
           
 
Constructor Summary
BindingContext()
           
BindingContext(int size)
           
 
Method Summary
 void addPersistentState(java.lang.String name, java.io.Serializable psState)
          Deprecated. since 10.1.3. Applications should use the StateManager instead. See StateManager
 void addPersPageMapEntry(java.lang.String sPath, java.lang.String sUsageId)
           
 void beginRequest(oracle.adf.share.ADFContext adfContext, java.util.HashMap requestCtx)
           
 DataControlFrame beginTransaction(java.lang.String name, java.util.List<DataControlPolicy> policies, DataControlPolicy defaultPolicy)
          Creates a new datacontrol frame with the given name if it does not exist, and begins a new transaction.
 java.util.Collection<DCBindingContainer> bindingContainers()
           
 java.util.Iterator bindingContainersIterator()
           
 void clear()
           
 boolean containsBindingContainerKey(java.lang.Object key)
          INTERNAL USE ONLY.
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 DataControlFrame createDataControlFrame(java.lang.String name, DataControlFrame parentFrame, java.util.List<DataControlPolicy> policies, DataControlPolicy defaultPolicy)
          Creates a datacontrol frame with the given name.
 DataControlFrame createDataControlFrame(java.lang.String name, java.util.List<DataControlPolicy> policies, DataControlPolicy defaultPolicy)
          Deprecated. since 11.1.1.0.0
 java.io.Serializable createSnapshot()
           
 DataControlFrame dataControlFrame()
           
 void dataControlFrameReleased(DataControlFrame frame)
          Callback method from datacontrol frame to notify the bindingcontext that it has been released.
 java.util.Iterator dataControlsIterator()
           
 void endRequest(oracle.adf.share.ADFContext adfContext, java.util.HashMap requestCtx)
           
 java.util.Set entrySet()
          Returns the Entry Set for the properties that have been registered with BindingContext.
 java.lang.String findAppDefNameByBindingContainerDefName(java.lang.String fullDefName)
           
 DCBindingContainer findBindingContainer(java.lang.String name)
           
 DCBindingContainer findBindingContainerByPath(java.lang.String path)
          Given the view path, find a mapping entry in this BindingContext's pageMap definition and return a bindingContainer whose usage name maps the value of the mapped entry.
 DCBindingContainerDef findBindingContainerDefByPath(java.lang.String path)
          Given the view path, find a mapping entry in this BindingContext's pageMap definition and return it's definition.
 java.lang.String findBindingContainerIdByPath(java.lang.String path)
          Given the view path, find a mapping entry in this BindingContext's pageMap definition and return the mapped value which should be a bindingContainer ID that can be used to lookup a bindingContainer instance in this BindingContext.
 DCDataControl findDataControl(java.lang.String name)
           
 DataControlFrame findDataControlFrame(java.lang.String name)
          Returns a datacontrol frame with the given name.
 java.io.Serializable findPersistentState(java.lang.String name)
          Deprecated. since 10.1.3. Applications should use the StateManager instead. See StateManager
 java.lang.Object get(java.lang.Object key)
           
 java.lang.Object getBindingInputHandler(java.lang.String type)
           
static BindingContext getCurrent()
          Returns the BindingContext instance for the invoking session.
 BindingContainer getCurrentBindingsEntry()
          Returns the current BindingContainer for the execution context.
 java.lang.String getCurrentDataControlFrame()
          return the current datacontrol frame of this BindingContext
static java.lang.String getDCNameFromDCKey(java.lang.String dcKey)
           
 DefinitionObject getDef()
           
 DCDataControl getDefaultDataControl()
          Internal: Applications should not use this class. Only for use in JClient internally to get to JUApplication.
 DCErrorHandler getErrorHandler()
           
 LocaleContext getLocaleContext()
           
 java.lang.Object getPersonalizationKey()
           
 SessionContext getSessionContext()
           
static java.lang.String getTransformedDCKey(DCDataControl dc)
          Internal Framework implementation: do not use
 void initializeSessionContext(SessionContext currentSession)
          Internal: Applications should not use this class.
 DCDataControl instantiateDataControl(DataControlFrame frame, java.lang.String dcKey, java.lang.String transactionName)
          For use by datacontrol frame to instantiate a new datacontrol, using the DataControlReference found in the BindingContext location passed.
 java.lang.Object internalGet(java.lang.Object key)
          Internal: Applications should not use this class. Returns BindingContext entries without transitioning references.
 boolean isEmpty()
           
 boolean isGenericApp()
           
 boolean isJClientApp()
          Internal: Applications should not use this class.
 java.util.Set keySet()
          Returns the keys of all properties, BindingContainers, and DataControls that have been put in the BindingContext.
 java.util.Iterator keysIterator()
          Returns a thread safe keys iterator.
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
           
 void putAll(java.util.Map t)
           
 void refreshAfterMetadataChanges()
          Refresh the binding context and binding containers after the metadata has changed
 void release()
           
 void releaseObsoleteBindingContainers()
           
 java.lang.Object remove(java.lang.Object key)
           
 java.lang.Object removeDataControl(java.lang.String dcUsageName, java.lang.String dcKey)
           
 void removePersistentState(java.lang.String name)
          Deprecated. since 10.1.3. Applications should use the StateManager instead. See StateManager
 void restoreSnapshot(java.io.Serializable handle)
           
 boolean resumeTransaction(java.lang.String name)
          Resume the transaction associated with the datacontrol frame with the given name, and set that datacontrol frame as the current frame.
static java.lang.String setAppDefNameTL(java.lang.String appDefName)
          framework internal use only
 void setBindingInputHandlers(java.util.Map map)
           
 void setClientAppType(byte clientType)
          Internal: Applications should not use this class.
static void setCurrent(BindingContext ctx)
          Internal: Applications should not use this class. ADFm uses this internally to add the current BindingContext to the sessionScope of the executing thread.
 BindingContainer setCurrentBindingsEntry(BindingContainer bindings)
          Sets the current BindingContainer for the execution context.
 BindingContainer setCurrentBindingsEntry(BindingContainer bindings, java.util.Map map)
          Sets the current BindingContainer for the execution context.
 boolean setCurrentDataControlFrame(java.lang.String name)
          Set the datacontrol frame with the given name as the current datacontrol frame in the BindingContext.
 void setErrorHandler(DCErrorHandler errHandlerObj)
           
 void setLocaleContext(LocaleContext lCtx)
           
 void setPersonalizationKey(java.lang.Object key)
           
 void setSessionContext(SessionContext currentSession)
          Internal: Applications should not use this class.
 int size()
           
 void syncPageMapEntry(java.lang.String path, java.lang.String pageDefId, java.lang.String pageDefFullName)
          Internal: Applications should not use this class.
static java.lang.String transformDCKey(java.lang.String appDefName, java.lang.String dcName)
          Framework internal: applications should not use
 java.util.Collection values()
          Return values for the properties, DataControls, and BindingContainers that have already been instantiated within the invoking context.
 java.util.Iterator valuesIterator()
          Returns a thread safe values iterator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

RESERVED_BINDINGS

public static final java.lang.String RESERVED_BINDINGS
See Also:
Constant Field Values

CONTEXT_HELPER

public static final java.lang.String CONTEXT_HELPER
See Also:
Constant Field Values

BINDINGS_HELPER

public static final java.lang.String BINDINGS_HELPER
See Also:
Constant Field Values

CONTEXT_ID

public static final java.lang.String CONTEXT_ID
See Also:
Constant Field Values

DEFAULT_DATA_CONTROL

public static final java.lang.String DEFAULT_DATA_CONTROL
See Also:
Constant Field Values

LOCALE_CONTEXT

public static final java.lang.String LOCALE_CONTEXT
See Also:
Constant Field Values

ERROR_HANDLER

public static final java.lang.String ERROR_HANDLER
See Also:
Constant Field Values

MAP_RESOLVER

public static final java.lang.String MAP_RESOLVER
See Also:
Constant Field Values

ADF_CONTEXT

public static final java.lang.String ADF_CONTEXT
See Also:
Constant Field Values

HTTP_REQUEST

public static final java.lang.String HTTP_REQUEST
See Also:
Constant Field Values

HTTP_RESPONSE

public static final java.lang.String HTTP_RESPONSE
See Also:
Constant Field Values

INPUT_VALUE_HANDLERS

public static final java.lang.String INPUT_VALUE_HANDLERS
See Also:
Constant Field Values

APPLICATION_DEF

public static final java.lang.String APPLICATION_DEF
See Also:
Constant Field Values

IS_INITIALIZED

public static final java.lang.String IS_INITIALIZED
See Also:
Constant Field Values

CURRENT_DATACONTROL_FRAME

public static final java.lang.String CURRENT_DATACONTROL_FRAME
See Also:
Constant Field Values

ROOT_FRAME_NAME

public static final java.lang.String ROOT_FRAME_NAME
See Also:
Constant Field Values

CUSTOM_EVENT_DISPATCHER_CLASSNAME

public static final java.lang.String CUSTOM_EVENT_DISPATCHER_CLASSNAME
See Also:
Constant Field Values

CLIENT_TYPE_ABSTRACT

public static final byte CLIENT_TYPE_ABSTRACT
See Also:
Constant Field Values

CLIENT_TYPE_JCLIENT

public static final byte CLIENT_TYPE_JCLIENT
See Also:
Constant Field Values

PERMISSION_MAP

public static final java.lang.String PERMISSION_MAP
See Also:
Constant Field Values
Constructor Detail

BindingContext

public BindingContext(int size)

BindingContext

public BindingContext()
Method Detail

getCurrent

public static BindingContext getCurrent()
Returns the BindingContext instance for the invoking session.


setCurrent

public static void setCurrent(BindingContext ctx)
Internal: Applications should not use this class. ADFm uses this internally to add the current BindingContext to the sessionScope of the executing thread.


setPersonalizationKey

public final void setPersonalizationKey(java.lang.Object key)

getPersonalizationKey

public final java.lang.Object getPersonalizationKey()

getDef

public DefinitionObject getDef()

setLocaleContext

public void setLocaleContext(LocaleContext lCtx)

getLocaleContext

public LocaleContext getLocaleContext()

setErrorHandler

public void setErrorHandler(DCErrorHandler errHandlerObj)

setClientAppType

public void setClientAppType(byte clientType)
Internal: Applications should not use this class.


isJClientApp

public boolean isJClientApp()
Internal: Applications should not use this class.


isGenericApp

public boolean isGenericApp()

getErrorHandler

public final DCErrorHandler getErrorHandler()

getCurrentBindingsEntry

public final BindingContainer getCurrentBindingsEntry()
Returns the current BindingContainer for the execution context. This will return the value of the 'bindings' variable on the ADFContext requestScope. This is equivalent to evaluating the 'bindings' expression using an expression evaluator in the current execution context.

Returns:
the value of the 'bindings' variable

setCurrentBindingsEntry

public final BindingContainer setCurrentBindingsEntry(BindingContainer bindings)
Sets the current BindingContainer for the execution context. The default execution context is the ADFContext requestScope. This will set the 'bindings' variable on the requestScope. The BindingContainer may then be accessed by expressions that reference the 'bindings' variable.

Parameters:
bindings - the BindingContainer to be set
Returns:
the previous value of the 'bindings' variable

setCurrentBindingsEntry

public final BindingContainer setCurrentBindingsEntry(BindingContainer bindings,
                                                      java.util.Map map)
Sets the current BindingContainer for the execution context.

Parameters:
bindings - the BindingContainer to be set
map - the context on which to set the BindingContainer
Returns:
the previous value of the 'bindings' variable context

getDefaultDataControl

public DCDataControl getDefaultDataControl()
Internal: Applications should not use this class. Only for use in JClient internally to get to JUApplication.


initializeSessionContext

public void initializeSessionContext(SessionContext currentSession)
Internal: Applications should not use this class.


setSessionContext

public void setSessionContext(SessionContext currentSession)
Internal: Applications should not use this class.


getSessionContext

public SessionContext getSessionContext()

release

public void release()

createSnapshot

public java.io.Serializable createSnapshot()

restoreSnapshot

public void restoreSnapshot(java.io.Serializable handle)

setAppDefNameTL

public static java.lang.String setAppDefNameTL(java.lang.String appDefName)
framework internal use only

Parameters:
appDefName -
For internal use only. Application developers should not use this

findDataControl

public DCDataControl findDataControl(java.lang.String name)

findBindingContainer

public DCBindingContainer findBindingContainer(java.lang.String name)

findPersistentState

public java.io.Serializable findPersistentState(java.lang.String name)
Deprecated. since 10.1.3. Applications should use the StateManager instead. See StateManager

Returns:
A persistent state for the specified name. If a persistent state is not found for the name then return null.


addPersistentState

public void addPersistentState(java.lang.String name,
                               java.io.Serializable psState)
Deprecated. since 10.1.3. Applications should use the StateManager instead. See StateManager

Internal: Applications should not use this class.


removePersistentState

public void removePersistentState(java.lang.String name)
Deprecated. since 10.1.3. Applications should use the StateManager instead. See StateManager

Internal: Applications should not use this class.


valuesIterator

public java.util.Iterator valuesIterator()
Returns a thread safe values iterator.

This iterator will not include the DataControls or BindingContainers. Must use dataControlIterator or bindingContainersIterator to iterate those members.


dataControlsIterator

public java.util.Iterator dataControlsIterator()

bindingContainersIterator

public java.util.Iterator bindingContainersIterator()

keysIterator

public java.util.Iterator keysIterator()
Returns a thread safe keys iterator.

This iterator will not include the DataControls or BindingContainers.


size

public int size()
Specified by:
size in interface java.util.Map

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map

containsBindingContainerKey

public boolean containsBindingContainerKey(java.lang.Object key)
INTERNAL USE ONLY.


containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map

instantiateDataControl

public DCDataControl instantiateDataControl(DataControlFrame frame,
                                            java.lang.String dcKey,
                                            java.lang.String transactionName)
For use by datacontrol frame to instantiate a new datacontrol, using the DataControlReference found in the BindingContext location passed.

Parameters:
key - The location where the DataControlReference should be located in the BindingContext. If found, use it to create a datacontrol instance.
transactionName - optionally provide a transaction name to be used by the datacontrol for it to create a parent datacontrol with that name.
Returns:
A new datacontrol instance, or null if none is created.

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map

bindingContainers

public final java.util.Collection<DCBindingContainer> bindingContainers()
Returns:
list of binding containers
For internal use only. Application developers should not use this

internalGet

public java.lang.Object internalGet(java.lang.Object key)
Internal: Applications should not use this class. Returns BindingContext entries without transitioning references.


put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map

remove

public java.lang.Object remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map

removeDataControl

public java.lang.Object removeDataControl(java.lang.String dcUsageName,
                                          java.lang.String dcKey)

putAll

public void putAll(java.util.Map t)
Specified by:
putAll in interface java.util.Map

clear

public void clear()
Specified by:
clear in interface java.util.Map

keySet

public java.util.Set keySet()
Returns the keys of all properties, BindingContainers, and DataControls that have been put in the BindingContext.

Applications should use this method sparingly as the implementation must aggregate the keys from the DataControl map, the BindingContainer map, and the property map.

Note that the BindingContainer and DataControl keys in the keySet may refer to uninstantiated BindingContainer and DataControl references.

Specified by:
keySet in interface java.util.Map

values

public java.util.Collection values()
Return values for the properties, DataControls, and BindingContainers that have already been instantiated within the invoking context. As a result, the size of this collection may be very different than the size that is returned by size().

Applications should not use this method. The implementation is very expensive because it requires the framework to aggregate the values from the mDCMap, the BindingContainer map, and the mDefaultMap. Further, the keySet(), values(), and entrySet() implementations are not consistent with one another.

Specified by:
values in interface java.util.Map

entrySet

public java.util.Set entrySet()
Returns the Entry Set for the properties that have been registered with BindingContext. The Entry Set will not include entries for instantiated or uninstantiated DataControls and BindingContainers.

Specified by:
entrySet in interface java.util.Map

getBindingInputHandler

public java.lang.Object getBindingInputHandler(java.lang.String type)

setBindingInputHandlers

public void setBindingInputHandlers(java.util.Map map)

findBindingContainerByPath

public DCBindingContainer findBindingContainerByPath(java.lang.String path)
Given the view path, find a mapping entry in this BindingContext's pageMap definition and return a bindingContainer whose usage name maps the value of the mapped entry. Returns null if no matching entry found.


findAppDefNameByBindingContainerDefName

public java.lang.String findAppDefNameByBindingContainerDefName(java.lang.String fullDefName)

findBindingContainerDefByPath

public DCBindingContainerDef findBindingContainerDefByPath(java.lang.String path)
Given the view path, find a mapping entry in this BindingContext's pageMap definition and return it's definition.


findBindingContainerIdByPath

public java.lang.String findBindingContainerIdByPath(java.lang.String path)
Given the view path, find a mapping entry in this BindingContext's pageMap definition and return the mapped value which should be a bindingContainer ID that can be used to lookup a bindingContainer instance in this BindingContext. Returns null if no matching entry found.


beginRequest

public void beginRequest(oracle.adf.share.ADFContext adfContext,
                         java.util.HashMap requestCtx)

refreshAfterMetadataChanges

public void refreshAfterMetadataChanges()
Refresh the binding context and binding containers after the metadata has changed


releaseObsoleteBindingContainers

public void releaseObsoleteBindingContainers()

endRequest

public void endRequest(oracle.adf.share.ADFContext adfContext,
                       java.util.HashMap requestCtx)

createDataControlFrame

public DataControlFrame createDataControlFrame(java.lang.String name,
                                               java.util.List<DataControlPolicy> policies,
                                               DataControlPolicy defaultPolicy)
Deprecated. since 11.1.1.0.0


createDataControlFrame

public DataControlFrame createDataControlFrame(java.lang.String name,
                                               DataControlFrame parentFrame,
                                               java.util.List<DataControlPolicy> policies,
                                               DataControlPolicy defaultPolicy)
Creates a datacontrol frame with the given name.

Parameters:
name - Name of the new datacontrol frame.
policies - An optional list of DataControlPolicy objects for datacontrols that have different policies than the default policy.
defaultPolicy - The default DataControlPolicy for all datacontrols in this datacontrol frame.
Returns:
the new DataControlFrame, or null if a datacontrol frame already exist with the given name, and no new frame is created.

findDataControlFrame

public DataControlFrame findDataControlFrame(java.lang.String name)
Returns a datacontrol frame with the given name.

Parameters:
name - Name of the datacontrol frame.
Returns:
the DataControlFrame with the given name, or null if no DataControlFrame is found with that name.

setCurrentDataControlFrame

public boolean setCurrentDataControlFrame(java.lang.String name)
Set the datacontrol frame with the given name as the current datacontrol frame in the BindingContext. Any datacontrol referenced and instantiated will be add to the list of the current datacontrol frame.

Parameters:
name - Name of the datacontrol frame to be set as the current frame.
Returns:
true if the current datacontrol frame has been set to the one with the given name; false if no datacontrol frame is found with the given name, and the current datacontrol frame remains unchanged.

dataControlFrameReleased

public void dataControlFrameReleased(DataControlFrame frame)
Callback method from datacontrol frame to notify the bindingcontext that it has been released.

Parameters:
frame - the datacontrol frame that is released.

dataControlFrame

public final DataControlFrame dataControlFrame()

getCurrentDataControlFrame

public java.lang.String getCurrentDataControlFrame()
return the current datacontrol frame of this BindingContext

Returns:
The name of the current datacontrol frame, or null if no datacontrol frame is set as the current frame.

beginTransaction

public DataControlFrame beginTransaction(java.lang.String name,
                                         java.util.List<DataControlPolicy> policies,
                                         DataControlPolicy defaultPolicy)
Creates a new datacontrol frame with the given name if it does not exist, and begins a new transaction.

Parameters:
name - Name of the datacontrol frame that should starts a new transaction
policies - An optional list of DataControlPolicy objects for datacontrols that have different policies than the default policy.
defaultPolicy - The default DataControlPolicy for all datacontrols in this datacontrol frame.
Returns:
the frame on which that beginTransaction is called on.

resumeTransaction

public boolean resumeTransaction(java.lang.String name)
Resume the transaction associated with the datacontrol frame with the given name, and set that datacontrol frame as the current frame. This method does not create a new datacontrol frame if one cannot be found with the given name.

Parameters:
name - Name of the datacontrol frame whose transaction should be resumed.
Returns:
true if a datacontrol frame is found with the given name, and resumeTransaction is called on it; false if no datacontrol frame is found with the given name.

syncPageMapEntry

public void syncPageMapEntry(java.lang.String path,
                             java.lang.String pageDefId,
                             java.lang.String pageDefFullName)
Internal: Applications should not use this class.


addPersPageMapEntry

public void addPersPageMapEntry(java.lang.String sPath,
                                java.lang.String sUsageId)

getTransformedDCKey

public static final java.lang.String getTransformedDCKey(DCDataControl dc)
Internal Framework implementation: do not use


transformDCKey

public static final java.lang.String transformDCKey(java.lang.String appDefName,
                                                    java.lang.String dcName)
Framework internal: applications should not use

Parameters:
appDefName -
dcName -
Returns:
the transformed key to access the data control in the internal maps

getDCNameFromDCKey

public static final java.lang.String getDCNameFromDCKey(java.lang.String dcKey)

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.0.0)

E10653-01

Copyright © 1997, 2008, Oracle. All rights reserved.