Package org.eclipse.jface.text.templates
Class TemplateContextType
- java.lang.Object
-
- org.eclipse.jface.text.templates.TemplateContextType
-
public class TemplateContextType extends java.lang.ObjectA context type defines a context within which templates are resolved. It stores a number ofTemplateVariableResolvers. ATemplateBuffercan be resolved in aTemplateContextusing theresolve(TemplateBuffer, TemplateContext)method.Clients may extend this class.
- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description TemplateContextType()Creates a context type with anullidentifier.TemplateContextType(java.lang.String id)Creates a context type with an identifier.TemplateContextType(java.lang.String id, java.lang.String name)Creates a context type with an identifier.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddResolver(TemplateVariableResolver resolver)Adds a variable resolver to the context type.java.lang.StringgetId()Returns the id of the context type.java.lang.StringgetName()Returns the name of the context type.protected TemplateVariableResolvergetResolver(java.lang.String type)Returns the resolver for the given type.voidremoveAllResolvers()Removes all template variables from the context type.voidremoveResolver(TemplateVariableResolver resolver)Removes a template variable from the context type.voidresolve(TemplateBuffer buffer, TemplateContext context)Resolves the variables inbufferwithincontextand edits the template buffer to reflect the resolved variables.voidresolve(TemplateVariable variable, TemplateContext context)Resolves a single variable in a context.java.util.Iterator<TemplateVariableResolver>resolvers()Returns an iterator for the variables known to the context type.voidsetId(java.lang.String id)Sets the id of this context.voidsetName(java.lang.String name)Sets the name of the context type.voidvalidate(java.lang.String pattern)Validates a pattern, aTemplateExceptionis thrown if validation fails.protected voidvalidateVariables(TemplateVariable[] variables)Validates the variables in this context type.
-
-
-
Constructor Detail
-
TemplateContextType
public TemplateContextType(java.lang.String id)
Creates a context type with an identifier. The identifier must be unique, a qualified name is suggested. The id is also used as name.- Parameters:
id- the unique identifier of the context type
-
TemplateContextType
public TemplateContextType(java.lang.String id, java.lang.String name)Creates a context type with an identifier. The identifier must be unique, a qualified name is suggested.- Parameters:
id- the unique identifier of the context typename- the name of the context type
-
TemplateContextType
public TemplateContextType()
Creates a context type with anullidentifier.This is a framework-only constructor that exists only so that context types can be contributed via an extension point and that should not be called in client code except for subclass constructors; use
TemplateContextType(String)instead.
-
-
Method Detail
-
getId
public java.lang.String getId()
Returns the id of the context type.- Returns:
- the id of the receiver
-
getName
public java.lang.String getName()
Returns the name of the context type.- Returns:
- the name of the context type
-
setId
public final void setId(java.lang.String id) throws java.lang.RuntimeExceptionSets the id of this context.This is a framework-only method that exists solely so that context types can be contributed via an extension point and that should not be called in client code; use
TemplateContextType(String)instead.- Parameters:
id- the identifier of this context- Throws:
java.lang.RuntimeException- an unspecified exception if the id has already been set on this context type
-
setName
public final void setName(java.lang.String name)
Sets the name of the context type.This is a framework-only method that exists solely so that context types can be contributed via an extension point and that should not be called in client code; use
TemplateContextType(String, String)instead.- Parameters:
name- the name of the context type
-
addResolver
public void addResolver(TemplateVariableResolver resolver)
Adds a variable resolver to the context type. If there already is a resolver for the same type, the previous one gets replaced byresolver.- Parameters:
resolver- the resolver to be added under its name
-
removeResolver
public void removeResolver(TemplateVariableResolver resolver)
Removes a template variable from the context type.- Parameters:
resolver- the variable to be removed
-
removeAllResolvers
public void removeAllResolvers()
Removes all template variables from the context type.
-
resolvers
public java.util.Iterator<TemplateVariableResolver> resolvers()
Returns an iterator for the variables known to the context type.- Returns:
- an iterator over the variables in this context type
-
getResolver
protected TemplateVariableResolver getResolver(java.lang.String type)
Returns the resolver for the given type.- Parameters:
type- the type for which a resolver is needed- Returns:
- a resolver for the given type, or
nullif none is registered
-
validate
public void validate(java.lang.String pattern) throws TemplateExceptionValidates a pattern, aTemplateExceptionis thrown if validation fails.- Parameters:
pattern- the template pattern to validate- Throws:
TemplateException- if the pattern is invalid
-
validateVariables
protected void validateVariables(TemplateVariable[] variables) throws TemplateException
Validates the variables in this context type. If a variable is not valid, e.g. if its type is not known in this context type, aTemplateExceptionis thrown.The default implementation does nothing.
- Parameters:
variables- the variables to validate- Throws:
TemplateException- if one of the variables is not valid in this context type
-
resolve
public void resolve(TemplateBuffer buffer, TemplateContext context) throws MalformedTreeException, BadLocationException
Resolves the variables inbufferwithincontextand edits the template buffer to reflect the resolved variables.- Parameters:
buffer- the template buffercontext- the template context- Throws:
MalformedTreeException- if the positions in the buffer overlapBadLocationException- if the buffer cannot be successfully modified
-
resolve
public void resolve(TemplateVariable variable, TemplateContext context)
Resolves a single variable in a context. Resolving is delegated to the registered resolver.- Parameters:
variable- the variable to resolvecontext- the context in which to resolve the variable- Since:
- 3.3
-
-