1 package com.sourceforge.jpatterns.core.configuration.model;
2
3 import com.sourceforge.jpatterns.schema.JPatternsConfig;
4
5 import java.util.List;
6
7 /**
8 * This interface defines the builder facilities for constructing the <code>JPatternsConfigBaseBean</code> from the provided
9 * <code>JPatternsConfig</code> object.
10 *
11 * $Author:: zmicer $<br/>
12 * $Rev:: 57 $<br/> * $Date:: 2007-08-23 09:16:37 #$<br/>
13 * $Date:: 2007-08-23 09:16:37 #$<br/>
14 */
15 public interface IJPatternsConfigBeansBuilder
16 {
17 /**
18 * Build the <code>JPatternsConfigBaseBean</code> using the provided <code>JPatternsConfig</code> object.
19 * <br/>
20 * Please review the JavaDocs to get the info about the algorithm the concrete implementation uses.
21 *
22 * @param config JPatternsConfig castor object. Not normalized castor config object should be passed here\
23 * ({@link com.sourceforge.jpatterns.utils.CastorUtils#validateAndNormalizeScopesPriorities(com.sourceforge.jpatterns.schema.JPatternsConfig)}).
24 * Can not be null (otherwise <code>IllegalArgumentException</code> would appear).
25 *
26 * @return JPatternsConfigBean castor object built using the provided <code>JPatternsConfig</code> castor root object.
27 */
28 JPatternsConfigBean build(final JPatternsConfig config);
29
30 /**
31 * Build as {@link JPatternsConfigsBean} using the List of {@link JPatternsConfigBean} objects
32 * <br/>
33 * Please be noticed this method could be used for the prioritized building. In this case one of the beans is passed here should have
34 * been already prioritized (it should have been created using the
35 * {@link com.sourceforge.jpatterns.utils.CastorUtils#makePrioritized(com.sourceforge.jpatterns.schema.JPatternsConfig)} method)
36 *
37 * @param beans the List of JPatternsConfigBean objects, Can not be null (otherwise <code>IllegalArgumentException</code> would appear).
38 * Should be built using normalized configs.
39 *
40 * @return the built <code>JPatternsConfigsBean</code>, in the case of empty <code>beans</code> just initial version of this bean
41 * would returned.
42 */
43 JPatternsConfigsBean build(final List<JPatternsConfigBaseBean> beans);
44 }