01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * 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: }
|