01: /* $Id: LoaderSetProperties.java 471661 2006-11-06 08:09:25Z skitching $
02: *
03: * Licensed to the Apache Software Foundation (ASF) under one or more
04: * contributor license agreements. See the NOTICE file distributed with
05: * this work for additional information regarding copyright ownership.
06: * The ASF licenses this file to You under the Apache License, Version 2.0
07: * (the "License"); you may not use this file except in compliance with
08: * the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */
18:
19: package org.apache.commons.digester.plugins.strategies;
20:
21: import org.apache.commons.digester.Digester;
22: import org.apache.commons.logging.Log;
23: import org.apache.commons.digester.plugins.RuleLoader;
24:
25: /**
26: * A RuleLoader which creates a single SetPropertiesRule and adds it to the
27: * digester when its addRules() method is invoked.
28: * <p>
29: * This loader ensures that any xml attributes on the plugin tag get
30: * mapped to equivalent properties on a javabean. This allows JavaBean
31: * classes to be used as plugins without any requirement to create custom
32: * plugin rules.
33: *
34: * @since 1.6
35: */
36:
37: public class LoaderSetProperties extends RuleLoader {
38:
39: /**
40: * Just add a SetPropertiesRule at the specified path.
41: */
42: public void addRules(Digester digester, String path) {
43: Log log = digester.getLogger();
44: boolean debug = log.isDebugEnabled();
45: if (debug) {
46: log
47: .debug("LoaderSetProperties loading rules for plugin at path ["
48: + path + "]");
49: }
50:
51: digester.addSetProperties(path);
52: }
53: }
|