1 /* $Id: TestRuleSet.java 1212599 2011-12-09 19:46:42Z simonetripodi $
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one or more
4 * contributor license agreements. See the NOTICE file distributed with
5 * this work for additional information regarding copyright ownership.
6 * The ASF licenses this file to You under the Apache License, Version 2.0
7 * (the "License"); you may not use this file except in compliance with
8 * the License. You may obtain a copy of the License at
9 *
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.digester3;
20
21 import org.apache.commons.digester3.Digester;
22 import org.apache.commons.digester3.RuleSetBase;
23
24 /**
25 * RuleSet that mimics the rules set used for Employee and Address creation, optionally associated with a particular
26 * namespace URI.
27 *
28 * @author Craig R. McClanahan
29 */
30 public class TestRuleSet
31 extends RuleSetBase
32 {
33
34 // ----------------------------------------------------------- Constructors
35
36 /**
37 * Construct an instance of this RuleSet with default values.
38 */
39 public TestRuleSet()
40 {
41
42 this( null, null );
43
44 }
45
46 /**
47 * Construct an instance of this RuleSet associated with the specified prefix, associated with no namespace URI.
48 *
49 * @param prefix Matching pattern prefix (must end with '/') or null.
50 */
51 public TestRuleSet( String prefix )
52 {
53
54 this( prefix, null );
55
56 }
57
58 /**
59 * Construct an instance of this RuleSet associated with the specified prefix and namespace URI.
60 *
61 * @param prefix Matching pattern prefix (must end with '/') or null.
62 * @param namespaceURI The namespace URI these rules belong to
63 */
64 public TestRuleSet( String prefix, String namespaceURI )
65 {
66
67 super(namespaceURI);
68 if ( prefix == null )
69 {
70 this.prefix = "";
71 }
72 else
73 {
74 this.prefix = prefix;
75 }
76
77 }
78
79 // ----------------------------------------------------- Instance Variables
80
81 /**
82 * The prefix for each matching pattern added to the Digester instance, or an empty String for no prefix.
83 */
84 protected String prefix = null;
85
86 // --------------------------------------------------------- Public Methods
87
88 /**
89 * {@inheritDoc}
90 */
91 public void addRuleInstances( Digester digester )
92 {
93
94 digester.addObjectCreate( prefix + "employee", Employee.class );
95 digester.addSetProperties( prefix + "employee" );
96 digester.addObjectCreate( "employee/address", "org.apache.commons.digester3.Address" );
97 digester.addSetProperties( prefix + "employee/address" );
98 digester.addSetNext( prefix + "employee/address", "addAddress" );
99
100 }
101
102 }