org.apache.turbine.services.ui
Class TurbineUIService

java.lang.Object
  extended byorg.apache.turbine.services.BaseInitable
      extended byorg.apache.turbine.services.BaseService
          extended byorg.apache.turbine.services.TurbineBaseService
              extended byorg.apache.turbine.services.ui.TurbineUIService
All Implemented Interfaces:
Initable, Service, UIService

public class TurbineUIService
extends TurbineBaseService
implements UIService

The UI service provides for shared access to User Interface (skin) files, as well as the ability for non-default skin files to inherit properties from a default skin. Use TurbineUI to access skin properties from your screen classes and action code. UITool is provided as a pull tool for accessing skin properties from your templates.

Version:
$Id$
Author:
Jason van Zyl, James Coltman, Henning P. Schmiedehausen, Scott Eade, Thomas Vandahl
See Also:
UIService, UITool

Field Summary
static java.lang.String SKIN_PROPERTY_DEFAULT
          Default skin name.
 
Fields inherited from class org.apache.turbine.services.BaseService
configuration, name, serviceBroker
 
Fields inherited from class org.apache.turbine.services.BaseInitable
initableBroker, isInitialized
 
Fields inherited from interface org.apache.turbine.services.ui.UIService
SERVICE_NAME
 
Constructor Summary
TurbineUIService()
           
 
Method Summary
 java.lang.String get(java.lang.String key)
          Retrieve a skin property from the default skin for the webapp.
 java.lang.String get(java.lang.String skinName, java.lang.String key)
          Retrieve a skin property from the named skin.
 java.lang.String getScript(java.lang.String skinName, java.lang.String filename)
          Retrieve the URL for a given script that is part of a skin.
 java.lang.String getScript(java.lang.String skinName, java.lang.String filename, ServerData serverData)
          Retrieve the URL for a given script that is part of a skin.
 java.lang.String[] getSkinNames()
          Provide access to the list of available skin names.
 java.lang.String getStylecss(java.lang.String skinName)
          Retrieve the URL for the style sheet that is part of a skin.
 java.lang.String getStylecss(java.lang.String skinName, ServerData serverData)
          Retrieve the URL for the style sheet that is part of a skin.
 java.lang.String getWebappSkinName()
          Get the name of the default skin name for the web application from the TurbineResources.properties file.
 java.lang.String image(java.lang.String skinName, java.lang.String imageId)
          Retrieve the URL for an image that is part of a skin.
 java.lang.String image(java.lang.String skinName, java.lang.String imageId, ServerData serverData)
          Retrieve the URL for an image that is part of a skin.
 void init()
          Initializes the service.
 void refresh()
          Refresh the service by clearing all skins.
 void refresh(java.lang.String skinName)
          Refresh a particular skin by clearing it.
 void shutdown()
          Returns to uninitialized state.
 
Methods inherited from class org.apache.turbine.services.TurbineBaseService
init, init, init
 
Methods inherited from class org.apache.turbine.services.BaseService
getConfiguration, getName, getProperties, getServiceBroker, setName, setServiceBroker
 
Methods inherited from class org.apache.turbine.services.BaseInitable
getInit, getInitableBroker, setInit, setInitableBroker
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.turbine.services.Service
getConfiguration, getName, getProperties, setName, setServiceBroker
 
Methods inherited from interface org.apache.turbine.services.Initable
getInit, init, setInitableBroker
 

Field Detail

SKIN_PROPERTY_DEFAULT

public static final java.lang.String SKIN_PROPERTY_DEFAULT
Default skin name. This name refers to a directory in the WEBAPP/resources/ui/skins directory. There is a file called skin.props which contains the name/value pairs to be made available via the skin.

See Also:
Constant Field Values
Constructor Detail

TurbineUIService

public TurbineUIService()
Method Detail

refresh

public void refresh()
Refresh the service by clearing all skins.

Specified by:
refresh in interface UIService

refresh

public void refresh(java.lang.String skinName)
Refresh a particular skin by clearing it.

Specified by:
refresh in interface UIService
Parameters:
skinName - the name of the skin to clear.

get

public java.lang.String get(java.lang.String skinName,
                            java.lang.String key)
Retrieve a skin property from the named skin. If the property is not defined in the named skin the value for the default skin will be provided. If the named skin does not exist then the skin configured for the webapp will be used. If the webapp skin does not exist the default skin will be used. If the default skin does not exist then null will be returned.

Specified by:
get in interface UIService
Parameters:
skinName - the name of the skin to retrieve the property from.
key - the key to retrieve from the skin.
Returns:
the value of the property for the named skin (defaulting to the default skin), the webapp skin, the default skin or null, depending on whether or not the property or skins exist.

get

public java.lang.String get(java.lang.String key)
Retrieve a skin property from the default skin for the webapp. If the property is not defined in the webapp skin the value for the default skin will be provided. If the webapp skin does not exist the default skin will be used. If the default skin does not exist then null will be returned.

Specified by:
get in interface UIService
Parameters:
key - the key to retrieve.
Returns:
the value of the property for the webapp skin (defaulting to the default skin), the default skin or null, depending on whether or not the property or skins exist.

getSkinNames

public java.lang.String[] getSkinNames()
Provide access to the list of available skin names.

Specified by:
getSkinNames in interface UIService
Returns:
the available skin names.

getWebappSkinName

public java.lang.String getWebappSkinName()
Get the name of the default skin name for the web application from the TurbineResources.properties file. If the property is not present the name of the default skin will be returned. Note that the web application skin name may be something other than default, in which case its properties will default to the skin with the name "default".

Specified by:
getWebappSkinName in interface UIService
Returns:
the name of the default skin for the web application.

image

public java.lang.String image(java.lang.String skinName,
                              java.lang.String imageId,
                              ServerData serverData)
Retrieve the URL for an image that is part of a skin. The images are stored in the WEBAPP/resources/ui/skins/[SKIN]/images directory.

Use this if for some reason your server name, server scheme, or server port change on a per request basis. I'm not sure if this would happen in a load balanced situation. I think in most cases the image(String image) method would probably be enough, but I'm not absolutely positive.

Specified by:
image in interface UIService
Parameters:
skinName - the name of the skin to retrieve the image from.
imageId - the id of the image whose URL will be generated.
serverData - the serverData to use as the basis for the URL.

image

public java.lang.String image(java.lang.String skinName,
                              java.lang.String imageId)
Retrieve the URL for an image that is part of a skin. The images are stored in the WEBAPP/resources/ui/skins/[SKIN]/images directory.

Specified by:
image in interface UIService
Parameters:
skinName - the name of the skin to retrieve the image from.
imageId - the id of the image whose URL will be generated.

getStylecss

public java.lang.String getStylecss(java.lang.String skinName,
                                    ServerData serverData)
Retrieve the URL for the style sheet that is part of a skin. The style is stored in the WEBAPP/resources/ui/skins/[SKIN] directory with the filename skin.css

Use this if for some reason your server name, server scheme, or server port change on a per request basis. I'm not sure if this would happen in a load balanced situation. I think in most cases the style() method would probably be enough, but I'm not absolutely positive.

Specified by:
getStylecss in interface UIService
Parameters:
skinName - the name of the skin to retrieve the style sheet from.
serverData - the serverData to use as the basis for the URL.

getStylecss

public java.lang.String getStylecss(java.lang.String skinName)
Retrieve the URL for the style sheet that is part of a skin. The style is stored in the WEBAPP/resources/ui/skins/[SKIN] directory with the filename skin.css

Specified by:
getStylecss in interface UIService
Parameters:
skinName - the name of the skin to retrieve the style sheet from.

getScript

public java.lang.String getScript(java.lang.String skinName,
                                  java.lang.String filename,
                                  ServerData serverData)
Retrieve the URL for a given script that is part of a skin. The script is stored in the WEBAPP/resources/ui/skins/[SKIN] directory.

Use this if for some reason your server name, server scheme, or server port change on a per request basis. I'm not sure if this would happen in a load balanced situation. I think in most cases the style() method would probably be enough, but I'm not absolutely positive.

Specified by:
getScript in interface UIService
Parameters:
skinName - the name of the skin to retrieve the image from.
filename - the name of the script file.
serverData - the serverData to use as the basis for the URL.

getScript

public java.lang.String getScript(java.lang.String skinName,
                                  java.lang.String filename)
Retrieve the URL for a given script that is part of a skin. The script is stored in the WEBAPP/resources/ui/skins/[SKIN] directory.

Specified by:
getScript in interface UIService
Parameters:
skinName - the name of the skin to retrieve the image from.
filename - the name of the script file.

init

public void init()
          throws InitializationException
Initializes the service.

Specified by:
init in interface Initable
Overrides:
init in class TurbineBaseService
Throws:
InitializationException

shutdown

public void shutdown()
Returns to uninitialized state.

Specified by:
shutdown in interface Initable
Overrides:
shutdown in class TurbineBaseService


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.