KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > lexer > inc > MutableTokenList


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.lib.lexer.inc;
21
22 import org.netbeans.api.lexer.TokenId;
23 import org.netbeans.lib.lexer.LexerInputOperation;
24 import org.netbeans.lib.lexer.TokenList;
25
26 /**
27  * Token list that allows mutating by token list mutator.
28  *
29  * @author Miloslav Metelka
30  * @version 1.00
31  */

32
33 public interface MutableTokenList<T extends TokenId> extends TokenList<T> {
34
35     /**
36      * Return token or branch token list at the requested index
37      * but do not synchronize the access - there should only be one thread
38      * accessing the token list at this time.
39      * Also do not perform any checks regarding index validity
40      * - only items below {@link #tokenCountCurrent()} will be requested.
41      */

42     Object JavaDoc tokenOrEmbeddingContainerUnsync(int index);
43     
44     /**
45      * Create lexer input operation used for relexing of the input.
46      */

47     LexerInputOperation<T> createLexerInputOperation(
48     int tokenIndex, int relexOffset, Object JavaDoc relexState);
49     
50     /**
51      * Check whether the whole input was tokenized or not.
52      * <br/>
53      * Incremental algorithm uses this information to determine
54      * whether it should relex the input till the end or not.
55      */

56     boolean isFullyLexed();
57     
58     /**
59      * Update the token list by replacing tokens according to the given change.
60      */

61     void replaceTokens(TokenHierarchyEventInfo eventInfo,
62     TokenListChange<T> change, int removeTokenCount);
63     
64 }
65
Popular Tags