cz.psika.utils
Class ConfigurationUtils

java.lang.Object
  extended by cz.psika.utils.ConfigurationUtils

public class ConfigurationUtils
extends java.lang.Object

Configuration files seaching and reading Lines beginning with crosshash in configuration file are considered comments, empty lines are ignored.

Author:
Tomas Psika

Constructor Summary
ConfigurationUtils()
           
 
Method Summary
static java.lang.String getApplicationConfigFile(java.lang.String osType, java.lang.String appName)
          Get file with application preferences or create it if none exists
static java.lang.String getApplicationFilename(java.lang.String osType, java.lang.String appName, boolean hidden)
          Get filename of name of directory relevant to this application on specified operating system
static java.lang.String[] getApplicationFiles(java.lang.String osType, java.lang.String appName, java.lang.String subDirectory, java.lang.String suffix, java.lang.String filename, java.lang.String[] includedDirs)
          Get configuration files where application data are saved.
static boolean readConfiguration(java.lang.String file, java.util.Map<java.lang.String,java.lang.String> configMap)
          Initializing configuration map from file
static void saveConfiguration(java.lang.String file, java.util.Map<java.lang.String,java.lang.String> configMap)
          Saving configuration into file
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConfigurationUtils

public ConfigurationUtils()
Method Detail

readConfiguration

public static boolean readConfiguration(java.lang.String file,
                                        java.util.Map<java.lang.String,java.lang.String> configMap)
                                 throws java.io.FileNotFoundException,
                                        java.io.IOException
Initializing configuration map from file

Parameters:
file - absolute path to config file
configMap - map of configuration values initialized after loading all configuration lines
Returns:
true on success, false otherwise
Throws:
java.io.FileNotFoundException
java.io.IOException

saveConfiguration

public static void saveConfiguration(java.lang.String file,
                                     java.util.Map<java.lang.String,java.lang.String> configMap)
                              throws java.io.IOException
Saving configuration into file

Parameters:
file - file to save
configMap - configuration
Throws:
java.io.IOException - if configuration file could not be saved

getApplicationFiles

public static java.lang.String[] getApplicationFiles(java.lang.String osType,
                                                     java.lang.String appName,
                                                     java.lang.String subDirectory,
                                                     java.lang.String suffix,
                                                     java.lang.String filename,
                                                     java.lang.String[] includedDirs)
                                              throws java.lang.IllegalArgumentException
Get configuration files where application data are saved.

Configuration files are preferred according to file location by this preference (first items have higher priority):

Parameters:
osType - type of OS, 'U' means supported Unix system, 'W' means Windows, null none of these
appName - application's name
subDirectory - directory where config files should exist
suffix - searching files with specified suffix only
filename - need to find by exact filename, if non-null suffix will be ignored
includedDirs - directories always needed to append
Returns:
array of absolute paths of all relevant files
Throws:
java.lang.IllegalArgumentException

getApplicationConfigFile

public static java.lang.String getApplicationConfigFile(java.lang.String osType,
                                                        java.lang.String appName)
                                                 throws java.lang.IllegalArgumentException
Get file with application preferences or create it if none exists

Parameters:
osType -
appName -
Returns:
absolute path to main configuration file or null in case of error
Throws:
java.lang.IllegalArgumentException
See Also:
getApplicationFiles(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])

getApplicationFilename

public static java.lang.String getApplicationFilename(java.lang.String osType,
                                                      java.lang.String appName,
                                                      boolean hidden)
                                               throws java.lang.IllegalArgumentException
Get filename of name of directory relevant to this application on specified operating system

Parameters:
osType - OS type flag
appName - application's name
hidden - return directory or file name which should not be visible by default
Returns:
relative path to directory or file
Throws:
java.lang.IllegalArgumentException
See Also:
getApplicationFiles(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])