org.apache.avalon.phoenix.components.configuration
Class FileSystemPersistentConfigurationRepository

java.lang.Object
  |
  +--AbstractLogEnabled
        |
        +--org.apache.avalon.phoenix.components.configuration.FileSystemPersistentConfigurationRepository
All Implemented Interfaces:
ConfigurationRepository, ConfigurationRepositoryMBean

public class FileSystemPersistentConfigurationRepository
extends AbstractLogEnabled
implements ConfigurationRepository, ConfigurationRepositoryMBean

A ConfigurationRepository that will store partial configurations on disk.

When a Configuration is retrieved from the repository, the configuration from disk is merged with the configuration from the SAR. This merge is accompilished via ConfigurationMerger.merge.

When a Configuration is stored in the repository, if there is no transient, that is, configuration from the SAR, Configuration information, the first store is that. Subsequent calls to storeConfiguration will persist the difference between the transient Configuration and the passed configuration to disk. The differences are computed via ConfigurationSplitter.split

Author:
Peter Royal
See Also:
org.apache.excalibur.configuration.merged.ConfigurationMerger, org.apache.excalibur.configuration.merged.ConfigurationSplitter, Serialized Form

Field Summary
 
Fields inherited from interface org.apache.avalon.phoenix.interfaces.ConfigurationRepository
ROLE
 
Constructor Summary
FileSystemPersistentConfigurationRepository()
           
 
Method Summary
 void configure(Configuration configuration)
           
 void contextualize(Context context)
           
 Configuration getConfiguration(String application, String block)
          Retrieve configuration information from the repository
 boolean hasConfiguration(String application, String block)
          Check to see if the repository has configuration information for the specified application and block
 void initialize()
           
 void removeConfiguration(String application, String block)
          Remove configuration information in the repository
 void storeConfiguration(String application, String block, Configuration configuration)
          Store configuration information in the repository
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileSystemPersistentConfigurationRepository

public FileSystemPersistentConfigurationRepository()
Method Detail

contextualize

public void contextualize(Context context)
                   throws ContextException
ContextException

configure

public void configure(Configuration configuration)
               throws ConfigurationException
ConfigurationException

initialize

public void initialize()
                throws Exception
Exception

removeConfiguration

public void removeConfiguration(String application,
                                String block)
                         throws ConfigurationException
Description copied from interface: ConfigurationRepository
Remove configuration information in the repository

Specified by:
removeConfiguration in interface ConfigurationRepository
Parameters:
application - Application name
block - Block name to store configuration for
ConfigurationException

storeConfiguration

public void storeConfiguration(String application,
                               String block,
                               Configuration configuration)
                        throws ConfigurationException
Description copied from interface: ConfigurationRepository
Store configuration information in the repository

Specified by:
storeConfiguration in interface ConfigurationRepository
Parameters:
application - Application name
block - Block name to store configuration for
configuration - information to store.
ConfigurationException

getConfiguration

public Configuration getConfiguration(String application,
                                      String block)
                               throws ConfigurationException
Description copied from interface: ConfigurationRepository
Retrieve configuration information from the repository

Specified by:
getConfiguration in interface ConfigurationRepository
Parameters:
application - Application name
block - Block name to get configuration for
Returns:
Configuration information
ConfigurationException

hasConfiguration

public boolean hasConfiguration(String application,
                                String block)
Description copied from interface: ConfigurationRepositoryMBean
Check to see if the repository has configuration information for the specified application and block

Specified by:
hasConfiguration in interface ConfigurationRepositoryMBean
Parameters:
application - Application name
block - Block name to check configuration for
Returns:
true if repository has configuration


Copyright © 2001 Apache Jakarta Project. All Rights Reserved.