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

org.apache.avalon.phoenix.components.configuration.FileSystemPersistentConfigurationRepository
All Implemented Interfaces:
ConfigurationRepository, ConfigurationRepositoryMBean

public class FileSystemPersistentConfigurationRepository
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

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
 

Constructor Detail

FileSystemPersistentConfigurationRepository

public FileSystemPersistentConfigurationRepository()
Method Detail

contextualize

public void contextualize(Context context)
                   throws ContextException

configure

public void configure(Configuration configuration)
               throws ConfigurationException

initialize

public void initialize()
                throws 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
Following copied from interface: org.apache.avalon.phoenix.interfaces.ConfigurationRepository
Parameters:
application - Application name
block - Block name to store configuration for
configuration - information to store.
Throws:
ConfigurationException - if configuration could not be removed

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
Following copied from interface: org.apache.avalon.phoenix.interfaces.ConfigurationRepository
Parameters:
application - Application name
block - Block name to store configuration for
configuration - information to store.
Throws:
ConfigurationException - if configuration could not be stored

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
Following copied from interface: org.apache.avalon.phoenix.interfaces.ConfigurationRepository
Parameters:
application - Application name
block - Block name to get configuration for
Returns:
Configuration information
Throws:
ConfigurationException - if no configuration could be found

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
Following copied from interface: org.apache.avalon.phoenix.interfaces.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.