Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts.plugins
Class DigestingPlugIn

    java.lang.Object
      org.apache.struts.plugins.DigestingPlugIn

All Implemented Interfaces:
  PlugIn

    public class DigestingPlugIn

extends Object
implements PlugIn

An implementation of `PlugIn` which can be configured to instantiate a graph of objects using the Commons Digester and place the root object of that graph into the Application context.

Since:
  Struts 1.2
Version:
  $Rev: 471754 $
See Also:
  `PlugIn`

Field Summary
`protected String` | `configPath`
`protected String` | `configSource`
`protected String` | `digesterPath`
`protected String` | `digesterSource`
`protected String` | `key`
`protected ModuleConfig` | `moduleConfig`
`protected boolean` | `push`
`protected String` | `rulesets`
`protected ActionServlet` | `servlet`
`protected static String` | `SOURCE_CLASSPATH`
`protected static String` | `SOURCE_FILE`
`protected static String` | `SOURCE_SERVLET`

Constructor Summary
`DigestingPlugIn()` Constructor for DigestingPlugIn.

Method Summary
`protected void` | `applyRuleSets(org.apache.commons.digester.Digester digester)` Instantiate any `RuleSet` classes defined in the `rulesets` property and use them to add rules to our `Digester`.
`void` | `destroy()` Receive notification that our owning module is being shut down.
`protected org.apache.commons.digester.Digester` | `digesterFromXml(String path, String source)` Instantiate a Digester from an XML input stream using the Commons `DigesterLoader`.
`protected URL` | `getClassPathURL(String path)` Given a string, return a URL to a classpath resource of that name.
`String` | `getConfigPath()`
`String` | `getConfigSource()`
`protected URL` | `getConfigURL(String path, String source)` Look up a resource path using one of a set of known path resolution mechanisms and return a URL to the resource.
`String` | `getDigesterPath()`
`String` | `getDigesterSource()`
`protected URL` | `getFileURL(String path)` Given a string, return a URL to a Filesystem resource of that name.
`String` | `getKey()`
`boolean` | `getPush()`
`String` | `getRulesets()`
`protected URL` | `getServletContextURL(String path)` Given a string, return a URL to a Servlet Context resource of that name.
`void` | `init(ActionServlet servlet, ModuleConfig config)` Initialize a `Digester` and use it to parse a configuration file, resulting in a root object which will be placed into the ServletContext.
`protected org.apache.commons.digester.Digester` | `initializeDigester()` Initialize the `Digester` which will be used to process the main configuration.
`protected org.apache.commons.digester.Digester` | `newDigesterInstance()` Instantiate a `Digester`.
`void` | `setConfigPath(String configPath)`
`void` | `setConfigSource(String configSource)` Set the source of the config file.
`void` | `setDigesterPath(String digesterPath)` The path to a Digester XML configuration file, relative to the `digesterSource` property.
`void` | `setDigesterSource(String digesterSource)` The lookup mechanism to be used to resolve `digesterPath` (optional).
`void` | `setKey(String key)`
`void` | `setPush(boolean push)` If set to `true`, this PlugIn will be pushed onto the Digester stack before the digester `parse` method is called.
`void` | `setRulesets(String ruleSets)` A comma-delimited list of one or more classes which implement `org.apache.commons.digester.RuleSet`.
`protected void` | `storeGeneratedObject(Object obj)` This method is called after the Digester runs to store the generated object somewhere.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SOURCE_CLASSPATH

    protected static final String SOURCE_CLASSPATH

See Also:
  Constant Field Values

### SOURCE_FILE

    protected static final String SOURCE_FILE

See Also:
  Constant Field Values

### SOURCE_SERVLET

    protected static final String SOURCE_SERVLET

See Also:
  Constant Field Values

### configPath

    protected String configPath

### configSource

    protected String configSource

### digesterPath

    protected String digesterPath

### digesterSource

    protected String digesterSource

### key

    protected String key

### moduleConfig

    protected ModuleConfig moduleConfig

### rulesets

    protected String rulesets

### servlet

    protected ActionServlet servlet

### push

    protected boolean push

Constructor Detail

### DigestingPlugIn

    public DigestingPlugIn()

  Constructor for DigestingPlugIn.

Method Detail

### destroy

    public void destroy()

  Receive notification that our owning module is being shut down.

  Specified by:
    `destroy` in interface `PlugIn`

### init

    public void init(ActionServlet servlet,
                     ModuleConfig config)
              throws ServletException

  Initialize a `Digester` and use it to parse a configuration file, resulting in a root object which will be placed into the ServletContext.

  Specified by:
    `init` in interface `PlugIn`
  Parameters:
    `servlet` - ActionServlet that is managing all the modules in this web application
    `config` - ModuleConfig for the module with which this plug-in is associated
  Throws:
    `ServletException` - if this `PlugIn` cannot be successfully initialized

### initializeDigester

    protected org.apache.commons.digester.Digester initializeDigester()
                                                               throws ServletException

  Initialize the `Digester` which will be used to process the main configuration.

  Returns:
    a Digester, ready to use.
  Throws:
    `ServletException`

### newDigesterInstance

    protected org.apache.commons.digester.Digester newDigesterInstance()

  Instantiate a `Digester`.

  Subclasses may wish to override this to provide a subclass of Digester, or to configure the Digester using object methods.

  Returns:
    a basic instance of `org.apache.commons.digester.Digester`

### digesterFromXml

    protected org.apache.commons.digester.Digester digesterFromXml(String path,
                                                                   String source)
                                                            throws IOException

  Instantiate a Digester from an XML input stream using the Commons `DigesterLoader`.

  Parameters:
    `path` - the path to the digester rules XML to be found using `source`
    `source` - a string indicating the lookup method to be used with `path`
  Returns:
    a configured Digester
  Throws:
    `FileNotFoundException`
    `MalformedURLException`
    `IOException`
  See Also:
    `getConfigURL(String, String)`

### applyRuleSets

    protected void applyRuleSets(org.apache.commons.digester.Digester digester)
                          throws ServletException

  Instantiate any `RuleSet` classes defined in the `rulesets` property and use them to add rules to our `Digester`.

  Parameters:
    `digester` - the Digester instance to add RuleSet objects to.
  Throws:
    `ServletException`

### getConfigURL

    protected URL getConfigURL(String path,
                               String source)
                        throws IOException

  Look up a resource path using one of a set of known path resolution mechanisms and return a URL to the resource.

  Parameters:
    `path` - a String which is meaningful to one of the known resolution mechanisms.
    `source` - one of the known path resolution mechanisms:
    - file - the path is a fully-qualified filesystem path.
    - servlet - the path is a servlet-context relative path.
    - classpath - the path is a classpath-relative path.
  Returns:
    a URL pointing to the given path in the given mechanism.
  Throws:
    `FileNotFoundException`
    `MalformedURLException`
    `IOException`

### getClassPathURL

    protected URL getClassPathURL(String path)

  Given a string, return a URL to a classpath resource of that name.

  Parameters:
    `path` - a Classpath-relative string identifying a resource.
  Returns:
    a URL identifying the resource on the classpath. TODO Do we need to be smarter about ClassLoaders?

### getServletContextURL

    protected URL getServletContextURL(String path)
                                throws IOException

  Given a string, return a URL to a Servlet Context resource of that name.

  Parameters:
    `path` - a Classpath-relative string identifying a resource.
  Returns:
    a URL identifying the resource in the Servlet Context
  Throws:
    `MalformedURLException`
    `IOException`

### getFileURL

    protected URL getFileURL(String path)
                      throws IOException

  Given a string, return a URL to a Filesystem resource of that name.

  Parameters:
    `path` - a path to a file.
  Returns:
    a URL identifying the resource in the in the file system.
  Throws:
    `MalformedURLException`
    `FileNotFoundException`
    `IOException`

### setConfigPath

    public void setConfigPath(String configPath)

  Parameters:
    `configPath` - the path to configuration information for this PlugIn.
  See Also:
    `configSource`

### getConfigPath

    public String getConfigPath()

  Returns:
    the configPath property
  See Also:
    `configSource`

### setConfigSource

    public void setConfigSource(String configSource)

  Set the source of the config file. Should be one of the following:
  - "classpath" - indicates that the configPath will be resolved by the ClassLoader.
  - "file" - indicates that the configPath is a fully-qualified filesystem path.
  - "servlet" - indicates that the configPath will be found by the ServletContext.

  Parameters:
    `configSource` - the source (lookup method) for the config file.
  See Also:
    `configPath`

### getConfigSource

    public String getConfigSource()

  Returns:
    the string describing which access method should be used to resolve configPath.
  See Also:
    `configPath`

### storeGeneratedObject

    protected void storeGeneratedObject(Object obj)

  This method is called after the Digester runs to store the generated object somewhere. This implementation places the given object into the ServletContext under the attribute name as defined in `key`.

  Parameters:
    `obj` - The object to save.

### setKey

    public void setKey(String key)

  Parameters:
    `key` - The ServletContext attribute name to store the generated object under.

### getKey

    public String getKey()

  Returns:
    The ServletContext attribute name the generated object is stored under.

### setRulesets

    public void setRulesets(String ruleSets)

  A comma-delimited list of one or more classes which implement `org.apache.commons.digester.RuleSet`. (Optional)

### getRulesets

    public String getRulesets()

  Returns:
    The configured list of `RuleSet` classes.

### setDigesterPath

    public void setDigesterPath(String digesterPath)

  The path to a Digester XML configuration file, relative to the `digesterSource` property. (Optional)

  See Also:
    `digesterSource`, `getConfigURL(String, String)`

### getDigesterPath

    public String getDigesterPath()

  Returns:
    the configured path to a Digester XML config file, or null.
  See Also:
    `digesterSource`, `getConfigURL(String, String)`

### setDigesterSource

    public void setDigesterSource(String digesterSource)

  The lookup mechanism to be used to resolve `digesterPath` (optional).

  Parameters:
    `digesterSource` -
  See Also:
    `getConfigURL(String, String)`

### getDigesterSource

    public String getDigesterSource()

  Returns:
    the configured lookup mechanism for resolving `digesterPath`.
  See Also:
    `getConfigURL(String, String)`

### setPush

    public void setPush(boolean push)

  If set to `true`, this PlugIn will be pushed onto the Digester stack before the digester `parse` method is called.

  Defaults to `false`

  Parameters:
    `push` -

### getPush

    public boolean getPush()

  Returns:
    Whether or not this `PlugIn` instance will be pushed onto the `Digester` stack before `digester.parse()` is called.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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