Class UIContextDelegate
- java.lang.Object
-
- com.github.bordertech.wcomponents.UIContextDelegate
-
- All Implemented Interfaces:
UIContext
,Serializable
- Direct Known Subclasses:
AbstractContainerHelper.UIContextWrap
,WRepeater.SubUIContext
public class UIContextDelegate extends Object implements UIContext
UIContextDelegate implements UIContext, but delegates all the work to a backing context. This allows us to easily write UIContext extensions that only need to change the behaviour of a few methods.- Since:
- 1.0.0
- Author:
- Yiannis Paschalidis
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UIContextDelegate(UIContext backing)
Creates a UIContextDelegate.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
clearRequestScratchMap()
Reserved for internal framework use.void
clearRequestScratchMap(WComponent component)
Reserved for internal framework use.void
clearScratchMap()
Reserved for internal framework use.void
clearScratchMap(WComponent component)
Reserved for internal framework use.void
doInvokeLaters()
Runs the runnables that were added usingUIContext.invokeLater(Runnable)
.UIContext
getBacking()
Set
getComponents()
long
getCreationTime()
Returns the creation time of this UIContext, which can be used to approximate the user session creation time.Environment
getEnvironment()
If we've got an environment, return it.WComponent
getFocussed()
String
getFocussedId()
Object
getFwkAttribute(String name)
Reserved for internal framework use.Set
getFwkAttributeNames()
Reserved for internal framework use.Headers
getHeaders()
Locale
getLocale()
Retrieves the locale for this context.WebModel
getModel(WebComponent component)
Get the extrinsic state information for the given component.static UIContext
getPrimaryUIContext(UIContext uic)
Deprecated.Map<Object,Object>
getRequestScratchMap(WComponent component)
Reserved for internal framework use.Map
getScratchMap(WComponent component)
Reserved for internal framework use.WComponent
getUI()
void
invokeLater(UIContext uic, Runnable runnable)
Adds a runnable to the list of runnables to be invoked later against the given UIContext.void
invokeLater(Runnable runnable)
Adds a runnable to the list of runnables to be invoked later.boolean
isDummyEnvironment()
boolean
isFocusRequired()
Indicates whether a component needs to be given focus.void
removeFwkAttribute(String name)
Reserved for internal framework use.void
removeModel(WebComponent component)
Removes the extrinsic state information for the given component.protected void
setBacking(UIContext backing)
Sets the backing context.void
setEnvironment(Environment environment)
Explicitly sets the environment.void
setFocusRequired(boolean b)
Sets whether a component needs to be given focus.void
setFocussed(WComponent component)
Sets the component in this UIC which is to be the focus of the client browser cursor.void
setFocussed(WComponent component, UIContext uic)
Sets the component in this UIC which is to be the focus of the client browser cursor.void
setFwkAttribute(String name, Object value)
Reserved for internal framework use.void
setLocale(Locale locale)
Sets the locale for this context.void
setModel(WebComponent component, WebModel model)
Stores the extrinsic state information for the given component.void
setUI(WComponent ui)
For use by internal framework code only.
-
-
-
Constructor Detail
-
UIContextDelegate
protected UIContextDelegate(UIContext backing)
Creates a UIContextDelegate. This is marked protected, as it doesn't make sense to create an instance of the delegate without changing behaviour.- Parameters:
backing
- the backing context.
-
-
Method Detail
-
setBacking
protected void setBacking(UIContext backing)
Sets the backing context.- Parameters:
backing
- the backing context.
-
clearScratchMap
public void clearScratchMap()
Reserved for internal framework use. Clears the scratch map with phase scope.- Specified by:
clearScratchMap
in interfaceUIContext
-
clearScratchMap
public void clearScratchMap(WComponent component)
Reserved for internal framework use. Clears the scratch map with phase scope for the given component.- Specified by:
clearScratchMap
in interfaceUIContext
- Parameters:
component
- the component to clear the scratch map for.
-
doInvokeLaters
public void doInvokeLaters()
Runs the runnables that were added usingUIContext.invokeLater(Runnable)
.- Specified by:
doInvokeLaters
in interfaceUIContext
-
getComponents
public Set getComponents()
- Specified by:
getComponents
in interfaceUIContext
- Returns:
- the set of WComponents that are storing a model.
-
getCreationTime
public long getCreationTime()
Returns the creation time of this UIContext, which can be used to approximate the user session creation time.- Specified by:
getCreationTime
in interfaceUIContext
- Returns:
- the creation time of this UIContext.
-
getEnvironment
public Environment getEnvironment()
If we've got an environment, return it. Otherwise return a dummy environment.- Specified by:
getEnvironment
in interfaceUIContext
- Returns:
- the current environment.
-
getFocussed
public WComponent getFocussed()
- Specified by:
getFocussed
in interfaceUIContext
- Returns:
- the focussed component for this UI.
-
getFocussedId
public String getFocussedId()
- Specified by:
getFocussedId
in interfaceUIContext
- Returns:
- the unique id of the focussed component for this UI.
-
getFwkAttribute
public Object getFwkAttribute(String name)
Reserved for internal framework use. Retrieves a framework attribute.- Specified by:
getFwkAttribute
in interfaceUIContext
- Parameters:
name
- the attribute name.- Returns:
- the framework attribute with the given name.
-
getFwkAttributeNames
public Set getFwkAttributeNames()
Reserved for internal framework use.- Specified by:
getFwkAttributeNames
in interfaceUIContext
- Returns:
- the names of all attributes bound to this context.
-
getHeaders
public Headers getHeaders()
- Specified by:
getHeaders
in interfaceUIContext
- Returns:
- the headers instance for this UIContext.
-
getModel
public WebModel getModel(WebComponent component)
Get the extrinsic state information for the given component.
-
getScratchMap
public Map getScratchMap(WComponent component)
Reserved for internal framework use. Retrieves a scratch area with phse scope, where data can be temporarily stored. WComponents must not rely on data being available in the scratch area after each phase.- Specified by:
getScratchMap
in interfaceUIContext
- Parameters:
component
- the component to retrieve the scratch map for.- Returns:
- the scratch map with phase scope for the given component.
-
getUI
public WComponent getUI()
-
invokeLater
public void invokeLater(Runnable runnable)
Adds a runnable to the list of runnables to be invoked later. The runnable will be invoked against this UIContext.- Specified by:
invokeLater
in interfaceUIContext
- Parameters:
runnable
- the runnable to add
-
invokeLater
public void invokeLater(UIContext uic, Runnable runnable)
Adds a runnable to the list of runnables to be invoked later against the given UIContext.- Specified by:
invokeLater
in interfaceUIContext
- Parameters:
uic
- the context to run the runnable in.runnable
- the runnable to add
-
isDummyEnvironment
public boolean isDummyEnvironment()
- Specified by:
isDummyEnvironment
in interfaceUIContext
- Returns:
- true if the current environment is a 'dummy' environment.
-
isFocusRequired
public boolean isFocusRequired()
Indicates whether a component needs to be given focus.- Specified by:
isFocusRequired
in interfaceUIContext
- Returns:
- true if focus needs to be set.
- See Also:
UIContext.setFocussed(WComponent, UIContext)
-
removeFwkAttribute
public void removeFwkAttribute(String name)
Reserved for internal framework use. Removes a framework attribute.- Specified by:
removeFwkAttribute
in interfaceUIContext
- Parameters:
name
- the attribute name.
-
removeModel
public void removeModel(WebComponent component)
Removes the extrinsic state information for the given component. Note that this is not recursive for the children.- Specified by:
removeModel
in interfaceUIContext
- Parameters:
component
- the component to remove the model for.
-
setEnvironment
public void setEnvironment(Environment environment)
Explicitly sets the environment.- Specified by:
setEnvironment
in interfaceUIContext
- Parameters:
environment
- the environment to set.
-
setFocusRequired
public void setFocusRequired(boolean b)
Sets whether a component needs to be given focus.- Specified by:
setFocusRequired
in interfaceUIContext
- Parameters:
b
- true if focus is required, false otherwise.- See Also:
UIContext.setFocussed(WComponent, UIContext)
-
setFocussed
public void setFocussed(WComponent component, UIContext uic)
Sets the component in this UIC which is to be the focus of the client browser cursor. The id of the component is used to find the focussed element in the rendered html. Since id could be different in different contexts the context of the component is also needed.- Specified by:
setFocussed
in interfaceUIContext
- Parameters:
component
- - the component that sould be the cursor focus in the rendered UI.uic
- - the context that the component exists in.
-
setFocussed
public void setFocussed(WComponent component)
Sets the component in this UIC which is to be the focus of the client browser cursor. The id of the component is used to find the focussed element in the rendered html.- Specified by:
setFocussed
in interfaceUIContext
- Parameters:
component
- the component that sould be the cursor focus in the rendered UI.
-
setFwkAttribute
public void setFwkAttribute(String name, Object value)
Reserved for internal framework use. Sets a framework attribute.- Specified by:
setFwkAttribute
in interfaceUIContext
- Parameters:
name
- the attribute name.value
- the attribute value.
-
setModel
public void setModel(WebComponent component, WebModel model)
Stores the extrinsic state information for the given component.
-
setUI
public void setUI(WComponent ui)
For use by internal framework code only. Sets the top level web component for this context.
-
getLocale
public Locale getLocale()
Retrieves the locale for this context.
-
setLocale
public void setLocale(Locale locale)
Sets the locale for this context.
-
getBacking
public UIContext getBacking()
- Returns:
- the backing context.
-
getRequestScratchMap
public Map<Object,Object> getRequestScratchMap(WComponent component)
Reserved for internal framework use. Get scratch map with request scope.- Specified by:
getRequestScratchMap
in interfaceUIContext
- Parameters:
component
- the component to retrieve the scratch map for.- Returns:
- the scratch map with request scope
-
clearRequestScratchMap
public void clearRequestScratchMap(WComponent component)
Reserved for internal framework use. Clears the scratch map with request scope.- Specified by:
clearRequestScratchMap
in interfaceUIContext
- Parameters:
component
- the component to clear the scratch map for.
-
clearRequestScratchMap
public void clearRequestScratchMap()
Reserved for internal framework use. Clears the scratch map with request scope.- Specified by:
clearRequestScratchMap
in interfaceUIContext
-
getPrimaryUIContext
@Deprecated public static UIContext getPrimaryUIContext(UIContext uic)
Deprecated.A utility function to iterate to the primary (top most) context and return it.- Parameters:
uic
- the UIContext to retrieve the primary context for.- Returns:
- the primary context for the given context.
-
-