KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > freemarker > eclipse > editors > DirectiveRule


1 package freemarker.eclipse.editors;
2
3 import org.eclipse.jface.text.rules.ICharacterScanner;
4 import org.eclipse.jface.text.rules.IToken;
5 import org.eclipse.jface.text.rules.PatternRule;
6 import org.eclipse.jface.text.rules.Token;
7
8 /**
9  * A FreeMarker directive rule. This rule handles all the starting
10  * sequences, as well as various constructs inside the directives.
11  * In particular '>' characters inside parenthesized expressions,
12  * quoted strings and FreeMarker comments are handled.
13  *
14  * @author <a HREF="mailto:stephan@chaquotay.net">Stephan Mueller</a>
15  * @author <a HREF="mailto:per&#64;percederberg.net">Per Cederberg</a>
16  * @version $Id: $
17  */

18 public class DirectiveRule extends PatternRule {
19
20     /**
21      * Creates a ftl directive rule.
22      *
23      * @param token the token which will be returned on success
24      */

25     public DirectiveRule(IToken token) {
26         super("<#", ">", token, (char) 0, false);
27     }
28
29     /* (non-Javadoc)
30      * @see org.eclipse.jface.text.rules.PatternRule#doEvaluate(org.eclipse.jface.text.rules.ICharacterScanner, boolean)
31      */

32     protected IToken doEvaluate(ICharacterScanner scanner, boolean resume) {
33         if (!resume && !FreemarkerTools.readDirectiveStart(scanner)) {
34             return Token.UNDEFINED;
35         }
36         FreemarkerTools.readDirectiveEnd(scanner);
37         return fToken;
38     }
39
40 }
41
Popular Tags