KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > digester > plugins > ContainerCustomRules


1 /* $Id: ContainerCustomRules.java 155412 2005-02-26 12:58:36Z dirkv $
2  *
3  * Copyright 2001-2004 The Apache Software Foundation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * 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
18 package org.apache.commons.digester.plugins;
19
20 import org.apache.commons.digester.Digester;
21
22 public class ContainerCustomRules {
23     public static void addRules(Digester digester, String JavaDoc pattern) {
24         // A Container object can have subtags called "widget" which
25
// define any object of type Widget. Because a Container is
26
// itself a widget, this allows us to build trees of objects.
27
PluginCreateRule pcr = new PluginCreateRule(Widget.class);
28         digester.addRule(pattern+"/widget", pcr);
29         digester.addSetNext(pattern+"/widget", "addChild");
30         
31         // allow users to declare plugins under a container as well
32
PluginDeclarationRule pdr = new PluginDeclarationRule();
33         digester.addRule(pattern+"/plugin", pdr);
34     }
35 }
36
Popular Tags