org.apache.cocoon.components.modules.input
Class SelectMetaInputModule

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.cocoon.components.modules.input.AbstractInputModule
          extended by org.apache.cocoon.components.modules.input.AbstractMetaModule
              extended by org.apache.cocoon.components.modules.input.SelectMetaInputModule
All Implemented Interfaces:
Disposable, Component, Composable, Configurable, LogEnabled, ThreadSafe, InputModule

public class SelectMetaInputModule
extends AbstractMetaModule
implements ThreadSafe

Configuration

input-module Configuration and name of input module used for the selection. req Stringnull
when Selection case, condition in test attribute, input module name in name attribute. Optional configuration as nested content. reqStringnull
otherwise Default selection case. If not present and no case matches, null is returned. Stringnull

Version:
$Id: SelectMetaInputModule.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Author:
Christian Haul

Field Summary
 
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractMetaModule
defaultInput, initialized, input, INPUT_MODULE_SELECTOR, inputConf, inputSelector, manager
 
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule
settings
 
Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule
ROLE
 
Constructor Summary
SelectMetaInputModule()
           
 
Method Summary
 void configure(Configuration config)
          Configures the database access helper.
 void dispose()
          Dispose exactly one cached InputModule.
 Object getAttribute(String name, Configuration modeConf, Map objectModel)
          Standard access to an attribute's value.
 Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
          Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist.
 void lazy_initialize()
          Initialize the meta module with exactly one other input module.
 
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractMetaModule
compose, getNames, getNames, getValue, getValue, getValue, getValue, getValues, getValues, getValues, getValues, obtainModule, releaseModule
 
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule
getAttributeNames
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectMetaInputModule

public SelectMetaInputModule()
Method Detail

configure

public void configure(Configuration config)
               throws ConfigurationException
Description copied from class: AbstractInputModule
Configures the database access helper. Takes all elements nested in component declaration and stores them as key-value pairs in settings. Nested configuration option are not catered for. This way global configuration options can be used. For nested configurations override this function.

Specified by:
configure in interface Configurable
Overrides:
configure in class AbstractInputModule
Throws:
ConfigurationException

getAttribute

public Object getAttribute(String name,
                           Configuration modeConf,
                           Map objectModel)
                    throws ConfigurationException
Description copied from interface: InputModule
Standard access to an attribute's value. If more than one value exists, the first is returned. If the value does not exist, null is returned. To get all values, use InputModule.getAttributeValues(String, Configuration, Map) or InputModule.getAttributeNames(Configuration, Map) and InputModule.getAttribute(String, Configuration, Map) to get them one by one.

Specified by:
getAttribute in interface InputModule
Overrides:
getAttribute in class AbstractInputModule
Parameters:
name - a String that specifies what the caller thinks would identify an attribute. This is mainly a fallback if no modeConf is present.
modeConf - column's mode configuration from resource description. This argument is optional.
Throws:
ConfigurationException

getAttributeValues

public Object[] getAttributeValues(String name,
                                   Configuration modeConf,
                                   Map objectModel)
                            throws ConfigurationException
Description copied from interface: InputModule
Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist. As an alternative, InputModule.getAttributeNames(Configuration, Map) together with InputModule.getAttribute(String, Configuration, Map) can be used to get the values one by one.

Specified by:
getAttributeValues in interface InputModule
Overrides:
getAttributeValues in class AbstractInputModule
Parameters:
name - a String that specifies what the caller thinks would identify an attributes. This is mainly a fallback if no modeConf is present.
modeConf - column's mode configuration from resource description. This argument is optional.
Throws:
ConfigurationException

dispose

public void dispose()
Description copied from class: AbstractMetaModule
Dispose exactly one cached InputModule. To work on more than one, override this method and initialize().

Specified by:
dispose in interface Disposable
Overrides:
dispose in class AbstractMetaModule

lazy_initialize

public void lazy_initialize()
Description copied from class: AbstractMetaModule
Initialize the meta module with exactly one other input module. Since "meta" modules require references to components of the same role, initialization cannot be done in initialize() when also implementing ThreadSafe since at that point the component selector is not yet initialized it would trigger the creation of a new one resulting in an endless loop of initializations. Therefore, every module needs to call this method when it first requires access to another module if the module itself has not been initialized. Override this method and dispose() to keep references to more than one module.

Overrides:
lazy_initialize in class AbstractMetaModule


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.