View Javadoc

1   package net.sourceforge.argval.utils;
2   
3   
4   import java.io.File;
5   import java.io.FileNotFoundException;
6   import java.io.IOException;
7   import java.util.Properties;
8   
9   import net.sourceforge.argval.utils.impl.PropertiesLoaderImpl;
10  
11  
12  /**
13   * A PropertiesLoader does provides a standard way for loading configuration(s), as Properties.
14   * 
15   * @see PropertiesLoaderImpl
16   * 
17   * @author T. Verhagen
18   */
19  public interface PropertiesLoader {
20  
21  	/**
22  	 * Returns the loaded configuration <code>Properties</code>, including the {@link System#getProperties().}
23  	 * @return The loaded Properties.
24       * @throws FileNotFoundException  When no configuration file is found.
25  	 * @throws IOException  When loading of properties file is not successful. 
26  	 */
27      Properties loadConfiguration() throws FileNotFoundException, IOException;
28  
29      /**
30       * Load the configuration properties from file and add the System properties (environment variable). Or
31       * explicitly instruct not to add the system properties. 
32       * 
33       * @param includeSystemProperties - If <code>true</code> the system properties will be included 
34       *     (over ruling the loaded properties from file), else (when false) the system properties will 
35       *     not added. (Default is <code>true</code>)  
36  	 * @return The loaded Properties.
37       * @throws FileNotFoundException  When no configuration file is found.
38  	 * @throws IOException  When loading of properties file is not successful. 
39       */
40      Properties loadConfiguration(Boolean includeSystemProperties) throws FileNotFoundException, IOException;
41      
42      /**
43       * Returns the location of the properties file. 
44       * @return The location of the properties file.
45       * @throws FileNotFoundException  When no configuration file is found.
46       */
47      File getPropertiesFile() throws FileNotFoundException;
48  
49      /**
50       * Returns a message about the location from which the message was loaded.
51       * @return A message about the location from which the message was loaded.
52       */
53      String getPropertiesFileMessage();
54      
55  }