1 package com.sourceforge.jpatterns.core.configuration.model; 2 3 import com.sourceforge.jpatterns.core.JPConstants; 4 import com.sourceforge.jpatterns.schema.JPatternsConfig; 5 import org.apache.log4j.Logger; 6 7 /** 8 * This bean represents the <code>JPatternsConfig</code>, it contains this castor object by itself and also several additional data 9 * storages - representations of the <code>JPatternsConfig</code> from the point of view of logical sections <code>CastorSectionType</code>, 10 * and the business items <code>CastorNameScopePriorityType</code>.<br/> 11 * 12 * $Author:: zmicer $<br/> 13 * $Rev:: 57 $<br/> * $Date:: 2007-08-23 09:16:37 #$<br/> 14 * $Date:: 2007-08-23 09:16:37 #$<br/> 15 */ 16 public class JPatternsConfigBean extends JPatternsConfigBaseBean 17 { 18 /** 19 * Logger instance. 20 */ 21 final public static Logger LOG = Logger.getLogger(JPatternsConfigBean.class); 22 23 /** 24 * This member stores the JPatternsConfig by itself, without any modifications 25 */ 26 private JPatternsConfig m_castorConfig; 27 28 /** 29 * The default scope ID of the root castor object, is introduced as the separate member for the facility to operate with the JPatterns 30 * configuration 31 */ 32 private String m_defaultScope; 33 34 /** 35 * Default public constructor. 36 */ 37 public JPatternsConfigBean() 38 { 39 super(); 40 } 41 42 /** 43 * Set the new value to the class member storing the native castor configuration. This method also changes the value of the 44 * default scope to the one defined at the provided <code>JPatternsConfig</code>. 45 * 46 * @param config JPatternsConfig new value of the castor object to be set. 47 * Can not be null (otherwise <code>IllegalArgumentException</code> would appear). 48 */ 49 public void setCastorConfig(final JPatternsConfig config) 50 { 51 if (null == config) 52 { 53 throw new IllegalArgumentException("The JPatternsConfig castor object with JPatterns configuration can not be null."); 54 } 55 m_castorConfig = config; 56 if (null == m_castorConfig.getDefaultScope() || "".equals(m_castorConfig.getDefaultScope())) 57 { 58 m_defaultScope = JPConstants.DEFAULT_SCOPE_NAME; 59 } 60 else 61 { 62 m_defaultScope = m_castorConfig.getDefaultScope(); 63 } 64 } 65 66 /** 67 * @return the castor object - root configuration storage 68 */ 69 public JPatternsConfig getCastorConfig() 70 { 71 return m_castorConfig; 72 } 73 74 /** 75 * Set the new value for the default scope. In the case it is null/empty - 76 * <code>com.sourceforge.jpatterns.core.JPConstants.DEFAULT_SCOPE_NAME</code> would be set. 77 * 78 * @param scope the new value for the scope varible. Could take any values 79 */ 80 public void setDefaultScope(final String scope) 81 { 82 if (null == scope || "".equals(scope)) 83 { 84 m_defaultScope = JPConstants.DEFAULT_SCOPE_NAME; 85 } 86 else 87 { 88 m_defaultScope = scope; 89 } 90 } 91 92 /** 93 * @return the value of the default scope 94 */ 95 public String getDefaultScope() 96 { 97 return m_defaultScope; 98 } 99 100 /** 101 * Perform the check of the composition of the <code>JPatternsConfigBean</code> object. We would just check all the members of the 102 * bean are set. 103 * 104 * @return <code>true</code> if all is ok with the composition of the bean, <code>false</code> otherwise. 105 */ 106 public boolean check() 107 { 108 return (null != m_castorConfig && null != m_defaultScope && super.check()); 109 } 110 }