org.fife.ui.rsyntaxtextarea.templates

## Interface CodeTemplate

All Superinterfaces:
  Cloneable, Comparable<CodeTemplate>, Serializable

All Known Implementing Classes:
  AbstractCodeTemplate, StaticCodeTemplate

    public interface CodeTemplate
    extends Cloneable, Comparable<CodeTemplate>, Serializable

A "code template" is a kind of macro for commonly-typed code. It associates a short identifier with a longer code snippet, then when the code template is enabled and the short identifier is typed, it is replaced with the longer code snippet.

For example, you can associate the identifier `forb` (short for "for-block") with the following code:

       for (<caret>) {

       }

Then, whenever you type `forb` followed by a trigger (e.g., a space) into a text area with this `CodeTemplate`, the code snippet is added in place of `forb`. Further, the caret is placed at the position denoted by `<caret>`.

Static text replacements are done with `StaticCodeTemplate`. Dynamic templates can also be created and used.

Version:
  0.1
Author:
  Robert Futrell
See Also:
  `StaticCodeTemplate`

### Method Summary

Methods
`Object` `clone()` Creates a deep copy of this template.
`String` `getID()` Returns the ID of this code template.
`void` `invoke(RSyntaxTextArea textArea)` Invokes this code template.

### Methods inherited from interface java.lang.Comparable

`compareTo`

### Method Detail

#### clone

    Object clone()

Creates a deep copy of this template.

Returns:
  A deep copy of this template.

#### getID

    String getID()

Returns the ID of this code template.

Returns:
  The template's ID.

#### invoke

    void invoke(RSyntaxTextArea textArea)
                throws BadLocationException

Invokes this code template. The changes are made to the given text area.

Parameters:
  `textArea` - The text area to operate on.
Throws:
  `BadLocationException` - If something bad happens.