KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > api > java > lexer > JavadocTokenId


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-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.api.java.lexer;
21
22 import java.util.Collection JavaDoc;
23 import java.util.EnumSet JavaDoc;
24 import java.util.Map JavaDoc;
25 import org.netbeans.api.lexer.Language;
26 import org.netbeans.api.lexer.TokenId;
27 import org.netbeans.lib.java.lexer.JavadocLexer;
28 import org.netbeans.spi.lexer.LanguageHierarchy;
29 import org.netbeans.spi.lexer.Lexer;
30 import org.netbeans.spi.lexer.LexerRestartInfo;
31
32 /**
33  * Token ids for javadoc language (embedded in javadoc comments).
34  *
35  * @author Miloslav Metelka
36  * @version 1.00
37  */

38 public enum JavadocTokenId implements TokenId {
39
40     IDENT("comment"),
41     TAG("javadoc-tag"),
42     HTML_TAG("html-tag"),
43     DOT("comment"),
44     HASH("comment"),
45     OTHER_TEXT("comment");
46
47     private final String JavaDoc primaryCategory;
48
49     JavadocTokenId() {
50         this(null);
51     }
52
53     JavadocTokenId(String JavaDoc primaryCategory) {
54         this.primaryCategory = primaryCategory;
55     }
56
57     public String JavaDoc primaryCategory() {
58         return primaryCategory;
59     }
60
61     private static final Language<JavadocTokenId> language = new LanguageHierarchy<JavadocTokenId>() {
62         @Override JavaDoc
63         protected Collection JavaDoc<JavadocTokenId> createTokenIds() {
64             return EnumSet.allOf(JavadocTokenId.class);
65         }
66         
67         @Override JavaDoc
68         protected Map JavaDoc<String JavaDoc,Collection JavaDoc<JavadocTokenId>> createTokenCategories() {
69             return null; // no extra categories
70
}
71
72         @Override JavaDoc
73         protected Lexer<JavadocTokenId> createLexer(LexerRestartInfo<JavadocTokenId> info) {
74             return new JavadocLexer(info);
75         }
76
77         @Override JavaDoc
78         protected String JavaDoc mimeType() {
79             return "text/x-javadoc";
80         }
81     }.language();
82
83     public static Language<JavadocTokenId> language() {
84         return language;
85     }
86
87 }
88
Popular Tags