Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/apache/hivemind/schema/Rule.java


1   // Copyright 2004, 2005 The Apache Software Foundation
2   //
3   // Licensed under the Apache License, Version 2.0 (the "License");
4   // you may not use this file except in compliance with the License.
5   // You may obtain a copy of the License at
6   //
7   //     http://www.apache.org/licenses/LICENSE-2.0
8   //
9   // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  
15  package org.apache.hivemind.schema;
16  
17  import org.apache.hivemind.Element;
18  import org.apache.hivemind.Locatable;
19  
20  /**
21   * Rules associated with {@link org.apache.hivemind.schema.Schema} elements.
22   * As the {@link org.apache.hivemind.schema.SchemaProcessor}
23   * works through the {@link org.apache.hivemind.Element} hiearchy, it invokes
24   * methods on the Rules.
25   * 
26   * @author Howard M. Lewis Ship
27   */
28  public interface Rule extends Locatable
29  {
30    /**
31     * Begin rules are fired first, in order.  All rules are invoked, and then the
32     * SchemaProcessor recurses into the elements contained within the element.
33     */
34      public void begin(SchemaProcessor processor, Element element);
35  
36    /**
37     * End rules are fired last, in inverse order.
38     */
39      public void end(SchemaProcessor processor, Element element);
40  }