View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */ 
17  package org.apache.commons.betwixt.digester;
18  
19  import java.util.HashMap;
20  import java.util.Map;
21  
22  /**
23   * <code>XMLSingleMappingFileBeanInfoDigester</code> is a digester of XML files
24   * containing XMLBeanInfo definitions for a JavaBeans.
25   *
26   * @since 0.7
27   * @author Brian Pugh
28   */
29  public class MultiMappingBeanInfoDigester extends XMLBeanInfoDigester {
30      /** <code>XMLBeanInfo</code>'s indexed by <code>Class</code> */
31      private Map beanInfoMap = new HashMap();
32      
33      // Implementation methods
34      //-------------------------------------------------------------------------
35      /**
36       * Reset configure for new digestion.
37       */
38      protected void configure() {
39          if (!configured) {
40              configured = true;
41              
42  	        // add the various rules
43  	        addRule("betwixt-config", new ConfigRule());
44  	        addRule("betwixt-config/class", new ClassRule());
45  	        addRuleSet(new CommonRuleSet());
46          }
47          
48  	    // now initialize
49  	    //setAttributesForPrimitives(true);
50  	    getProcessedPropertyNameSet().clear();
51  	    getXMLIntrospector().getRegistry().flush();
52      }
53      
54      /**
55       * Map containing <code>XMLBeanInfo</code> classes.
56       * Keys are the <code>Class</code> and values are the <code>XMLBeanInfo</code> objects.
57       *
58       * @return map of XMLBeanInfos
59       */
60      public Map getBeanInfoMap() {
61          return beanInfoMap;
62      }
63      
64      /**
65       * Set the Map containing <code>XMLBeanInfo</code> classes.
66       * @param beanInfoMap map to set.
67       */
68      public void setBeanInfoMap(Map beanInfoMap) {
69          this.beanInfoMap = beanInfoMap;
70      }
71  
72  }