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 }