|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
An environment for provider execution. More formally,
this class provides information pertaining to the container that
a provider object executes within. Such information may be specific to
the user, to the web container, or be global (shared between multiple
users). This interface does not define what information falls into
each of these categories; this is left up to the implementation. For
example, it is up to the implementation whether a user's locale
(see getLocaleString()
and getLocale()
) is specific to the user
or is a global for all users.
At runtime, a single provider context object is shared between
all channels in the system. Methods in this interface that target
a specific channel require the channel name to be passed in as
a parameter to the method (see get*Property()
).
Any container channel that wishes to make a provider context available to
its contained leaf channels must do so using an agreed-upon contract between
the container and the leaf channels. Any channels that
extends ProviderAdapter
falls
into this category. See the ProviderAdapter
Javadocs for details.
A provider context forms the layer between the services used by the
provider and the provider code. A provider context isolates provider code
from specific service interfaces and implementations.
All methods in this interface may throw errors. Errors are thrown when
a serious problem arises such that a reasonable application either should
not try, or there is no clear way to resolve. The actual object thrown
will be a subclass of Error
. This error may be caught,
if it can be handled reasonably in the application.
Applications that wish to try and
resolve such errors may catch Error
.
The get*Property()
and set*Property()
methods
deserve special mention. It is considered a serious error when
an application attempts to get or set a property that does not exist.
Again, an error is thrown from these methods if the property does not exist.
The set of properties that an application uses is a
contract between the persistent store providing the properties and the
application. To avoid application errors,
the exists*Property()
methods can be used to check for the
existence of a property. Additionally, the get*Property()
method versions that accept a default value may be used.
There is a 1-1 mapping between a session and a ProviderContext object.
Typically, there is a unique session for every client accessing the Desktop.
However, there are exceptions to this. When accessed in authless mode,
multiple clients access the same ProviderContext object and therefore
the same session.
A subset of methods in
this interface access session functionality.
These include getSessionProperty(), setSessionProperty(),
getSessionID(),
and getUserID()
.
The getSessionProperty()
and setSessionProperty()
methods get and set properties per session,
or per ProviderContext object.
A session property is shared between all clients using the session.
In the case of authless, a session property is shared for all
authless clients.
In some cases it is desirable to set properties such that there is a
1-1 mapping between client and property. An example of this is a
selected tab name. In the case of authless, it would not do to
have the selected tab name shared between all authless clients
because this would cause all authless clients to have the same
selected tab. To set / get properties per accessing client, use the
setClientProperty()
and getClientProperty()
methods.
ProviderContext
is a generic interface, the documentation here describes
it in this light. There are implementation classes as well.
To make use of this interface, it is necessary to expose aspects of the
implementation.
While the implementation classes are private,
their semantics are documented.
Please see the iPS product documentation for details.
ProviderAdapter
,
ContainerProviderContext
Method Summary | |
void |
allContentChanged()
Flags content for all channels as changed. |
void |
contentChanged(java.lang.String channelName)
Flags channel content as changed. |
void |
debugError(java.lang.Object o)
Logs a message if the debugging level is "error". |
void |
debugError(java.lang.Object o,
java.lang.Throwable t)
Logs a message and stack trace, if the debugging level is "error". |
void |
debugMessage(java.lang.Object o)
logs a message if the debugging level is "message" or higher. |
void |
debugMessage(java.lang.Object o,
java.lang.Throwable t)
Logs a message and stack trace if the debugging level is "message" or higher. |
void |
debugWarning(java.lang.Object o)
Logs a message if the debugging level is "warning" or higher. |
void |
debugWarning(java.lang.Object o,
java.lang.Throwable t)
Logs a message and stack trace if the debugging level is "warning" or higher. |
java.lang.String |
decodeURLParameter(java.lang.String dec)
Decodes the URL encoded Unicode string This method is used for decoding urlencoded multi-byte characters
that were passed as arguments in a URL |
java.lang.String |
encodeURL(java.lang.String url)
Encodes a URL. |
java.lang.String |
encodeURLParameter(java.lang.String enc)
URL encodes a unicode string This method is used for encoding multi-byte characters to be passed as arguments in a URL. |
java.lang.String |
escape(java.lang.String unescaped)
Escapes a String This method escapes the string using an encoder class that encodes a specific type of markup. |
boolean |
existsBooleanProperty(java.lang.String channel,
java.lang.String name)
Test for the existence of a boolean property. |
boolean |
existsBooleanProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Test for the existence of the filtered boolean property. |
boolean |
existsCollectionProperty(java.lang.String channel,
java.lang.String name)
Test for the existence of a collection property. |
boolean |
existsCollectionProperty(java.lang.String channel,
java.lang.String name,
boolean localized)
Test for the existence of a collection property. |
boolean |
existsCollectionProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Test for the existence of the filtered collection property. |
boolean |
existsIntegerProperty(java.lang.String channel,
java.lang.String name)
Test for the existence of an integer property. |
boolean |
existsIntegerProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Test for the existence of the filtered integer property. |
boolean |
existsStringProperty(java.lang.String channel,
java.lang.String name)
Test for the existence of a string property. |
boolean |
existsStringProperty(java.lang.String channel,
java.lang.String name,
boolean localized)
Test for the existence of a string property. |
boolean |
existsStringProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Test for the existence of a filtered string property. |
java.lang.String |
getAuthenticationType()
Get the authentication type. |
boolean |
getBooleanProperty(java.lang.String channel,
java.lang.String name)
Get a boolean property property. |
boolean |
getBooleanProperty(java.lang.String channel,
java.lang.String name,
boolean def)
Get a boolean property property. |
boolean |
getBooleanProperty(java.lang.String channel,
java.lang.String name,
boolean def,
java.util.List pflist)
Get the filtered boolean property property. |
boolean |
getBooleanProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Get the filtered boolean property property. |
java.lang.String |
getCharset()
Get the character set. |
java.lang.String |
getClassName(java.lang.String channel)
Get the class name for the provider class that this object will be providing an environment for. |
java.util.List |
getClientAndLocalePropertiesFilters()
Get the client and locale in the form of PropertiesFilter 's. |
java.lang.String |
getClientPath()
Get the client path. |
java.util.List |
getClientPropertiesFilters()
Get the client PropertiesFilter 's. |
java.util.List |
getClientPropertiesFilters(java.lang.String clientType)
Get the client PropertiesFilter 's for a given clientType. |
java.lang.String |
getClientProperty(java.lang.String name)
Get a client property. |
java.lang.String |
getClientType()
Get the client type. |
java.util.Set |
getClientTypeProperties(java.lang.String clientType,
java.lang.String key)
Get a set of client type properties for the given client type. |
java.lang.String |
getClientTypeProperty(java.lang.String key)
Get a client type property for the user's client type. |
java.lang.String |
getClientTypeProperty(java.lang.String clientType,
java.lang.String key)
Get a client type property for the given client type. |
java.util.Map |
getCollectionProperty(java.lang.String channel,
java.lang.String name)
Get a collection property. |
java.util.Map |
getCollectionProperty(java.lang.String channel,
java.lang.String name,
boolean localized)
Get the localized version of a collection property. |
java.util.Map |
getCollectionProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Get the filtered Collection property. |
java.util.Map |
getCollectionProperty(java.lang.String channel,
java.lang.String name,
java.util.Map def)
Get a collection property. |
java.util.Map |
getCollectionProperty(java.lang.String channel,
java.lang.String name,
java.util.Map def,
boolean localized)
Get the localized version of a collection property. |
java.util.Map |
getCollectionProperty(java.lang.String channel,
java.lang.String name,
java.util.Map def,
java.util.List pflist)
Get the filtered Collection property. |
java.lang.String |
getConfigProperty(java.lang.String key)
Get the named configuration property. |
java.lang.String |
getContentType()
Get the content type. |
java.lang.String |
getDefaultChannelName()
Get the default channel name. |
java.lang.String |
getDefaultClientType()
Get the default client type. |
java.lang.String |
getDesktopType()
Get the Desktop type. |
java.lang.String |
getDesktopURL(javax.servlet.http.HttpServletRequest req)
Get the Desktop URL. |
java.lang.String |
getDesktopURL(javax.servlet.http.HttpServletRequest req,
java.util.Map query,
java.util.Map pathInfo)
Get the Desktop URL. |
java.lang.String |
getDesktopURL(javax.servlet.http.HttpServletRequest req,
java.util.Map query,
java.util.Map pathInfo,
boolean escape)
Get the Desktop URL. |
java.lang.String |
getDesktopURL(javax.servlet.http.HttpServletRequest req,
java.lang.String query,
boolean escape)
Get the Desktop URL. |
int |
getIntegerProperty(java.lang.String channel,
java.lang.String name)
Get an integer property. |
int |
getIntegerProperty(java.lang.String channel,
java.lang.String name,
int def)
Get an integer property. |
int |
getIntegerProperty(java.lang.String channel,
java.lang.String name,
int def,
java.util.List pflist)
Get an integer property. |
int |
getIntegerProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Get the filtered integer property. |
java.util.Locale |
getLocale()
Get the locale. |
java.util.List |
getLocalePropertiesFilters()
Get the locale in the form of PropertiesFilter 's. |
java.lang.String |
getLocaleString()
Get the string form of the locale. |
java.lang.String |
getLoginURL()
Get the login URL. |
java.lang.String |
getLogoutURL()
Get the logout URL. |
java.util.Iterator |
getNames(java.lang.String channel)
Get property names for the channel. |
java.lang.String |
getParentContainerName(java.lang.String channel)
Get the display container name for the named channel. |
java.lang.Object |
getProperty(java.lang.String channel,
java.lang.String name)
Get a property. |
java.lang.Object |
getProperty(java.lang.String channel,
java.lang.String name,
java.lang.Object def)
Get a property. |
java.lang.String |
getProviderName(java.lang.String channel)
Get the name of the provider that backs the channel that this object provides an environment for. |
int |
getProviderVersion(java.lang.String channel)
Get the version of the provider schema for the named channel. |
java.lang.StringBuffer |
getRequestServer(javax.servlet.http.HttpServletRequest req)
Get the request server. |
java.util.Set |
getRoles()
Get the roles the user is in. |
javax.servlet.ServletConfig |
getServletConfig()
Deprecated. A specific front end servlet cannot be assumed. Therefore, programmers should not access a ServletConfig object since it may make their Providers non-portable to other environments. Use getServletContext() instead. |
javax.servlet.ServletContext |
getServletContext()
Get the Servlet Context. |
java.lang.String |
getSessionID()
Get the unique session identifier. |
java.lang.Object |
getSessionProperty(java.lang.String name)
Get a session property. |
java.lang.String |
getStaticContentPath()
Get the URI prefix to web server static content. |
java.lang.String |
getStringAttribute(java.lang.String name)
Get a string attribute. |
java.lang.String |
getStringProperty(java.lang.String channel,
java.lang.String name)
Get a String property. |
java.lang.String |
getStringProperty(java.lang.String channel,
java.lang.String name,
boolean localized)
Get the localized version of a String property. |
java.lang.String |
getStringProperty(java.lang.String channel,
java.lang.String name,
java.util.List pflist)
Get the filtered String property. |
java.lang.String |
getStringProperty(java.lang.String channel,
java.lang.String name,
java.lang.String def)
Get a String property. |
java.lang.String |
getStringProperty(java.lang.String channel,
java.lang.String name,
java.lang.String def,
boolean localized)
Get the localized version of a String property. |
java.lang.String |
getStringProperty(java.lang.String channel,
java.lang.String name,
java.lang.String def,
java.util.List pflist)
Get the filtered String property. |
java.lang.StringBuffer |
getTemplate(java.lang.String name,
java.lang.String file)
Get a desktop template. |
java.lang.StringBuffer |
getTemplate(java.lang.String name,
java.lang.String file,
java.util.Hashtable table)
Get and tag swaps a desktop template. |
java.lang.StringBuffer |
getTemplate(java.lang.String desktopType,
java.lang.String locale,
java.lang.String name,
java.lang.String clientType,
java.lang.String file,
java.util.Hashtable table,
java.lang.String baseDir)
Get and tag swaps a desktop template. |
java.lang.StringBuffer |
getTemplate(java.lang.String desktopType,
java.lang.String locale,
java.lang.String name,
java.lang.String clientType,
java.lang.String file,
java.lang.String baseDir)
Get a desktop template. |
java.io.File |
getTemplateMostSpecificPath(java.lang.String name,
java.lang.String file)
Get the most specific template path for the given channel name and the given template name. |
java.io.File |
getTemplateMostSpecificPath(java.lang.String desktopType,
java.lang.String locale,
java.lang.String name,
java.lang.String clientType,
java.lang.String file,
java.lang.String baseDir)
Get the most specific template path for the given channel name and the given template name. |
java.io.File |
getTemplatePath(java.lang.String name,
java.lang.String file)
Get the template path for the given channel name and the given template name. |
java.io.File |
getTemplatePath(java.lang.String desktopType,
java.lang.String locale,
java.lang.String name,
java.lang.String clientType,
java.lang.String file,
java.lang.String baseDir)
Get the template path for the given channel name and the given template name. |
java.lang.String |
getTopChannelName(javax.servlet.http.HttpServletRequest req)
Get the top channel name. |
java.lang.String |
getUserID()
Get the user identifier. |
void |
init(javax.servlet.http.HttpServletRequest req)
Initialize this provider context. |
boolean |
isAuthless(javax.servlet.http.HttpServletRequest req)
Get if the current Desktop session is non-authenticated (authless). |
boolean |
isDebugEnabled()
Get if the debug is enabled |
boolean |
isDebugErrorEnabled()
Get if the debug is set to error |
boolean |
isDebugMessageEnabled()
Get if the debug level is set to message or higher. |
boolean |
isDebugWarningEnabled()
Get if the debug level is set to warning or higher. |
void |
refresh()
Causes Provider Context to throw away any cached data. |
void |
setBooleanProperty(java.lang.String channel,
java.lang.String name,
boolean value)
Sets a boolean property. |
void |
setBooleanProperty(java.lang.String channel,
java.lang.String name,
boolean value,
java.util.List pflist)
Sets a boolean property according to the given filter criteria. |
void |
setClientProperty(java.lang.String name,
java.lang.String value)
Set a client property. |
void |
setCollectionProperty(java.lang.String channel,
java.lang.String name,
java.util.List value)
Sets a collection property. |
void |
setCollectionProperty(java.lang.String channel,
java.lang.String key,
java.util.List val,
java.util.List pflist)
Sets a collection property according to the given filter criteria. |
void |
setCollectionProperty(java.lang.String channel,
java.lang.String key,
java.util.Map val)
Sets a collection property. |
void |
setCollectionProperty(java.lang.String channel,
java.lang.String key,
java.util.Map val,
java.util.List pflist)
Sets a collection property according to the given filter criteria. |
void |
setIntegerProperty(java.lang.String channel,
java.lang.String name,
int value)
Sets an integer property. |
void |
setIntegerProperty(java.lang.String channel,
java.lang.String name,
int value,
java.util.List pflist)
Sets an integer property according to the given filter criteria. |
void |
setProperty(java.lang.String channel,
java.lang.String key,
java.lang.Object val)
TBD |
void |
setSessionProperty(java.lang.String name,
java.lang.Object val)
Set a session property. |
void |
setStringAttribute(java.lang.String name,
java.lang.String val)
Sets a string attribute. |
void |
setStringProperty(java.lang.String channel,
java.lang.String key,
java.lang.String val)
Sets a string property. |
void |
setStringProperty(java.lang.String channel,
java.lang.String key,
java.lang.String val,
java.util.List pflist)
Sets a string property according to the given filter criteria. |
Method Detail |
public void init(javax.servlet.http.HttpServletRequest req)
req
- Request object containing service specific data.public void refresh()
public void contentChanged(java.lang.String channelName)
public void allContentChanged()
public java.lang.String getDesktopURL(javax.servlet.http.HttpServletRequest req)
http://SERVER:PORT/ps/desktop
.
The request object parameter is included to facilitate implementations.
It may be used to build the Desktop URL by supplying the
server, port, and protocol of the request. It is not required
that the request object be utilizied to generate the Desktop URL.
req
- Request object containing the protocol, server, port, etc.
information required to build the Desktop URL. If the implementation
does not use the request object, this parameter may be null.
public java.lang.String getDesktopURL(javax.servlet.http.HttpServletRequest req, java.util.Map query, java.util.Map pathInfo)
http://SERVER:PORT/ps/desktop/pathinfo?query
.
The request object parameter is included to facilitate implementations.
It may be used to build the Desktop URL by supplying the
server, port, and protocol of the request. It is not required
that the request object be utilizied to generate the Desktop URL.
The pathInfo Map passed in as an argument will be encoded and appended
as a pathInfo to the desktopURL. The key/value pairs in the pathInfo Map
can be accessed by calling req.getParameter()
.
path info parameters are overriden by query string params, which are
overriden by post parameters.
query Map passed in as an argument will be appended as query string to the
desktopURL.
This method is equivalent to calling getDesktopURL()
if
pathInfo and query are null.
req
- Request object containing the protocol, server, port, etc.
information required to build the Desktop URL. If the implementation
does not use the request object, this parameter may be null.pathInfo
- Map.query
- Map. queryString key/value pairs to be appended to URL.
getDesktopURL(HttpServletRequest req)
public java.lang.String getDesktopURL(javax.servlet.http.HttpServletRequest req, java.util.Map query, java.util.Map pathInfo, boolean escape)
http://SERVER:PORT/ps/desktop/pathinfo?query
.
This method internally calls escape
to escape the desktop
url using a client specific encoder if escape flag is true.
This method is equivalent to calling getDesktopURL(req, query, pathInfo)
if escape flag is false.
req
- Request object containing the protocol, server, port, etc.
information required to build the Desktop URL. If the implementation
does not use the request object, this parameter may be null.pathInfo
- Map.query
- Map. queryString key/value pairs to be appended to URL.escape
- Boolean. flag specifying whether to escape the url string
specific to the client using a client specific encoder.
getDesktopURL(HttpServletRequest req, Map query, Map pathInfo)
,
escape(String unescaped)
public java.lang.String getDesktopURL(javax.servlet.http.HttpServletRequest req, java.lang.String query, boolean escape)
http://SERVER:PORT/ps/desktop?queryString
.
query String passed in as an argument will be appended as query string to the
desktopURL.
This method is equivalent to calling getDesktopURL()
if
query is null and escape flag false.
req
- Request object containing the protocol, server, port, etc.
information required to build the Desktop URL. If the implementation
does not use the request object, this parameter may be null.query
- String. queryString to be appended to URL.escape
- Boolean. flag specifying whether to escape the url string
specific to the client using a client specific encoder.
getDesktopURL(HttpServletRequest req)
,
escape(String unescaped)
public java.lang.String getLocaleString()
public java.util.Locale getLocale()
Locale
object representation of the locale.Locale
public java.lang.String getDesktopType()
public java.lang.String getLogoutURL()
public java.lang.String getLoginURL()
public java.lang.String getStringAttribute(java.lang.String name)
get*Property()
methods.
Whether
a particular value is considered a property or an attribute depends
on the underlying implementation of ProviderContext
.
name
- Attribute name.
public void setStringAttribute(java.lang.String name, java.lang.String val)
set*Property()
methods.
Whether
a particular value is considered a property or an attribute depends
on the underlying implementation of ProviderContext
.
name
- Attribute name.public java.lang.String encodeURL(java.lang.String url)
url
- The URL to be encoded.public java.lang.StringBuffer getRequestServer(javax.servlet.http.HttpServletRequest req)
HttpUtils.getRequestURL()
because the version of
that method does not use the
Host HTTP header field to reconstruct the URL.
The difference in this
version is that it grabs the servername:port
from the Host header if it is
there.
req
- HTTP request object to grab the server information from.
HttpUtils.getRequestURL(HttpServletRequest)
public java.lang.String getClientTypeProperty(java.lang.String key)
key
- Property key.
getClientType()
public java.lang.String getClientTypeProperty(java.lang.String clientType, java.lang.String key)
clientType
- Client type to get the property from.key
- Property key.
public java.util.Set getClientTypeProperties(java.lang.String clientType, java.lang.String key)
clientType
- Client type to get the property keys from.key
- Property key.
public java.lang.String getDefaultClientType()
public java.lang.String getClientType()
public java.lang.String getCharset()
public java.lang.String getClientPath()
public java.lang.String getContentType()
String
valuepublic java.lang.String escape(java.lang.String unescaped) throws ProviderContextException
String unencoded = "";
String encoded = escape(unencoded);
EncoderClassNames.ENCODER_DEFAULT
is assumed.
ProviderContextException
public java.lang.Object getSessionProperty(java.lang.String name)
name
- Property name.
public void setSessionProperty(java.lang.String name, java.lang.Object val)
name
- The property name.public java.lang.String getSessionID()
public boolean isAuthless(javax.servlet.http.HttpServletRequest req)
req
- Request object .
true
if the current Desktop session is an authless
session otherwise false
.public java.lang.String getAuthenticationType()
String
, the authentication type.public java.lang.String getUserID()
public java.lang.String getClientProperty(java.lang.String name)
name
- a String
, the property name.
String
, the property value.public void setClientProperty(java.lang.String name, java.lang.String value)
name
- a String
, the property name.value
- String
, the property value.public boolean isDebugEnabled()
true
if the debugging is on,
otherwise false
.public boolean isDebugErrorEnabled()
true
if the debugging level is set to error,
otherwise false
.public boolean isDebugWarningEnabled()
true
if the debugging level is set to warning
or higher, otherwise false
.public boolean isDebugMessageEnabled()
true
if the debugging level is set to message
or higher, otherwise false
.public void debugMessage(java.lang.Object o)
o
- Object to debug (o.toString() is logged).public void debugWarning(java.lang.Object o)
o
- Object to debug (o.toString() is logged).public void debugError(java.lang.Object o)
o
- Object to debug (o.toString() is logged).public void debugMessage(java.lang.Object o, java.lang.Throwable t)
o
- Object to debug (o.toString() is logged).t
- Throwable object to log a stack trace of.public void debugWarning(java.lang.Object o, java.lang.Throwable t)
o
- Object to debug (o.toString() is logged).t
- Throwable object to log a stack trace of.public void debugError(java.lang.Object o, java.lang.Throwable t)
o
- Object to debug (o.toString() is logged).t
- Throwable object to print a stack trace of.public java.lang.StringBuffer getTemplate(java.lang.String name, java.lang.String file) throws ProviderContextException
name
- Channel namefile
- Template name to return.
ProviderContextException
- if an error occurs in getting the
desktop template.public java.lang.StringBuffer getTemplate(java.lang.String desktopType, java.lang.String locale, java.lang.String name, java.lang.String clientType, java.lang.String file, java.lang.String baseDir) throws ProviderContextException
desktopType
- Desktop type.locale
- Locale.name
- Channel name.file
- Template name to return.baseDir
- the base directory from which the lookup mechanism
begins its lookup.
ProviderContextException
- if an error occurs in getting the
desktop template.public java.lang.StringBuffer getTemplate(java.lang.String name, java.lang.String file, java.util.Hashtable table) throws ProviderContextException
name
- Channel namefile
- Template name to returntable
- Tag table to use for tag swapping.
ProviderContextException
- if an error occurs in getting or
tag swapping the desktop template.public java.lang.StringBuffer getTemplate(java.lang.String desktopType, java.lang.String locale, java.lang.String name, java.lang.String clientType, java.lang.String file, java.util.Hashtable table, java.lang.String baseDir) throws ProviderContextException
desktopType
- Desktop type.locale
- Locale.name
- Channel name.file
- Template name to return.table
- Tag table to use for tag swapping.baseDir
- the base directory from which the lookup mechanism
begins its lookup.
ProviderContextException
- if an error occurs in getting or
tag swapping the desktop template.public java.io.File getTemplatePath(java.lang.String name, java.lang.String file) throws ProviderContextException
name
- Channel name.file
- The template name, or null
if the template
for the name does not exist.
ProviderContextException
- if an error occurs in getting the
template path.public java.io.File getTemplatePath(java.lang.String desktopType, java.lang.String locale, java.lang.String name, java.lang.String clientType, java.lang.String file, java.lang.String baseDir) throws ProviderContextException
desktopType
- Desktop type.locale
- Locale.name
- Channel name.file
- The template name.baseDir
- the base directory from which the lookup mechanism
begins its lookup.
ProviderContextException
- if an error occurs in getting the
template path.public java.io.File getTemplateMostSpecificPath(java.lang.String name, java.lang.String file) throws ProviderContextException
name
- Channel name.file
- The template name, or null
if the template
for the name does not exist.
ProviderContextException
- if an error occurs in getting the
most specific template path.public java.io.File getTemplateMostSpecificPath(java.lang.String desktopType, java.lang.String locale, java.lang.String name, java.lang.String clientType, java.lang.String file, java.lang.String baseDir) throws ProviderContextException
desktopType
- Desktop type.locale
- Locale.name
- Channel name.file
- The template name.baseDir
- the base directory from which the lookup mechanism
begins its lookup.
ProviderContextException
- if an error occurs in getting the
most specific template path.public java.lang.String getClassName(java.lang.String channel) throws ProviderContextException
channel
- Channel name.
ProviderContextException
- if an error occurs in getting the
class name.public java.lang.String getProviderName(java.lang.String channel) throws ProviderContextException
getProviderClassName()
).
channel
- Channel name.
ProviderContextException
- if an error occurs in getting the
provider name.public int getProviderVersion(java.lang.String channel) throws ProviderContextException
ProviderContextException
existsStringProperty(String, String)
,
existsStringProperty(String, String, List)
,
existsStringProperty(String, String, boolean)
,
existsBooleanProperty(String, String)
,
existsBooleanProperty(String, String, List)
,
existsIntegerProperty(String, String)
,
existsIntegerProperty(String, String, List)
,
existsCollectionProperty(String, String)
,
existsCollectionProperty(String, String, List)
,
existsCollectionProperty(String, String, boolean)
public java.util.Iterator getNames(java.lang.String channel) throws ProviderContextException
channel
- Channel name.
Iterator
over String
objects.
ProviderContextException
- if an error occurs in getting the
property names.public java.lang.Object getProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
Object
, of type String
, Integer
,
Boolean
, or Map
.
channel
- Channel name.name
- Property name.
ProviderContextException
- if an error occurs in getting the
property.public void setProperty(java.lang.String channel, java.lang.String key, java.lang.Object val) throws ProviderContextException
ProviderContextException
public java.lang.Object getProperty(java.lang.String channel, java.lang.String name, java.lang.Object def) throws ProviderContextException
Object
, of type String
, Integer
,
Boolean
, or Map
.
If the property does not exist, then the default value is
returned.
channel
- Channel name.name
- Property name.def
- Default value.
ProviderContextException
- if an error occurs in setting the
property.public java.lang.String getStringProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- Property name.
ProviderContextException
- if an error occurs in getting the
String property.public java.lang.String getStringProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If there is no property that exactly matches the filter criteria,
the best partial match is returned. When there is not even a
partial match, an unfiltered property is returned.
channel
- Channel name.name
- Property name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting the
the filtered String property.PropertiesFilter
public java.lang.String getStringProperty(java.lang.String channel, java.lang.String name, java.lang.String def) throws ProviderContextException
channel
- Channel name.name
- Property name.def
- Default value.
ProviderContextException
- if an error occurs in getting the
String property.public java.lang.String getStringProperty(java.lang.String channel, java.lang.String name, java.lang.String def, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If there is no property that exactly matches the filter criteria,
the best partial match is returned. When there is not even a
partial match, an unfiltered property is returned.
channel
- Channel name.name
- Property name.def
- Default value.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting the
the filtered String property.PropertiesFilter
public java.lang.String getStringProperty(java.lang.String channel, java.lang.String name, boolean localized) throws ProviderContextException
channel
- Channel name.name
- Property name.localized
- Search for a localized version?
ProviderContextException
- if an error occurs in getting the
localized version of the String property.public java.lang.String getStringProperty(java.lang.String channel, java.lang.String name, java.lang.String def, boolean localized) throws ProviderContextException
channel
- Channel name.name
- Property name.def
- Default value.localized
- Search for a localized version?
ProviderContextException
- if an error occurs in getting the
localized version of the String property.public void setStringProperty(java.lang.String channel, java.lang.String key, java.lang.String val) throws ProviderContextException
channel
- Channel name.
ProviderContextException
- if an error occurs in setting the
String property.public void setStringProperty(java.lang.String channel, java.lang.String key, java.lang.String val, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
the most specific, existing property gets set.
If only the default value existed, it sets the default value. If the default
and filtered properties existed, it sets the most specific existing filtered
property.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in setting the
String property.PropertiesFilter
public java.util.Map getCollectionProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
Maps
or List
. For List
, the returned Java Map
object
contains key-value pairs where the key equals the value. For example,
to treat the Map
object as a List, do the following:
Set list = map.keySet();
The Java Map
object returned from this method fronts
the persistent store for the property. Changes to this
object are immediately reflected in the
persistent store.
Because of this, it is not necessary to call
setCollectionProperty()
to persist changes made
to a property returned from this method. However, if you are
setting a new collection value, you must call
setCollectionProperty()
. For example, it is not
necessary to call setCollectionProperty()
in
the following example:
Map m = pc.getCollectionProperty("foo");
m.put("a", "1");
This is because the Map m is returned from
getCollectionProperty()
and is therefore
persistent. However, in the example below, you must call
setCollectionProperty()
:
Map m = new HashMap();
m.put("a", "1");
Map m is not persistent because it was not returned from
getCollectionProperty()
method. The following
line is required to persist the changes:
pc.setCollectionProperty("foo", m);
channel
- Channel name.name
- Property name.
Map
that maps
String
s to Java objects, either String
,
Integer
, Boolean
, or Map
.
ProviderContextException
- if an error occurs in getting the
Collection property.setCollectionProperty(String, String, Map)
,
setCollectionProperty(String, String, List)
public java.util.Map getCollectionProperty(java.lang.String channel, java.lang.String name, java.util.Map def) throws ProviderContextException
channel
- Channel name.name
- Property name.def
- Default value.
Map that maps
String
s to Java objects, either String
,
Integer
, Boolean
, or Map
.
- Throws:
ProviderContextException
- if an error occurs in getting
the Collection property.- See Also:
getCollectionProperty(String, String)
public java.util.Map getCollectionProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If there is no property that exactly matches the filter criteria,
a partial match is returned.
channel
- Channel name.name
- Property name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting the
the filtered String property.PropertiesFilter
public java.util.Map getCollectionProperty(java.lang.String channel, java.lang.String name, java.util.Map def, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If there is no property that exactly matches the filter criteria,
a partial match is returned.
channel
- Channel name.name
- Property name.def
- Default value.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting the
the filtered String property.PropertiesFilter
public java.util.Map getCollectionProperty(java.lang.String channel, java.lang.String name, boolean localized) throws ProviderContextException
channel
- Channel name.name
- Property name.localized
- Search for a localized version?
Map that maps
String
s to Java objects, either String
,
Integer
, Boolean
, or Map
.
- Throws:
ProviderContextException
- if an error occurs in getting
localized version of the Collection property.- See Also:
getCollectionProperty(String, String)
public java.util.Map getCollectionProperty(java.lang.String channel, java.lang.String name, java.util.Map def, boolean localized) throws ProviderContextException
channel
- Channel name.name
- Property name.def
- Default value.localized
- Search for a localized version?
Map that maps
String
s to Java objects, either String
,
Integer
, Boolean
, or Map
.
- Throws:
ProviderContextException
- if an error occurs in getting
the localized version of the Collection property.- See Also:
getCollectionProperty(String, String)
public void setCollectionProperty(java.lang.String channel, java.lang.String key, java.util.Map val) throws ProviderContextException
channel
- Channel name.key
- Property name.
ProviderContextException
- if an error occurs in setting
the Collection property.getCollectionProperty(String, String)
public void setCollectionProperty(java.lang.String channel, java.lang.String key, java.util.Map val, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
the most specific, existing property gets set.
If only the default value existed, it sets the default value. If the default
and filtered properties existed, it sets the most specific existing filtered
property.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.key
- Property name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in setting the
collection property.PropertiesFilter
public void setCollectionProperty(java.lang.String channel, java.lang.String name, java.util.List value) throws ProviderContextException
channel
- Channel name.name
- Property name.value
- Proeprty value.
ProviderContextException
- if an error occurs in setting
the Collection property.getCollectionProperty(String, String)
public void setCollectionProperty(java.lang.String channel, java.lang.String key, java.util.List val, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
the most specific, existing property gets set.
If only the default value existed, it sets the default value. If the default
and filtered properties existed, it sets the most specific existing filtered
property.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.key
- Property name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in setting the
collection property.PropertiesFilter
public boolean getBooleanProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- Property name.
ProviderContextException
- if an error occurs in getting
the boolean property.public boolean getBooleanProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If there is no property that exactly matches the filter criteria,
the best partial match is returned. When there is not even a
partial match, an unfiltered property is returned.
channel
- Channel name.name
- Property name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting
the boolean property.public boolean getBooleanProperty(java.lang.String channel, java.lang.String name, boolean def) throws ProviderContextException
channel
- Channel name.name
- Property name.def
- Default value.
ProviderContextException
- if an error occurs in getting
the boolean property.public boolean getBooleanProperty(java.lang.String channel, java.lang.String name, boolean def, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If there is no property that exactly matches the filter criteria,
the best partial match is returned. When there is not even a
partial match, an unfiltered property is returned.
channel
- Channel name.name
- Property name.def
- Default value.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting
the boolean property.public void setBooleanProperty(java.lang.String channel, java.lang.String name, boolean value) throws ProviderContextException
channel
- Channel name.name
- Property name.value
- Property value.
ProviderContextException
- if an error occurs in setting
the boolean property.public void setBooleanProperty(java.lang.String channel, java.lang.String name, boolean value, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
the most specific, existing property gets set.
If only the default value existed, it sets the default value. If the default
and filtered properties existed, it sets the most specific existing filtered
property.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- Property name.value
- Property value.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in setting
the boolean property.public int getIntegerProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- Property name.
ProviderContextException
- if an error occurs in getting
the integer property.public int getIntegerProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
a new property will be created.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- Property name.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting
the integer property.public int getIntegerProperty(java.lang.String channel, java.lang.String name, int def) throws ProviderContextException
channel
- Channel name.name
- Property name.def
- Default value.
ProviderContextException
- if an error occurs in getting
the integer property.public int getIntegerProperty(java.lang.String channel, java.lang.String name, int def, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
a new property will be created.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- Property name.def
- Default value.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in getting
the integer property.public void setIntegerProperty(java.lang.String channel, java.lang.String name, int value) throws ProviderContextException
channel
- Channel name.name
- Property name.value
- Property value.
ProviderContextException
- if an error occurs in setting
the integer property.public void setIntegerProperty(java.lang.String channel, java.lang.String name, int value, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
the most specific, existing property gets set.
If only the default value existed, it sets the default value. If the default
and filtered properties existed, it sets the most specific existing filtered
property.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- Property name.value
- Property value.pflist
- An ordered list of PropertiesFilter
objects
ProviderContextException
- if an error occurs in setting
the integer property.public boolean existsStringProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- a String
, the property name.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a String property.public boolean existsStringProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
a new property will be created.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- a String
, the property name.pflist
- An ordered list of PropertiesFilter
objects
existence of
localized properties.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a String property.public boolean existsStringProperty(java.lang.String channel, java.lang.String name, boolean localized) throws ProviderContextException
channel
- Channel name.name
- a String
, the property name.localized
- a boolean
, whether to check the
existence of
localized properties.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a String property.public boolean existsBooleanProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- a String
, the property name.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a boolean property.public boolean existsBooleanProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
a new property will be created.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- a String
, the property name.pflist
- An ordered list of PropertiesFilter
objects
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a boolean property.public boolean existsIntegerProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- a String
, the property name.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of an integer property.public boolean existsIntegerProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
a new property will be created.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- a String
, the property name.pflist
- An ordered list of PropertiesFilter
objects
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of an integer property.public boolean existsCollectionProperty(java.lang.String channel, java.lang.String name) throws ProviderContextException
channel
- Channel name.name
- a String
, the property name.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a Collection property.public boolean existsCollectionProperty(java.lang.String channel, java.lang.String name, java.util.List pflist) throws ProviderContextException
PropertiesFilter
objects. The order in that the PropertiesFilter
objects are listed
determines the order that the property is searched.
If the property that matches the filter criteria does not exist,
a new property will be created.
Note that the "exact" flag in the PropertiesFilter
s has no meaning
and will be ignored.
channel
- Channel name.name
- a String
, the property name.pflist
- An ordered list of PropertiesFilter
objects
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a Collection property.public boolean existsCollectionProperty(java.lang.String channel, java.lang.String name, boolean localized) throws ProviderContextException
channel
- Channel name.name
- a String
, the property name.localized
- a boolean
, whether to check the
existence of
localized properties.
boolean
, true
if the
property exists, otherwise false
.
ProviderContextException
- if an error occurs in testing
for the existence of a Collection property.public java.util.List getLocalePropertiesFilters() throws ProviderContextException
PropertiesFilter
's.
Each locale suffix is used to create PropertiesFilter
.
Note that by default, the PropertiesFilter
objects return
in the list are constructed with their "required" flag set to
false
. See the javadocs for PropertiesFilter
for more information on the semantics of the required flag. Use
getPropertiesFilter() method should you need to customize the
required flag.
PropertiesFilter
objects representing
the locale setting.
ProviderContextException
- if an error occurs in creating
PropertiesFilter objects.PropertiesFilter
,
PropertiesFilter.isRequired()
public java.util.List getClientAndLocalePropertiesFilters() throws ProviderContextException
PropertiesFilter
's.
Each client and locale suffix is used to create PropertiesFilter
.
Note that by default, the PropertiesFilter
objects return
in the list are constructed with their "required" flag set to
false
. See the javadocs for PropertiesFilter
for more information on the semantics of the required flag. Use
getPropertiesFilter() method should you need to customize the
required flag.
This method is a convenience for putting together a list of properties filters
for the current session's locale and client type. the property filter list
returned from this method can be used as input to the
PropertiesFilter
objects representing
the client and locale setting.
ProviderContextException
- if an error occurs in creating
PropertiesFilter objects.PropertiesFilter
,
PropertiesFilter.isRequired()
,
getClientPropertiesFilters()
,
getLocalePropertiesFilters()
public java.util.List getClientPropertiesFilters() throws ProviderContextException
PropertiesFilter
's.
The hierarchy of client PropertiesFilter
is returned.
Note that by default, the PropertiesFilter
objects return
in the list are constructed with their "required" flag set to
false
. See the javadocs for PropertiesFilter
for more information on the semantics of the required flag. Use
getPropertiesFilter() method should you need to customize the
required flag.
PropertiesFilter
objects representing
the client.
ProviderContextException
- if an error occurs in creating
PropertiesFilter objects.PropertiesFilter
,
PropertiesFilter.isRequired()
public java.util.List getClientPropertiesFilters(java.lang.String clientType)
PropertiesFilter
's for a given clientType.
The hierarchy of client PropertiesFilter
is returned.
Note that by default, the PropertiesFilter
objects return
in the list are constructed with their "required" flag set to
false
. See the javadocs for PropertiesFilter
for more information on the semantics of the required flag. Use
getPropertiesFilter() method should you need to customize the
required flag.
It is advisable to use getClientPropertiesFilters() if getting the
filters for the current clientType.
clientType
- client type.
PropertiesFilter
objects representing
the client.PropertiesFilter
,
PropertiesFilter.isRequired()
,
getClientPropertiesFilters()
public java.lang.String getStaticContentPath()
http://server:port/STATIC_URI/images/foo.gif
- Returns:
- URI prefix.
public javax.servlet.ServletConfig getServletConfig()
getServletContext()
public javax.servlet.ServletContext getServletContext()
public java.lang.String getDefaultChannelName()
getSessionProperty
if exists. If not
returns the defaultChannelName attribute
using getStringAtribute
String
, name of the channelgetSessionProperty(String)
,
getStringAttribute(String)
public java.lang.String getConfigProperty(java.lang.String key)
key
- a String
, the property name.
String
, the property value.public java.lang.String getParentContainerName(java.lang.String channel)
getContent()
in
Provider
class.
A channel only has a display container when it is being visually
displayed within a container channel. This method relies on
CPC.getContent() to set up the display container name.
Calling this method in a call stack that does not include CPC.getContent()
somewhere above the current stack frame will result in a return value of null.
For an example of where it makes sense to use this method, consider this:
container A calls CPC.getContent() to gather content for the channels
that is visually contains. CPC.getContent() calls channel X's getContent() method.
Channel X may now call PC.getParentContainerName().
For an exmaple of where it *does not* make sense to us this method, consider this:
channel X calls PC.getParentContainerName() from within it's getEdit() method.
When a channel is displaying it's edit page, it is not visually contained.
At this point, channel X has no display container as PC.getParentContainerName()
will return null.
channel
- Channel name for which the parent is requested.
String
, name of the parent container
or null if parent is not known.ContainerProviderContext.getContent()
public java.util.Set getRoles()
public java.lang.String getTopChannelName(javax.servlet.http.HttpServletRequest req)
req
- HttpServletRequest
String
, name of the channelpublic java.lang.String encodeURLParameter(java.lang.String enc)
UTF-8()
and then the
sequence is converted to urlencoded
format.
All URL parameter values that are passed to the desktop
and that may be localized (non-ascii) must be url encoded using
this method and should be decoded using decodeURLParameter
when getting it back from the request.
enc
- string to encode
String
, encoded stringdecodeURLParameter(java.lang.String)
public java.lang.String decodeURLParameter(java.lang.String dec)
urlencoded
multi-byte characters
that were passed as arguments in a URL
dec
- string to decode
String
, decoded stringencodeURLParameter(java.lang.String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |