KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > editor > codetemplates > CTManagerOperationBridge


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.lib.editor.codetemplates;
21
22 import javax.swing.JEditorPane JavaDoc;
23 import javax.swing.text.Document JavaDoc;
24 import javax.swing.text.JTextComponent JavaDoc;
25 import javax.swing.text.PlainDocument JavaDoc;
26 import org.netbeans.lib.editor.codetemplates.api.CodeTemplate;
27 import org.netbeans.lib.editor.codetemplates.api.CodeTemplateManager;
28 import org.netbeans.lib.editor.codetemplates.spi.CodeTemplateInsertRequest;
29 import org.netbeans.lib.editor.codetemplates.spi.CodeTemplateParameter;
30 import org.netbeans.lib.editor.codetemplates.spi.CodeTemplateProcessor;
31 import org.netbeans.lib.editor.codetemplates.spi.CodeTemplateProcessorFactory;
32
33 /**
34  * Bridge to CodeTemplateManagerOperation to load explicit templates.
35  *
36  * @author mmetelka
37  */

38 public class CTManagerOperationBridge {
39     
40     private static final Document JavaDoc staticDoc = new PlainDocument JavaDoc();
41     static {
42         staticDoc.putProperty("mimeType", "text/fake");
43     }
44     
45     private static final CodeTemplateManager staticManager
46             = CodeTemplateManagerOperation.getManager(staticDoc);
47     
48     private static final JTextComponent JavaDoc staticComponent = new JEditorPane JavaDoc();
49     static {
50         staticComponent.setDocument(staticDoc);
51     }
52
53     public static void test(String JavaDoc parametrizedText, CTProcessor processor) {
54         CodeTemplateApiPackageAccessor.get().getOperation(staticManager).testInstallProcessorFactory(new CTPFactory(processor));
55         CodeTemplate template = staticManager.createTemporary(parametrizedText);
56         template.insert(staticComponent);
57     }
58
59     private static final class CTPFactory implements CodeTemplateProcessorFactory {
60         
61         private CTProcessor processor;
62         
63         CTPFactory(CTProcessor processor) {
64             this.processor = processor;
65         }
66
67         public CodeTemplateProcessor createProcessor(CodeTemplateInsertRequest request) {
68             assert (request != null);
69             processor.setRequest(request);
70             return processor;
71         }
72         
73     }
74 }
75
Popular Tags