org.openpermis.editor.policy.configuration
Class ConfigurationScopedSection

java.lang.Object
  extended by org.openpermis.editor.policy.configuration.ConfigurationElement
      extended by org.openpermis.editor.policy.configuration.ConfigurationSection
          extended by org.openpermis.editor.policy.configuration.ConfigurationScopedSection

public class ConfigurationScopedSection
extends ConfigurationSection

Configuration section that features scoped implementations.

Scoped implementation classes are never cached and the implementation class is stored under a configuration key that features the scope and the impelemtnation type class name.

Since:
0.9.0

Nested Class Summary
static class ConfigurationScopedSection.Factory
          Factory for scoped configuration sections.
 
Field Summary
 
Fields inherited from class org.openpermis.editor.policy.configuration.ConfigurationSection
ORDER
 
Constructor Summary
ConfigurationScopedSection(org.dom4j.Element element, Class<?> scope)
          Creates a new scoped configuration section.
 
Method Summary
protected  void addChild(ClassSettings settings, org.picocontainer.MutablePicoContainer pico, ClassLoader classLoader, ConfigurationChild child)
          Processes a single child element of this section.
 void addComponents(ConfigurationSectionFactory factory, ClassSettings settings, org.picocontainer.MutablePicoContainer pico, ClassLoader classLoader)
          Adds the component implementations listed in this section to the container specified.
 
Methods inherited from class org.openpermis.editor.policy.configuration.ConfigurationSection
addChildren
 
Methods inherited from class org.openpermis.editor.policy.configuration.ConfigurationElement
attributeValue, getElement, getParentValue, getPath, getValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConfigurationScopedSection

public ConfigurationScopedSection(org.dom4j.Element element,
                                  Class<?> scope)
Creates a new scoped configuration section.

Parameters:
element - the underlying DOM element.
scope - the scope class for child implementations.
Since:
0.9.0
Method Detail

addComponents

public void addComponents(ConfigurationSectionFactory factory,
                          ClassSettings settings,
                          org.picocontainer.MutablePicoContainer pico,
                          ClassLoader classLoader)
                   throws ConfigurationException
Description copied from class: ConfigurationSection
Adds the component implementations listed in this section to the container specified.

Specified by:
addComponents in class ConfigurationSection
Parameters:
factory - the factory to create new configuration sections if required.
settings - object to store additional type based settings to.
pico - the pico container to add components to, must not be null.
classLoader - the class loader to use, must not be null.
Throws:
ConfigurationException - passed on.
Since:
0.9.0

addChild

protected void addChild(ClassSettings settings,
                        org.picocontainer.MutablePicoContainer pico,
                        ClassLoader classLoader,
                        ConfigurationChild child)
                 throws ConfigurationException
Description copied from class: ConfigurationSection
Processes a single child element of this section.

The default implementation does nothing.

Called by ConfigurationSection.addChildren(org.openpermis.editor.policy.configuration.ClassSettings, org.picocontainer.MutablePicoContainer, java.lang.ClassLoader).

Overrides:
addChild in class ConfigurationSection
Parameters:
settings - object to store additional type based settings to.
pico - the pico container to add components to, must not be null.
classLoader - the class loader to use, must not be null.
child - the child to process.
Throws:
ConfigurationException - passed on.
Since:
0.9.0


OpenPermis Role Based Access Control 0.9.0 (Build 16)
2009/08/13 07:17:21
Copyright (c) 2002-2007 Ergon Informatik AG