KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > html > editor > folding > HTMLFoldUtils


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.modules.html.editor.folding;
21
22 import org.netbeans.api.editor.fold.Fold;
23 import org.netbeans.api.editor.fold.FoldHierarchy;
24 import org.netbeans.spi.editor.fold.FoldOperation;
25 import org.netbeans.editor.ext.html.parser.SyntaxElement;
26
27 /**
28  * Utility class. Contains mostly debug messages suport.
29  *
30  * @author Marek Fukala
31  */

32 public class HTMLFoldUtils {
33
34     /** Prints folds recursivelly into standard output*/
35     public static void printFolds(FoldOperation fo) {
36         FoldHierarchy fh = fo.getHierarchy();
37         fh.lock();
38         try {
39             Fold rootFold = fh.getRootFold();
40             printChildren(rootFold, 0);
41         } finally {
42             fh.unlock();
43         }
44     }
45     
46     private static void printChildren(Fold f, int level) {
47         int foldCount = f.getFoldCount();
48         //indent
49
for( int i = 0; i < level; i ++) System.out.print(" "); // NOI18N
50
//print this fold info
51
System.out.println(f.getDescription() + " [" + f.getStartOffset() + " - " + f.getEndOffset() + "]"); // NOI18N
52
//print children
53
for (int i = 0; i < foldCount; i++) {
54             Fold childFold = f.getFold(i);
55             printChildren(childFold, level + 4);
56         }
57         
58     }
59   
60     public static String JavaDoc getContextName(int typeId) {
61         switch(typeId) {
62             case SyntaxElement.TYPE_TAG:
63                 return "tag"; // NOI18N
64
case SyntaxElement.TYPE_COMMENT:
65                 return "comment"; // NOI18N
66
default:
67                 return "?"; // NOI18N
68
}
69     }
70     
71 }
72
Popular Tags