T - the concrete type of Configuration objects created by this
        builderpublic class FileBasedConfigurationBuilder<T extends FileBasedConfiguration> extends BasicConfigurationBuilder<T>
 A specialized ConfigurationBuilder implementation which can handle
 configurations read from a FileHandler.
 
 This class extends its base class by the support of a
 FileBasedBuilderParametersImpl object, and especially of the
 FileHandler contained in this object. When the builder creates a new
 object the resulting Configuration instance is associated with the
 FileHandler. If the FileHandler has a location set, the
 Configuration is directly loaded from this location.
 
 The FileHandler is kept by this builder and can be queried later on.
 It can be used for instance to save the current Configuration after
 it was modified. Some care has to be taken when changing the location of the
 FileHandler: The new location is recorded and also survives an
 invocation of the resetResult() method. However, when the builder's
 initialization parameters are reset by calling resetParameters() the
 location is reset, too.
 
| Constructor and Description | 
|---|
FileBasedConfigurationBuilder(Class<? extends T> resCls)
Creates a new instance of  
FileBasedConfigurationBuilder which
 produces result objects of the specified class. | 
FileBasedConfigurationBuilder(Class<? extends T> resCls,
                             Map<String,Object> params)
Creates a new instance of  
FileBasedConfigurationBuilder which
 produces result objects of the specified class and sets initialization
 parameters. | 
FileBasedConfigurationBuilder(Class<? extends T> resCls,
                             Map<String,Object> params,
                             boolean allowFailOnInit)
Creates a new instance of  
FileBasedConfigurationBuilder which
 produces result objects of the specified class and sets initialization
 parameters and the allowFailOnInit flag. | 
| Modifier and Type | Method and Description | 
|---|---|
FileBasedConfigurationBuilder<T> | 
configure(BuilderParameters... params)
Appends the content of the specified  
BuilderParameters objects to
 the current initialization parameters. | 
static String | 
getDefaultEncoding(Class<?> configClass)
Returns the default encoding for the specified configuration class. 
 | 
FileHandler | 
getFileHandler()
Returns the  
FileHandler associated with this builder. | 
protected void | 
initFileHandler(FileHandler handler)
Initializes the new current  
FileHandler. | 
protected void | 
initResultInstance(T obj)
Initializes a newly created result object. 
 | 
boolean | 
isAutoSave()
Returns a flag whether auto save mode is currently active. 
 | 
void | 
save()
Convenience method which saves the associated configuration. 
 | 
void | 
setAutoSave(boolean enabled)
Enables or disables auto save mode. 
 | 
static void | 
setDefaultEncoding(Class<?> configClass,
                  String encoding)
Sets a default encoding for a specific configuration class. 
 | 
BasicConfigurationBuilder<T> | 
setParameters(Map<String,Object> params)
Sets the initialization parameters of this builder. 
 | 
addEventListener, addParameters, connectToReloadingController, copyEventListeners, copyEventListeners, createResult, createResultDeclaration, createResultInstance, fetchBeanHelper, fireBuilderEvent, getConfiguration, getParameters, getResultClass, getResultDeclaration, installEventListener, isAllowFailOnInit, removeEventListener, reset, resetParameters, resetResultpublic FileBasedConfigurationBuilder(Class<? extends T> resCls)
FileBasedConfigurationBuilder which
 produces result objects of the specified class.resCls - the result class (must not be nullIllegalArgumentException - if the result class is nullpublic FileBasedConfigurationBuilder(Class<? extends T> resCls, Map<String,Object> params)
FileBasedConfigurationBuilder which
 produces result objects of the specified class and sets initialization
 parameters.resCls - the result class (must not be nullparams - a map with initialization parametersIllegalArgumentException - if the result class is nullpublic FileBasedConfigurationBuilder(Class<? extends T> resCls, Map<String,Object> params, boolean allowFailOnInit)
FileBasedConfigurationBuilder which
 produces result objects of the specified class and sets initialization
 parameters and the allowFailOnInit flag.resCls - the result class (must not be nullparams - a map with initialization parametersallowFailOnInit - the allowFailOnInit flagIllegalArgumentException - if the result class is nullpublic static String getDefaultEncoding(Class<?> configClass)
configClass - the configuration class in questionpublic static void setDefaultEncoding(Class<?> configClass, String encoding)
configClass - the name of the configuration class (must not be
        null)encoding - the default encoding for this classIllegalArgumentException - if the class is nullpublic FileBasedConfigurationBuilder<T> configure(BuilderParameters... params)
BuilderParameters objects to
 the current initialization parameters. Calling this method multiple times
 will create a union of the parameters provided. This method is overridden here to change the result type.configure in class BasicConfigurationBuilder<T extends FileBasedConfiguration>params - an arbitrary number of objects with builder parameterspublic FileHandler getFileHandler()
FileHandler associated with this builder. If already
 a result object has been created, this FileHandler can be used to
 save it. Otherwise, the FileHandler from the initialization
 parameters is returned (which is not associated with a FileBased
 object). Result is never null.FileHandler associated with this builderpublic BasicConfigurationBuilder<T> setParameters(Map<String,Object> params)
FileHandler has to be initialized from
 initialization parameters rather than reusing the existing one.setParameters in class BasicConfigurationBuilder<T extends FileBasedConfiguration>params - the new initialization parameters of this builder; can be
        null, then all initialization parameters are removedpublic void save()
          throws ConfigurationException
FileHandler.
 The file handler is then used to store the configuration.ConfigurationException - if an error occurspublic boolean isAutoSave()
public void setAutoSave(boolean enabled)
enabled - true if auto save mode is to be enabled,
        false otherwiseprotected void initResultInstance(T obj) throws ConfigurationException
BeanHelper class to initialize the
 object's property based on the BeanDeclaration returned by
 BasicConfigurationBuilder.getResultDeclaration(). Note: This method is invoked in a
 synchronized block. This is required because internal state is accessed.
 Sub classes must not call this method without proper synchronization. This implementation deals with the creation and
 initialization of a FileHandler associated with the new result
 object.initResultInstance in class BasicConfigurationBuilder<T extends FileBasedConfiguration>obj - the object to be initializedConfigurationException - if an error occursprotected void initFileHandler(FileHandler handler) throws ConfigurationException
FileHandler. When a new result object
 is created, a new FileHandler is created, too, and associated
 with the result object. This new handler is passed to this method. If a
 location is defined, the result object is loaded from this location.
 Note: This method is called from a synchronized block.handler - the new current FileHandlerConfigurationException - if an error occursCopyright © 2001–2020 The Apache Software Foundation. All rights reserved.