View Javadoc

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  }