KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > susebox > jtopas > TokenizerPropertyListener


1 /*
2  * TokenizerPropertyListener.java: tokenizer property change event handler.
3  *
4  * Copyright (C) 2002 Heiko Blau
5  *
6  * This file belongs to the JTopas Library.
7  * JTopas is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU Lesser General Public License as published by the
9  * Free Software Foundation; either version 2.1 of the License, or (at your
10  * option) any later version.
11  *
12  * This software is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE.
15  * See the GNU Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License along
18  * with JTopas. If not, write to the
19  *
20  * Free Software Foundation, Inc.
21  * 59 Temple Place, Suite 330,
22  * Boston, MA 02111-1307
23  * USA
24  *
25  * or check the Internet: http://www.fsf.org
26  *
27  * Contact:
28  * email: heiko@susebox.de
29  */

30
31 package de.susebox.jtopas;
32
33 //-----------------------------------------------------------------------------
34
// Imports
35
//
36

37
38 //-----------------------------------------------------------------------------
39
// Interface TokenizerPropertyListener
40
//
41

42 /**<p>
43  * The interface <code>TokenizerPropertyListener</code> is implemented by classes
44  * that are interested in changes in {@link TokenizerProperties} objects. Such
45  * changes are adding, removing and modifying of properties like keywords, special
46  * sequences etc. or parse flags.
47  *</p><p>
48  * Usually, a {@link Tokenizer} implementation will also implement this interface.
49  * An example is {@link StandardTokenizer}. With the listener design pattern,
50  * a tokenizer can cache information for fast access that is originally held in
51  * its associated <code>TokenizerProperties</code> object, without the danger of
52  * using out-of-date data.
53  *</p><p>
54  * The method {@link TokenizerProperties#addTokenizerPropertyListener} is used to
55  * register a listener. De-registering is done via
56  * {@link TokenizerProperties#removeTokenizerPropertyListener}. The whole mechanism
57  * is therefore the same as the event listener schemes used in the AWT or the
58  * Swing packages of the JDK.
59  *</p>
60  *
61  * @see TokenizerProperties
62  * @see Tokenizer
63  * @see TokenizerPropertyEvent
64  * @author Heiko Blau
65  */

66 public interface TokenizerPropertyListener {
67   
68   /**
69    * Event handler method. The given {@link TokenizerPropertyEvent} parameter
70    * contains the nessecary information about the property change. We choose
71    * one single method in favour of various more specialized methods since the
72    * reactions on adding, removing and modifying tokenizer properties are often
73    * the same (flushing cash, rereading information etc.) or not very different.
74    *<br>
75    * A {@link TokenizerProperties} object calling its listeners should do this in
76    * the order the listeners were registered with the
77    * {@link TokenizerProperties#addTokenizerPropertyListener} method.
78    *
79    * @param event the {@link TokenizerPropertyEvent} that describes the change
80    */

81   public void propertyChanged(TokenizerPropertyEvent event);
82 }
83
Popular Tags