View Javadoc

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 }