Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||||||
JPConstants |
|
| 0.0;0 |
1 | package com.sourceforge.jpatterns.core; |
|
2 | ||
3 | import org.apache.log4j.Logger; |
|
4 | ||
5 | import java.util.regex.Pattern; |
|
6 | ||
7 | /** |
|
8 | * This class contains the global constants which are usefull for the development of the JPatterns |
|
9 | * |
|
10 | * $Author:: zmicer $<br/> |
|
11 | * $Rev:: 67 $<br/> * $Date:: 2007-08-28 21:37:07 #$<br/> |
|
12 | * $Date:: 2007-08-28 21:37:07 #$<br/> |
|
13 | */ |
|
14 | 0 | public class JPConstants |
15 | { |
|
16 | /** |
|
17 | * Logger instance. |
|
18 | */ |
|
19 | 5 | final public static Logger LOG = Logger.getLogger(JPConstants.class); |
20 | ||
21 | /** |
|
22 | * This *compiled* pattern represents the mask for the configuration files which should be used by the JPatterns to initialize |
|
23 | * the patterns stuff. |
|
24 | * <br/> |
|
25 | * This patterns excludes the names of the files are used by the framework for the initializing the framework itself. |
|
26 | */ |
|
27 | 5 | final public static Pattern PATTERN = |
28 | Pattern.compile(".*jpatterns.*(?<!^jpatterns_framework)(?<!^jpatterns_framework_custom)\\.xml"); |
|
29 | ||
30 | /** |
|
31 | * This interface stores the constants related to the configuration of all the XML configuration files might be used at the JPatterns |
|
32 | */ |
|
33 | public interface XMLConfigFilesConstants |
|
34 | { |
|
35 | /** |
|
36 | * This is the file name where the JPatterns configuration would be stored (the idea is when JPattern would have the patterns |
|
37 | * implemented, then another functionality would be forced to use these patterns as base - e.g. initially implementations of |
|
38 | * JPatterns base interfaces are taken from the properties file, but when "factory" pattern would be implemented we would be |
|
39 | * able to use the xml for the storing implementations defined per interfaces etc.) |
|
40 | * <br/> |
|
41 | * The customer specific configuration file can not be the same name with this provided below. It is reserved one. |
|
42 | * When for the XML configuration files for the JPatterns this name would be simply excluded. |
|
43 | * (<strong>jpatterns_framework_custom</strong> and <strong>jpatterns_framework</strong>) |
|
44 | */ |
|
45 | String DEFAULT_XML_FRAMEWORK_CONFIG_FILE_NAME = "jpatterns_framework.xml"; |
|
46 | ||
47 | /** |
|
48 | * The JVM param is used for the obtaining the overriden configuration for the framework default configuration (is used for |
|
49 | * the wramework itself) |
|
50 | */ |
|
51 | String DEFAULT_XML_FRAMEWORK_CONFIG_FILE_NAME_JVM_PARAM = DEFAULT_XML_FRAMEWORK_CONFIG_FILE_NAME; |
|
52 | ||
53 | /** |
|
54 | * The key is used for the obtaining the configuration for the default framework xml file. |
|
55 | */ |
|
56 | String DEFAULT_XML_FRAMEWORK_CONFIG_FILE_NAME_PROPS_PARAM = "jpatterns.configuration.xml.default.framework.file"; |
|
57 | ||
58 | /** |
|
59 | * Please review the Java Docs to the {@link JPConstants.XMLConfigFilesConstants#DEFAULT_XML_FRAMEWORK_CONFIG_FILE_NAME}. |
|
60 | * <br/> |
|
61 | * The file with such name allows to override/extend the configuration is written and this default file. |
|
62 | */ |
|
63 | String CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME = "jpatterns_framework_custom.xml"; |
|
64 | ||
65 | /** |
|
66 | * The JVM param is used for the obtaining the overriden configuration for the custom framework xml file. |
|
67 | */ |
|
68 | String CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME_JVM_PARAM = CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME; |
|
69 | ||
70 | /** |
|
71 | * The key is used for the obtaining the overriden configuration for the custom framework xml file. |
|
72 | */ |
|
73 | String CUSTOM_XML_FRAMEWORK_CONFIG_FILE_NAME_PROPS_PARAM = "jpatterns.configuration.xml.custom.framework.file"; |
|
74 | ||
75 | /** |
|
76 | * The JVM param is used for the obtaining the path to the directory where the overriden XML customer specific configuration |
|
77 | * should be seached |
|
78 | */ |
|
79 | String CUSTOM_XML_CONSUMER_CONFIG_DIR_NAME_JVM_PARAM = "jpatterns.configuration.xml.custom.consumer.config.dir"; |
|
80 | ||
81 | /** |
|
82 | * The JVM param is used for the obtaining the path to the directory where the default XML customer specific configuration |
|
83 | * should be seached |
|
84 | */ |
|
85 | String DEFAULT_XML_CONSUMER_CONFIG_DIR_NAME_JVM_PARAM = "jpatterns.configuration.xml.default.consumer.config.dir"; |
|
86 | ||
87 | /** |
|
88 | * The key for the properties settings defining the directory where to find all the jpatterns configuration. |
|
89 | */ |
|
90 | String CUSTOM_XML_CONSUMER_CONFIG_DIR_NAME_PROPS_PARAM = CUSTOM_XML_CONSUMER_CONFIG_DIR_NAME_JVM_PARAM; |
|
91 | ||
92 | /** |
|
93 | * The key for the properties settings defining the directory where to find default consumer jpatterns configuration. |
|
94 | */ |
|
95 | String DEFAULT_XML_CONSUMER_CONFIG_DIR_NAME_PROPS_PARAM = DEFAULT_XML_CONSUMER_CONFIG_DIR_NAME_JVM_PARAM; |
|
96 | } |
|
97 | ||
98 | /** |
|
99 | * This interface stores the constants related to the configuration of all the properties based configuration files |
|
100 | */ |
|
101 | public interface PropertiesConfigFilesConstants |
|
102 | { |
|
103 | /** |
|
104 | * PROPERTIES_EXTENSION |
|
105 | */ |
|
106 | String PROPERTIES_EXTENSION = ".properties"; |
|
107 | ||
108 | /** |
|
109 | * DEFAULT_PROPERTIES_BASE_NAME |
|
110 | */ |
|
111 | String DEFAULT_PROPERTIES_BASE_NAME = "jpatterns"; |
|
112 | ||
113 | /** |
|
114 | * The name of the default jpatterns properties file - these properties are necessary to setup configuration only for the |
|
115 | * JPatterns core files - when factory pattern would be implemented the configuration would be taken from the xml file with |
|
116 | * the name <code>DEFAULT_XML_CONFIG_FILE_NAME</code> |
|
117 | */ |
|
118 | String DEFAULT_PROPERTIES_FILE_NAME = DEFAULT_PROPERTIES_BASE_NAME + PROPERTIES_EXTENSION; |
|
119 | ||
120 | /** |
|
121 | * It is possible to override the name to the default properties file using the JVM parameter |
|
122 | */ |
|
123 | String DEFAULT_PROPERTIES_FILE_NAME_JVM_PARAM = DEFAULT_PROPERTIES_FILE_NAME; |
|
124 | ||
125 | /** |
|
126 | * CUSTOM_PROPERTIES_BASE_NAME |
|
127 | */ |
|
128 | String CUSTOM_PROPERTIES_BASE_NAME = "jpatterns_custom"; |
|
129 | ||
130 | /** |
|
131 | * The name of the file where the custom properties woduld be stored - it would allow the developers using JPatterns, |
|
132 | * to override the default settings would be stored at the Jar file. |
|
133 | */ |
|
134 | String CUSTOM_PROPERTIES_FILE_NAME = CUSTOM_PROPERTIES_BASE_NAME + PROPERTIES_EXTENSION; |
|
135 | ||
136 | /** |
|
137 | * It is possible to override the name to the custom properties file using the JVM parameter |
|
138 | */ |
|
139 | String CUSTOM_PROPERTIES_FILE_NAME_JVM_PARAM = CUSTOM_PROPERTIES_FILE_NAME; |
|
140 | } |
|
141 | ||
142 | /** |
|
143 | * Defines the logging categories to be used by the JPatterns core |
|
144 | */ |
|
145 | 15 | public enum LoggingCategory |
146 | { |
|
147 | /** |
|
148 | * All the debug messages related to the Factory pattern |
|
149 | */ |
|
150 | 5 | FACTORY, |
151 | ||
152 | /** |
|
153 | * All the messages related to the obtaining patterns from the JPatterns consumer/framework configuration |
|
154 | */ |
|
155 | 5 | OBTAIN_PATTERNS |
156 | } |
|
157 | ||
158 | /** |
|
159 | * This enumeration defines the possible categories for the configuration JPatterns engine would use for the obtain the patterns implementations |
|
160 | * (for nowe it is just consumer but in the future when some different providers appear - it could be extended or made even dynamical) |
|
161 | * <br/> |
|
162 | * todo [zmicer]: review the above mentioned. It is logged as the 4 item of the release 1.1 requirements. |
|
163 | */ |
|
164 | 15 | public enum EngineConfigCaregory |
165 | { |
|
166 | /** |
|
167 | * Framework configuration |
|
168 | */ |
|
169 | 5 | FRAMEWORK, |
170 | /** |
|
171 | * Consumer configuration |
|
172 | */ |
|
173 | 5 | CONSUMER |
174 | } |
|
175 | ||
176 | /** |
|
177 | * This interface stores the names of the config elements which are the part of the FrameworkConfig |
|
178 | */ |
|
179 | 0 | public interface FrameworkConfigEntities |
180 | { |
|
181 | /** |
|
182 | * Defines the name of the factory woul dbe used for the factory core settings |
|
183 | */ |
|
184 | String FACTORY_JPATTERNS_CORE = "JPatternsCore"; |
|
185 | /** |
|
186 | * Defines the item with the configuration for the plugins |
|
187 | */ |
|
188 | String ITEM_JPATTERNS_PLUGIN = "JPatternsPlugins"; |
|
189 | } |
|
190 | ||
191 | /** |
|
192 | * The default scope name constant. |
|
193 | */ |
|
194 | public static final String DEFAULT_SCOPE_NAME = "DEFAULT_SCOPE"; |
|
195 | ||
196 | /** |
|
197 | * default priority to be used with the not prioritized JPatternsConfig child elements |
|
198 | */ |
|
199 | public static final int DEFAULT_PRIORITY = -1; |
|
200 | ||
201 | /** |
|
202 | * Prioritized priority prefix. |
|
203 | */ |
|
204 | public static final String PRIORITIZED_PRIOTITY_PREFIX = "PRIORITIZED_PRIORITY_"; |
|
205 | } |
|
206 |