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.commons.digester3.plugins
Class Declaration

    java.lang.Object
      org.apache.commons.digester3.plugins.Declaration

    public class Declaration

extends Object

Represents a Class that can be instantiated by a PluginCreateRule, plus info on how to load custom digester rules for mapping xml into that plugged-in class.

Since:
  1.6

Constructor Summary
`Declaration(Class<?> pluginClass)` Constructor.
`Declaration(Class<?> pluginClass, RuleLoader ruleLoader)` Create an instance where a fully-initialised ruleLoader instance is provided by the caller instead of having the PluginManager "discover" an appropriate one.
`Declaration(String pluginClassName)` Constructor.

Method Summary
`void` | `configure(Digester digester, String pattern)` Attempt to load custom rules for the target class at the specified pattern.
`String` | `getId()` Return the id associated with this declaration.
`Class<?>` | `getPluginClass()` Return plugin class associated with this declaration.
`void` | `init(Digester digester, PluginManager pm)` Must be called exactly once, and must be called before any call to the configure method.
`void` | `setId(String id)` The id that the user associated with a particular plugin declaration in the input xml.
`void` | `setProperties(Properties p)` Copy all (key,value) pairs in the param into the properties member of this object.

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

Constructor Detail

### Declaration

    public Declaration(String pluginClassName)

  Constructor.

  Parameters:
    `pluginClassName` - The name of the class of the object to be instantiated (will be load in the init method)

### Declaration

    public Declaration(Class<?> pluginClass)

  Constructor.

  Parameters:
    `pluginClass` - The class of the object to be instantiated (will be load in the init method)

### Declaration

    public Declaration(Class<?> pluginClass,
                       RuleLoader ruleLoader)

  Create an instance where a fully-initialised ruleLoader instance is provided by the caller instead of having the PluginManager "discover" an appropriate one.

  Parameters:
    `pluginClass` - The class of the object to be instantiated (will be load in the init method)
    `ruleLoader` - Class which is responsible for dynamically loading this plugin's rules on demand

Method Detail

### setId

    public void setId(String id)

  The id that the user associated with a particular plugin declaration in the input xml. This id is later used in the input xml to refer back to the original declaration.

  For plugins declared "in-line", the id is null.

  Parameters:
    `id` - The id that the user associated with a particular plugin declaration in the input xml

### getId

    public String getId()

  Return the id associated with this declaration. For plugins declared "inline", null will be returned.

  Returns:
    The id value. May be null.

### setProperties

    public void setProperties(Properties p)

  Copy all (key,value) pairs in the param into the properties member of this object.

  The declaration properties cannot be explicit member variables, because the set of useful properties a user can provide on a declaration depends on what RuleFinder classes are available - and extra RuleFinders can be added by the user. So here we keep a map of the settings, and let the RuleFinder objects look for whatever properties they consider significant.

  The "id" and "class" properties are treated differently.

  Parameters:
    `p` - The properties have to be copied into the properties member of this object

### getPluginClass

    public Class<?> getPluginClass()

  Return plugin class associated with this declaration.

  Returns:
    The pluginClass.

### init

    public void init(Digester digester,
                     PluginManager pm)
              throws PluginException

  Must be called exactly once, and must be called before any call to the configure method.

  Parameters:
    `digester` - The Digester instance where plugin has to be plugged
    `pm` - The plugin manager reference
  Throws:
    `PluginException` - if any error occurs while loading the rules

### configure

    public void configure(Digester digester,
                          String pattern)
                   throws PluginException

  Attempt to load custom rules for the target class at the specified pattern.

  On return, any custom rules associated with the plugin class have been loaded into the Rules object currently associated with the specified digester object.

  Parameters:
    `digester` - The Digester instance where plugin has to be plugged
    `pattern` - The pattern the custom rules have to be bound
  Throws:
    `PluginException` - if any error occurs

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 © 2001-2011 The Apache Software Foundation. All Rights Reserved.