KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > freemarker > eclipse > test > util > MockDocument


1 package freemarker.eclipse.test.util;
2
3 import java.lang.reflect.InvocationHandler JavaDoc;
4 import java.lang.reflect.Method JavaDoc;
5
6 /**
7  * An implementation of IDocument. AbstractScannerTestCase uses this class to
8  * pass a piece of ftl code to an ITokenScanner.
9  *
10  * @see freemarker.eclipse.test.AbstractScannerTestCase
11  *
12  * @author <a HREF="mailto:stephan&#64;chaquotay.net">Stephan Mueller</a>
13  * @version $Id: MockDocument.java,v 1.2 2004/03/03 21:16:02 stephanmueller Exp $
14  */

15 public class MockDocument implements InvocationHandler JavaDoc {
16
17     private String JavaDoc text = "";
18
19     public Object JavaDoc invoke(Object JavaDoc obj, Method JavaDoc method, Object JavaDoc[] args) throws Throwable JavaDoc {
20         if(method.getName().equals("set")) {
21             text = (String JavaDoc)args[0];
22             return Void.TYPE;
23         } else if(method.getName().equals("getChar")) {
24             Integer JavaDoc pos = ((Integer JavaDoc)args[0]);
25             return new Character JavaDoc(text.charAt(pos.intValue()));
26         } else if(method.getName().equals("getLength")) {
27             return new Integer JavaDoc(text.length());
28         } else if(method.getName().equals("getLegalLineDelimiters")) {
29             return new String JavaDoc[] { "\n" };
30         } else if(method.getName().equals("get")) {
31             return text;
32         }
33         
34         throw new AbstractMethodError JavaDoc(method.getName());
35     }
36 }
37
Popular Tags