wicket
Class Application

java.lang.Object
  extended by wicket.Application
Direct Known Subclasses:
PortletApplication, WebApplication

public abstract class Application
extends java.lang.Object

Base class for all Wicket applications. To create a Wicket application, you generally should not directly subclass this class. Instead, you will want to subclass some subclass of Application, like WebApplication, which is appropriate for the protocol and markup type you are working with.

Application has the following interesting features / attributes:

Author:
Jonathan Locke
See Also:
WebApplication

Field Summary
static java.lang.String CONFIGURATION
          Configuration constant for the 2 types
static java.lang.String CONTEXTPATH
          Configuration type constant for getting the context path out of the web.xml
static java.lang.String DEPLOYMENT
          Configuration type constant for deployment
static java.lang.String DEVELOPMENT
          Configuration type constant for development
 
Constructor Summary
Application()
          Constructor.
 
Method Summary
 void addComponentInstantiationListener(IComponentInstantiationListener listener)
          Adds a component instantiation listener.
 void configure(java.lang.String configurationType)
          Convenience method that sets application settings to good defaults for the given configuration type (either DEVELOPMENT or DEPLOYMENT).
 void configure(java.lang.String configurationType, IResourceFinder resourceFinder)
          Configures application settings to good defaults for the given configuration type (either DEVELOPMENT or DEPLOYMENT).
 void configure(java.lang.String configurationType, java.lang.String resourceFolder)
          Convenience method that sets application settings to good defaults for the given configuration type (either DEVELOPMENT or DEPLOYMENT).
protected  void destroy()
          Called when wicket servlet is destroyed.
static boolean exists()
          Checks if the Application threadlocal is set in this thread
static Application get()
          Get Application for current thread.
static Application get(java.lang.String applicationKey)
          Gets the Application based on the application key of that application.
 IAjaxSettings getAjaxSettings()
          Deprecated. use getDebugSettings() instead
abstract  java.lang.String getApplicationKey()
          Gets the unique key of this application within a given context (like a web application).
 IApplicationSettings getApplicationSettings()
           
 java.lang.String getConfigurationType()
          Gets the configuration mode that is currently set, either DEVELOPMENT or DEPLOYMENT.
 IDebugSettings getDebugSettings()
           
 IExceptionSettings getExceptionSettings()
           
 IFrameworkSettings getFrameworkSettings()
           
abstract  java.lang.Class getHomePage()
          Application subclasses must specify a home page class by implementing this abstract method.
 MarkupCache getMarkupCache()
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
 IMarkupSettings getMarkupSettings()
           
 java.io.Serializable getMetaData(MetaDataKey key)
          Gets metadata for this application using the given key.
 java.lang.String getName()
          Gets the name of this application.
 IPageSettings getPageSettings()
           
 IRequestCycleSettings getRequestCycleSettings()
           
 IResourceSettings getResourceSettings()
           
 ISecuritySettings getSecuritySettings()
           
protected abstract  ISessionFactory getSessionFactory()
          Gets the factory for creating session instances.
 ISessionSettings getSessionSettings()
           
 ISessionStore getSessionStore()
          Gets the facade object for working getting/ storing session instances.
 Settings getSettings()
          Deprecated. will be made private after 1.2
 SharedResources getSharedResources()
          Gets the shared resources.
protected  void init()
          Allows for initialization of the application by a subclass.
 void initializeComponents()
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
protected  void internalDestroy()
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
protected  void internalInit()
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
static boolean isAttached()
           
 void logEventTarget(IRequestTarget target)
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
 void logResponseTarget(IRequestTarget requestTarget)
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
protected abstract  ISessionStore newSessionStore()
          Creates a new session facade.
 void removeComponentInstantiationListener(IComponentInstantiationListener listener)
          Removes a component instantiation listener.
static void set(Application application)
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
 void setMetaData(MetaDataKey key, java.io.Serializable object)
          Sets the metadata for this application using the given key.
static void unset()
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIGURATION

public static final java.lang.String CONFIGURATION
Configuration constant for the 2 types

See Also:
Constant Field Values

CONTEXTPATH

public static final java.lang.String CONTEXTPATH
Configuration type constant for getting the context path out of the web.xml

See Also:
Constant Field Values

DEPLOYMENT

public static final java.lang.String DEPLOYMENT
Configuration type constant for deployment

See Also:
Constant Field Values

DEVELOPMENT

public static final java.lang.String DEVELOPMENT
Configuration type constant for development

See Also:
Constant Field Values
Constructor Detail

Application

public Application()
Constructor. Use init() for any configuration of your application instead of overriding the constructor.

Method Detail

exists

public static boolean exists()
Checks if the Application threadlocal is set in this thread

Returns:
true if get() can return the instance of application, false otherwise

get

public static Application get()
Get Application for current thread.

Returns:
The current thread's Application

get

public static Application get(java.lang.String applicationKey)
Gets the Application based on the application key of that application. THIS METHOD IS NOT MEANT INTENDED FOR FRAMEWORK CLIENTS.

Parameters:
applicationKey - The unique key of the application within a certain context (e.g. a web application)
Returns:
The application
Throws:
java.lang.IllegalArgumentException - When no application was found with the provided key

isAttached

public static boolean isAttached()
Returns:
True if the current thread is attached to an application.

set

public static void set(Application application)
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT.

Parameters:
application - The current application or null for this thread

unset

public static void unset()
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT.


addComponentInstantiationListener

public final void addComponentInstantiationListener(IComponentInstantiationListener listener)
Adds a component instantiation listener. This method should typicaly only be called during application startup; it is not thread safe.

Note: wicket does not guarantee the execution order of added listeners

Parameters:
listener - the listener to add

configure

public final void configure(java.lang.String configurationType)
Convenience method that sets application settings to good defaults for the given configuration type (either DEVELOPMENT or DEPLOYMENT).

Parameters:
configurationType - The configuration type (either DEVELOPMENT or DEPLOYMENT)
See Also:
configure(String, IResourceFinder)

configure

public final void configure(java.lang.String configurationType,
                            IResourceFinder resourceFinder)
Configures application settings to good defaults for the given configuration type (either DEVELOPMENT or DEPLOYMENT).

Parameters:
configurationType - The configuration type. Must currently be either DEVELOPMENT or DEPLOYMENT. Currently, if the configuration type is DEVELOPMENT, resources are polled for changes, component usage is checked, wicket tags are not stripped from ouput and a detailed exception page is used. If the type is DEPLOYMENT, component usage is not checked, wicket tags are stripped from output and a non-detailed exception page is used to display errors.
resourceFinder - Resource finder for looking up resources

configure

public final void configure(java.lang.String configurationType,
                            java.lang.String resourceFolder)
Convenience method that sets application settings to good defaults for the given configuration type (either DEVELOPMENT or DEPLOYMENT).

Parameters:
configurationType - The configuration type (either DEVELOPMENT or DEPLOYMENT)
resourceFolder - Folder for polling resources

getAjaxSettings

public final IAjaxSettings getAjaxSettings()
Deprecated. use getDebugSettings() instead

Returns:
Application's ajax related settings
Since:
1.2
See Also:
IAjaxSettings

getApplicationKey

public abstract java.lang.String getApplicationKey()
Gets the unique key of this application within a given context (like a web application). NOT INTENDED FOR FRAMEWORK CLIENTS.

Returns:
The unique key of this application

getApplicationSettings

public final IApplicationSettings getApplicationSettings()
Returns:
Application's application-wide settings
Since:
1.2
See Also:
IApplicationSettings

getConfigurationType

public java.lang.String getConfigurationType()
Gets the configuration mode that is currently set, either DEVELOPMENT or DEPLOYMENT.

Returns:
configuration
Since:
1.2.3

getDebugSettings

public final IDebugSettings getDebugSettings()
Returns:
Application's debug related settings
Since:
1.2
See Also:
IDebugSettings

getExceptionSettings

public final IExceptionSettings getExceptionSettings()
Returns:
Application's exception handling settings
Since:
1.2
See Also:
IExceptionSettings

getFrameworkSettings

public final IFrameworkSettings getFrameworkSettings()
Returns:
Wicket framework settings
Since:
1.2
See Also:
IFrameworkSettings

getHomePage

public abstract java.lang.Class getHomePage()
Application subclasses must specify a home page class by implementing this abstract method.

Returns:
Home page class for this application

getMarkupCache

public final MarkupCache getMarkupCache()
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT.

Returns:
The markup cache associated with the application

getMarkupSettings

public final IMarkupSettings getMarkupSettings()
Returns:
Application's markup related settings
Since:
1.2
See Also:
IMarkupSettings

getMetaData

public final java.io.Serializable getMetaData(MetaDataKey key)
Gets metadata for this application using the given key.

Parameters:
key - The key for the data
Returns:
The metadata
See Also:
MetaDataKey

getName

public final java.lang.String getName()
Gets the name of this application.

Returns:
The application name.

getPageSettings

public final IPageSettings getPageSettings()
Returns:
Application's page related settings
Since:
1.2
See Also:
IPageSettings

getRequestCycleSettings

public final IRequestCycleSettings getRequestCycleSettings()
Returns:
Application's request cycle related settings
Since:
1.2
See Also:
IDebugSettings

getResourceSettings

public final IResourceSettings getResourceSettings()
Returns:
Application's resources related settings
Since:
1.2
See Also:
IResourceSettings

getSecuritySettings

public final ISecuritySettings getSecuritySettings()
Returns:
Application's security related settings
Since:
1.2
See Also:
ISecuritySettings

getSessionSettings

public final ISessionSettings getSessionSettings()
Returns:
Application's session related settings
Since:
1.2
See Also:
ISessionSettings

getSessionStore

public final ISessionStore getSessionStore()
Gets the facade object for working getting/ storing session instances.

Returns:
The session facade

getSettings

public Settings getSettings()
Deprecated. will be made private after 1.2

This method is still here for backwards compatibility with 1.1 source code. The getXXXSettings() methods are now preferred. This method will be removed post 1.2 version.

Returns:
Application settings
See Also:
getApplicationSettings(), getDebugSettings(), getExceptionSettings(), getMarkupSettings(), getPageSettings(), getRequestCycleSettings(), getResourceSettings(), getSecuritySettings(), getSessionSettings()

getSharedResources

public final SharedResources getSharedResources()
Gets the shared resources.

Returns:
The SharedResources for this application.

initializeComponents

public final void initializeComponents()
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL. Initializes wicket components.


logEventTarget

public void logEventTarget(IRequestTarget target)
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL.

Parameters:
target -

logResponseTarget

public void logResponseTarget(IRequestTarget requestTarget)
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL.

Parameters:
requestTarget -

removeComponentInstantiationListener

public final void removeComponentInstantiationListener(IComponentInstantiationListener listener)
Removes a component instantiation listener. This method should typicaly only be called during application startup; it is not thread safe.

Parameters:
listener - the listener to remove

setMetaData

public final void setMetaData(MetaDataKey key,
                              java.io.Serializable object)
Sets the metadata for this application using the given key. If the metadata object is not of the correct type for the metadata key, an IllegalArgumentException will be thrown. For information on creating MetaDataKeys, see MetaDataKey.

Parameters:
key - The singleton key for the metadata
object - The metadata object
Throws:
java.lang.IllegalArgumentException
See Also:
MetaDataKey

destroy

protected void destroy()
Called when wicket servlet is destroyed. Overrides do not have to call super.


getSessionFactory

protected abstract ISessionFactory getSessionFactory()
Gets the factory for creating session instances.

Returns:
Factory for creating session instances

init

protected void init()
Allows for initialization of the application by a subclass. Use this method for any application setup instead of the constructor.


internalDestroy

protected void internalDestroy()
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL IT.


internalInit

protected void internalInit()
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT OVERRIDE OR CALL. Internal initialization.


newSessionStore

protected abstract ISessionStore newSessionStore()
Creates a new session facade. Is called once per application, and is typically not something clients reimplement.

Returns:
The session facade


Copyright © 2004-2007 Wicket developers. All Rights Reserved.