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 }