1 package com.sourceforge.jpatterns.patterns; 2 3 import com.sourceforge.jpatterns.core.configuration.exceptions.JPInitializationException; 4 import com.sourceforge.jpatterns.core.configuration.model.JPatternsConfigsBean; 5 import com.sourceforge.jpatterns.schema.CastorSectionType; 6 import com.zmicer.utils.model.ICheckable; 7 8 import java.io.Serializable; 9 10 /** 11 * The interface defines the JPatterns pattern - the base of the framework. All the patterns interfaces would extend this one. 12 * It is to allow us operating with the base concept entities in some places, also it introduced some common for all the JPatterns method. 13 * <p/> 14 * $Author:: $<br/> 15 * $Rev:: $<br/> * $Date:: $<br/> 16 */ 17 public interface IJPattern extends ICheckable, Serializable 18 { 19 /** 20 * Perform the initialization of the JPatterns with the appropriate child instance of <code>CastorSectionType</code> castor config 21 * class and the <code>JPatternsConfigsBean</code> bean storing all the consumer configuration. 22 * 23 * @param castorSectionType castor config object of <code>CastorSectionType</code> class. 24 * Can not be null (otherwise <code>IllegalArgumentException</code> would appear). 25 * @param configBean <code>JPatternsConfigsBean</code> config bean with all the JPatterns consumer configuration. 26 * Can not be null (otherwise <code>IllegalArgumentException</code> would appear). 27 * 28 * @throws JPInitializationException in the case the given CastorSectionType is not of the appropriate type 29 */ 30 void init(CastorSectionType castorSectionType, JPatternsConfigsBean configBean) throws JPInitializationException; 31 32 /** 33 * Make the check this type of the castor config fits the pattern 34 * 35 * @param castorSectionType the castor config object which is the root configuration storage for all the patterns (according to the XSD scheme) 36 * 37 * @return true if this fits to the pattern implementation nature, and false otherwise 38 */ 39 boolean checkCastorConfig(CastorSectionType castorSectionType); 40 }