001    /* $Id: RuleSetBase.java 471661 2006-11-06 08:09:25Z skitching $
002     *
003     * Licensed to the Apache Software Foundation (ASF) under one or more
004     * contributor license agreements.  See the NOTICE file distributed with
005     * this work for additional information regarding copyright ownership.
006     * The ASF licenses this file to You under the Apache License, Version 2.0
007     * (the "License"); you may not use this file except in compliance with
008     * the License.  You may obtain a copy of the License at
009     * 
010     *      http://www.apache.org/licenses/LICENSE-2.0
011     * 
012     * Unless required by applicable law or agreed to in writing, software
013     * distributed under the License is distributed on an "AS IS" BASIS,
014     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */ 
018    
019    
020    package org.apache.commons.digester;
021    
022    
023    /**
024     * <p>Convenience base class that implements the {@link RuleSet} interface.
025     * Concrete implementations should list all of their actual rule creation
026     * logic in the <code>addRuleSet()</code> implementation.</p>
027     */
028    
029    public abstract class RuleSetBase implements RuleSet {
030    
031    
032        // ----------------------------------------------------- Instance Variables
033    
034    
035        /**
036         * The namespace URI that all Rule instances created by this RuleSet
037         * will be associated with.
038         */
039        protected String namespaceURI = null;
040    
041    
042        // ------------------------------------------------------------- Properties
043    
044    
045        /**
046         * Return the namespace URI that will be applied to all Rule instances
047         * created from this RuleSet.
048         */
049        public String getNamespaceURI() {
050    
051            return (this.namespaceURI);
052    
053        }
054    
055    
056        // --------------------------------------------------------- Public Methods
057    
058    
059        /**
060         * Add the set of Rule instances defined in this RuleSet to the
061         * specified <code>Digester</code> instance, associating them with
062         * our namespace URI (if any).  This method should only be called
063         * by a Digester instance.
064         *
065         * @param digester Digester instance to which the new Rule instances
066         *  should be added.
067         */
068        public abstract void addRuleInstances(Digester digester);
069    
070    
071    }