Class CodeTemplateManager


  • public class CodeTemplateManager
    extends Object
    Manages "code templates."

    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.

    For more flexible boilerplate code insertion, consider using the TemplateCompletion class in the AutoComplete add-on library.

    • Constructor Detail

      • CodeTemplateManager

        public CodeTemplateManager()
        Constructor.
    • Method Detail

      • getTemplate

        public CodeTemplate getTemplate​(RSyntaxTextArea textArea)
        Returns the template that should be inserted at the current caret position, assuming the trigger character was pressed.
        Parameters:
        textArea - The text area that's getting text inserted into it.
        Returns:
        A template that should be inserted, if appropriate, or null if no template should be inserted.
      • getTemplateCount

        public int getTemplateCount()
        Returns the number of templates this manager knows about.
        Returns:
        The template count.
      • getTemplates

        public CodeTemplate[] getTemplates()
        Returns the templates currently available.
        Returns:
        The templates available.
      • isValidChar

        public static final boolean isValidChar​(char ch)
        Returns whether the specified character is a valid character for a CodeTemplate id.
        Parameters:
        ch - The character to check.
        Returns:
        Whether the character is a valid template character.
      • replaceTemplates

        public void replaceTemplates​(CodeTemplate[] newTemplates)
        Replaces the current set of available templates with the ones specified.
        Parameters:
        newTemplates - The new set of templates. Note that we will be taking a shallow copy of these and sorting them.
      • saveTemplates

        public boolean saveTemplates()
        Saves all templates as XML files in the current template directory.
        Returns:
        Whether or not the save was successful.
      • setTemplateDirectory

        public int setTemplateDirectory​(File dir)
        Sets the directory in which to look for templates. Calling this method adds any new templates found in the specified directory to the templates already registered.
        Parameters:
        dir - The new directory in which to look for templates.
        Returns:
        The new number of templates in this template manager, or -1 if the specified directory does not exist.