Coverage Report - com.sourceforge.jpatterns.core.configuration.IJPConfigurator
 
Classes in this File Line Coverage Branch Coverage Complexity
IJPConfigurator
N/A 
N/A 
0
 
 1  
 package com.sourceforge.jpatterns.core.configuration;
 2  
 
 3  
 import com.sourceforge.jpatterns.core.configuration.model.JPatternsConfigsBean;
 4  
 
 5  
 import java.io.File;
 6  
 import java.util.List;
 7  
 
 8  
 /**
 9  
  * This interface is a single entry point for the castor based configuration would be used to provide the framework with the working
 10  
  * data. This interface would be used for the both purposes:
 11  
  * <ul>
 12  
  * <li>First one is to obtain the system configuration which would be used for the making the framework configured itself - the
 13  
  * idea of this self configuration is as follows. First of all the initial stuff to be configured is obtained using the properties
 14  
  * file, but then when the "factory" pattern would implemented (meaning at the appropriate layer of JPatterns, cause we can not
 15  
  * use it here for example), we would be able to use JPatterns mechanisms itself to allow configuring the system effectively</li>
 16  
  * <li>The second case is when JPatterns would be used by the user - then we should provide the way to another stuff of the
 17  
  * JPatterns to receive the configuration to be used later</li>
 18  
  * </ul>
 19  
  * <br/>
 20  
  * The implementations of this interface could deal also with the overriden files/folders(where to search for the JPatterns
 21  
  * configuration). This overriding could be done via JVM and default properties files. It would allow to the user to override
 22  
  * everything though the properties files, through JVM params etc.
 23  
  * <br/>
 24  
  * Please review the ways use of the framework is able to customize the behaviour of the system:
 25  
  * <br/>
 26  
  * The instance we need to use is configured at the
 27  
  * properties file, so there is a way for the developer to override this implementation by the custom one.
 28  
  * todo [zmicer]: pleaes think over how to configure this through the properties files at the PropertiesBasedFactory - currently it is not
 29  
  * done in this way
 30  
  *
 31  
  * $Author:: zmicer             $<br/>
 32  
  * $Rev:: 57                    $<br/> * $Date:: 2007-08-23 09:16:37 #$<br/>
 33  
  * $Date:: 2007-08-23 09:16:37 #$<br/>
 34  
  */
 35  
 public interface IJPConfigurator
 36  
 {
 37  
     /**
 38  
      * @return the name of the configuration file is used for the configuration of the working JPatterns itself
 39  
      * <br/>
 40  
      * Please review the Java Docs of the concrete implementation to obtain the algorithms for getting this name.
 41  
      */
 42  
     String getJPatternsFrameworkConfigurationFileName();
 43  
 
 44  
     /**
 45  
      * @return the name of the configuration file is used for the configuration of the working JPatterns itself (custom configuration)
 46  
      * Returns the custom configuration.
 47  
      */
 48  
     String getJPatternsFrameworkCustomConfigurationFileName();
 49  
 
 50  
     /**
 51  
      * @return the List of String objects representing the configuration file names is provided by the consumers of the JPatterns
 52  
      * (simply speaking the configuration of the third party factories, and another patterns, the configuration which is necessary to
 53  
      * be parsed by JPatterns to make this framework help other developers - consumers of the framework)
 54  
      */
 55  
     List<File> getJPatternsConsumerConfigurationFiles();
 56  
 
 57  
     /**
 58  
      * @return the List of String objects representing the configuration file names is provided by the consumers of the JPatterns
 59  
      * (simply speaking the configuration of the third party factories, and another patterns, the configuration which is necessary to
 60  
      * be parsed by JPatterns to make this framework help other developers - consumers of the framework).
 61  
      * <br/>
 62  
      * Returns the custom configuration.
 63  
      */
 64  
     List<File> getJPatternsConsumerCustomConfigurationFiles();
 65  
 
 66  
     /**
 67  
      * @return true in the case the default XML framework configuration is presents.
 68  
      */
 69  
     boolean defaultJPatternsFrameworkConfigurationPresents();
 70  
 
 71  
     /**
 72  
      * @return true in the case the system custom configuration is presents (the value was provided via the JVM parameter
 73  
      * using the
 74  
      * <code>com.sourceforge.jpatterns.core.JPConstants.XMLConfigFilesConstants.CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME_JVM_PARAM</code>
 75  
      * or this file with the name
 76  
      * <code>com.sourceforge.jpatterns.core.JPConstants.XMLConfigFilesConstants.CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME</code> exists)
 77  
      */
 78  
     boolean customJPatternsFrameworkConfigurationPresents();
 79  
 
 80  
     /**
 81  
      * @return true in the case the default XML framework configuration is presents.
 82  
      */
 83  
     boolean defaultJPatternsConsumerConfigurationPresents();
 84  
 
 85  
     /**
 86  
      * @return true in the case the system custom configuration is presents (the value was provided via the JVM parameter
 87  
      * using the
 88  
      * <code>com.sourceforge.jpatterns.core.JPConstants.XMLConfigFilesConstants.CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME_JVM_PARAM</code>
 89  
      * or this file with the name
 90  
      * <code>com.sourceforge.jpatterns.core.JPConstants.XMLConfigFilesConstants.CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME</code> exists)
 91  
      */
 92  
     boolean customJPatternsConsumerConfigurationPresents();
 93  
 
 94  
     /**
 95  
      * @return the entry point for the system configuration is used for the JPatterns itself.
 96  
      * <br/>
 97  
      * Please be noticed this configuration is a merged one: the default and custom configuration are used
 98  
      */
 99  
     JPatternsConfigsBean getJPatternsFrameworkConfiguration();
 100  
 
 101  
     /**
 102  
      * @return the JPatternsConfig storing all the users configuration.
 103  
      * <br/>
 104  
      * Please be noticed this configuration is a merged one: the default and custom configuration files are used (there are lots of
 105  
      * the configurations files could be at the default pathes and at the custom specific pathes)
 106  
      */
 107  
     JPatternsConfigsBean getJPatternsConsumerConfiguration();
 108  
 }
 109