b4ca23d3c222c74d82e8bc038ed7db7eed2c2dcf
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / corext / template / TemplateContext.java
1 /*
2  * (c) Copyright IBM Corp. 2000, 2001.
3  * All Rights Reserved.
4  */
5 package net.sourceforge.phpdt.internal.corext.template;
6
7 import org.eclipse.core.runtime.CoreException;
8
9 /**
10  * A template context. A template context is associated with a context type.
11  */
12 public abstract class TemplateContext {
13
14         /** context type of this context */
15         private final ContextType fContextType;
16
17         /**
18          * Creates a template context of a particular context type.
19          */
20         protected TemplateContext(ContextType contextType) {
21                 fContextType= contextType;
22         }
23
24         /**
25          * Returns the context type of this context.
26          */
27         public ContextType getContextType() {
28                 return fContextType;   
29         }
30
31         /**
32          * Evaluates the template and returns a template buffer.
33          */
34         public abstract TemplateBuffer evaluate(Template template) throws CoreException;
35         
36         /**
37          * Tests if the specified template can be evaluated in this context.
38          */
39         public abstract boolean canEvaluate(Template template);
40         
41 }