KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > rice > cs > util > docnavigation > IDocumentNavigatorAlgo


1 /*BEGIN_COPYRIGHT_BLOCK
2 *
3 * This file is part of DrJava. Download the current version of this project:
4 * http://sourceforge.net/projects/drjava/ or http://www.drjava.org/
5 *
6 * DrJava Open Source License
7 *
8 * Copyright (C) 2001-2003 JavaPLT group at Rice University (javaplt@rice.edu)
9 * All rights reserved.
10 *
11 * Developed by: Java Programming Languages Team
12 * Rice University
13 * http://www.cs.rice.edu/~javaplt/
14 *
15 * Permission is hereby granted, free of charge, to any person obtaining a
16 * copy of this software and associated documentation files (the "Software"),
17 * to deal with the Software without restriction, including without
18 * limitation the rights to use, copy, modify, merge, publish, distribute,
19 * sublicense, and/or sell copies of the Software, and to permit persons to
20 * whom the Software is furnished to do so, subject to the following
21 * conditions:
22 *
23 * - Redistributions of source code must retain the above copyright
24 * notice, this list of conditions and the following disclaimers.
25 * - Redistributions in binary form must reproduce the above copyright
26 * notice, this list of conditions and the following disclaimers in the
27 * documentation and/or other materials provided with the distribution.
28 * - Neither the names of DrJava, the JavaPLT, Rice University, nor the
29 * names of its contributors may be used to endorse or promote products
30 * derived from this Software without specific prior written permission.
31 * - Products derived from this software may not be called "DrJava" nor
32 * use the term "DrJava" as part of their names without prior written
33 * permission from the JavaPLT group. For permission, write to
34 * javaplt@rice.edu.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
39 * THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
40 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
41 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS WITH THE SOFTWARE.
43 *
44 END_COPYRIGHT_BLOCK*/

45
46 package edu.rice.cs.util.docnavigation;
47
48 /**
49  * Visitor interface implemented by anything which wishes to visit an IDocumentNavigator
50  */

51
52 public interface IDocumentNavigatorAlgo<ItemT extends INavigatorItem, InType, ReturnType>
53 {
54   /**
55    * the List case for the visitor
56    * @param navigator the navigator that is executing the visitor
57    * @param input the input to the algorithm
58    */

59   public ReturnType forList(IDocumentNavigator<ItemT> navigator, InType input);
60
61   /**
62    * the Tree case for the visitor
63    * @param navigator the navigator that is executing the visitor
64    * @param input the input to the algorithm
65    */

66   public ReturnType forTree(IDocumentNavigator<ItemT> navigator, InType input);
67 }
68
Popular Tags