KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > editors > xml > TagRule


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.editors.xml;
5
6 import org.eclipse.jface.text.rules.ICharacterScanner;
7 import org.eclipse.jface.text.rules.IToken;
8 import org.eclipse.jface.text.rules.MultiLineRule;
9
10 public class TagRule extends MultiLineRule {
11
12     public TagRule(IToken token) {
13         super("<", ">", token);
14     }
15     protected boolean sequenceDetected(
16         ICharacterScanner scanner,
17         char[] sequence,
18         boolean eofAllowed) {
19         int c = scanner.read();
20         if (sequence[0] == '<') {
21             if (c == '?') {
22                 // processing instruction - abort
23
scanner.unread();
24                 return false;
25             }
26             if (c == '!') {
27                 scanner.unread();
28                 // comment - abort
29
return false;
30             }
31         } else if (sequence[0] == '>') {
32             scanner.unread();
33         }
34         return super.sequenceDetected(scanner, sequence, eofAllowed);
35     }
36 }
37
Popular Tags