public class CodeTemplateManager extends Object
All methods in this class are synchronized for thread safety, but as a
best practice, you should probably only modify the templates known to a
CodeTemplateManager on the EDT. Modifying a
CodeTemplate retrieved from a CodeTemplateManager
while not on the EDT could cause problems.
| Constructor and Description |
|---|
CodeTemplateManager()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addTemplate(CodeTemplate template)
Registers the specified template with this template manager.
|
KeyStroke |
getInsertTrigger()
Returns the keystroke that is the "insert trigger" for templates;
that is, the character that, when inserted into an instance of
RSyntaxTextArea, triggers the search for
a template matching the token ending at the caret position. |
String |
getInsertTriggerString()
Returns the "insert trigger" for templates; that is, the character
that, when inserted into an instance of
RSyntaxTextArea,
triggers the search for a template matching the token ending at the
caret position. |
CodeTemplate |
getTemplate(RSyntaxTextArea textArea)
Returns the template that should be inserted at the current caret
position, assuming the trigger character was pressed.
|
int |
getTemplateCount()
Returns the number of templates this manager knows about.
|
CodeTemplate[] |
getTemplates()
Returns the templates currently available.
|
static boolean |
isValidChar(char ch)
Returns whether the specified character is a valid character for a
CodeTemplate id. |
boolean |
removeTemplate(CodeTemplate template)
Returns the specified code template.
|
CodeTemplate |
removeTemplate(String id)
Returns the code template with the specified id.
|
void |
replaceTemplates(CodeTemplate[] newTemplates)
Replaces the current set of available templates with the ones
specified.
|
boolean |
saveTemplates()
Saves all templates as XML files in the current template directory.
|
void |
setInsertTrigger(KeyStroke trigger)
Sets the "trigger" character for templates.
|
int |
setTemplateDirectory(File dir)
Sets the directory in which to look for templates.
|
public void addTemplate(CodeTemplate template)
template - The template to register.IllegalArgumentException - If template is
null.removeTemplate(CodeTemplate),
removeTemplate(String)public KeyStroke getInsertTrigger()
RSyntaxTextArea, triggers the search for
a template matching the token ending at the caret position.getInsertTriggerString(),
setInsertTrigger(KeyStroke)public String getInsertTriggerString()
RSyntaxTextArea,
triggers the search for a template matching the token ending at the
caret position.getInsertTrigger(),
setInsertTrigger(KeyStroke)public CodeTemplate getTemplate(RSyntaxTextArea textArea)
textArea - The text area that's getting text inserted into it.null if no template should be inserted.public int getTemplateCount()
public CodeTemplate[] getTemplates()
public static final boolean isValidChar(char ch)
CodeTemplate id.ch - The character to check.public boolean removeTemplate(CodeTemplate template)
template - The template to remove.true if the template was removed, false
if the template was not in this template manager.IllegalArgumentException - If template is
null.removeTemplate(String),
addTemplate(CodeTemplate)public CodeTemplate removeTemplate(String id)
id - The id to check for.null if
there was no template with the specified ID.IllegalArgumentException - If id is null.removeTemplate(CodeTemplate),
addTemplate(CodeTemplate)public void replaceTemplates(CodeTemplate[] newTemplates)
newTemplates - The new set of templates. Note that we will
be taking a shallow copy of these and sorting them.public boolean saveTemplates()
public void setInsertTrigger(KeyStroke trigger)
trigger - The trigger character to set for templates. This means
that when this character is pressed in an
RSyntaxTextArea, the last-typed token is found,
and is checked against all template ID's to see if a template
should be inserted. If a template ID matches, that template is
inserted; if not, the trigger character is inserted. If this
parameter is null, no change is made to the trigger
character.getInsertTrigger(),
getInsertTriggerString()public int setTemplateDirectory(File dir)
dir - The new directory in which to look for templates.-1 if the specified directory does not exist.Copyright © 2009-2013 jtstand.com. All Rights Reserved.