- /* $Id: Rules.java,v 1.11 2004/05/10 06:30:06 skitching Exp $
- *
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
- package org.apache.commons.digester;
-
-
- import java.util.List;
-
-
- /**
- * Public interface defining a collection of Rule instances (and corresponding
- * matching patterns) plus an implementation of a matching policy that selects
- * the rules that match a particular pattern of nested elements discovered
- * during parsing.
- */
-
- public interface Rules {
-
-
- // ------------------------------------------------------------- Properties
-
-
- /**
- * Return the Digester instance with which this Rules instance is
- * associated.
- */
- public Digester getDigester();
-
-
- /**
- * Set the Digester instance with which this Rules instance is associated.
- *
- * @param digester The newly associated Digester instance
- */
- public void setDigester(Digester digester);
-
-
- /**
- * Return the namespace URI that will be applied to all subsequently
- * added <code>Rule</code> objects.
- */
- public String getNamespaceURI();
-
-
- /**
- * Set the namespace URI that will be applied to all subsequently
- * added <code>Rule</code> objects.
- *
- * @param namespaceURI Namespace URI that must match on all
- * subsequently added rules, or <code>null</code> for matching
- * regardless of the current namespace URI
- */
- public void setNamespaceURI(String namespaceURI);
-
-
- // --------------------------------------------------------- Public Methods
-
-
- /**
- * Register a new Rule instance matching the specified pattern.
- *
- * @param pattern Nesting pattern to be matched for this Rule
- * @param rule Rule instance to be registered
- */
- public void add(String pattern, Rule rule);
-
-
- /**
- * Clear all existing Rule instance registrations.
- */
- public void clear();
-
-
- /**
- * Return a List of all registered Rule instances that match the specified
- * nesting pattern, or a zero-length List if there are no matches. If more
- * than one Rule instance matches, they <strong>must</strong> be returned
- * in the order originally registered through the <code>add()</code>
- * method.
- *
- * @param pattern Nesting pattern to be matched
- *
- * @deprecated Call match(namespaceURI,pattern) instead.
- */
- public List match(String pattern);
-
-
- /**
- * Return a List of all registered Rule instances that match the specified
- * nesting pattern, or a zero-length List if there are no matches. If more
- * than one Rule instance matches, they <strong>must</strong> be returned
- * in the order originally registered through the <code>add()</code>
- * method.
- *
- * @param namespaceURI Namespace URI for which to select matching rules,
- * or <code>null</code> to match regardless of namespace URI
- * @param pattern Nesting pattern to be matched
- */
- public List match(String namespaceURI, String pattern);
-
-
- /**
- * Return a List of all registered Rule instances, or a zero-length List
- * if there are no registered Rule instances. If more than one Rule
- * instance has been registered, they <strong>must</strong> be returned
- * in the order originally registered through the <code>add()</code>
- * method.
- */
- public List rules();
-
-
- }