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 }