org.apache.turbine.services.ui

## Interface UIService

- All Superinterfaces:
    Initable, Service
  All Known Implementing Classes:
    TurbineUIService

      public interface UIService
      extends Service

  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.

  Skins are lazy loaded in that they are not loaded until first used.

  Version:
    $Id$
  Author:
    Scott Eade

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `SERVICE_NAME` The service identifier.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `get(String key)` Retrieve a skin property from the default skin for the webapp.
    `String` | `get(String skinName, String key)` Retrieve a skin property from the named skin.
    `String` | `getScript(String skinName, String filename)` Retrieve the URL for a given script that is part of a skin.
    `String` | `getScript(String skinName, String filename, ServerData serverData)` Retrieve the URL for a given script that is part of a skin.
    `String[]` | `getSkinNames()` Provide access to the list of available skin names.
    `String` | `getStylecss(String skinName)` Retrieve the URL for the style sheet that is part of a skin.
    `String` | `getStylecss(String skinName, ServerData serverData)` Retrieve the URL for the style sheet that is part of a skin.
    `String` | `getWebappSkinName()` Get the name of the default skin name for the web application from the TurbineResources.properties file.
    `String` | `image(String skinName, String imageId)` Retrieve the URL for an image that is part of a skin.
    `String` | `image(String skinName, String imageId, ServerData serverData)` Retrieve the URL for an image that is part of a skin.
    `void` | `refresh()` Refresh all skins.
    `void` | `refresh(String skinName)` Refresh a particular skin.

    - ### 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, init, setInitableBroker, shutdown`

- - ### Field Detail

    - #### SERVICE_NAME

          static final String SERVICE_NAME

      The service identifier.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### refresh

          void refresh()

      Refresh all skins.

    - #### refresh

          void refresh(String skinName)

      Refresh a particular skin.
      Parameters:
        `skinName` - the name of the skin to clear.

    - #### getSkinNames

          String[] getSkinNames()

      Provide access to the list of available skin names.
      Returns:
        the available skin names.

    - #### getWebappSkinName

          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".
      Returns:
        the name of the default skin for the web application.

    - #### get

          String get(String skinName,
                   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.
      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

          String get(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.
      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.

    - #### image

          String image(String skinName,
                     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.

      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.
      Returns:
        the image URL

    - #### image

          String image(String skinName,
                     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.
      Parameters:
        `skinName` - the name of the skin to retrieve the image from.
        `imageId` - the id of the image whose URL will be generated.
      Returns:
        the image URL

    - #### getStylecss

          String getStylecss(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.

      Parameters:
        `skinName` - the name of the skin to retrieve the style sheet from.
        `serverData` - the serverData to use as the basis for the URL.
      Returns:
        the CSS URL

    - #### getStylecss

          String getStylecss(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
      Parameters:
        `skinName` - the name of the skin to retrieve the style sheet from.
      Returns:
        the CSS URL

    - #### getScript

          String getScript(String skinName,
                         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.

      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.
      Returns:
        the script URL

    - #### getScript

          String getScript(String skinName,
                         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.
      Parameters:
        `skinName` - the name of the skin to retrieve the image from.
        `filename` - the name of the script file.
      Returns:
        the script URL

Copyright © 2000-2015 The Apache Software Foundation. All Rights Reserved.