001/* $Id: RuleSetBase.java 992060 2010-09-02 19:09:47Z simonetripodi $
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
020package 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
029public 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}