Class StaticCodeTemplate

java.lang.Object
org.fife.ui.rsyntaxtextarea.templates.AbstractCodeTemplate
org.fife.ui.rsyntaxtextarea.templates.StaticCodeTemplate
All Implemented Interfaces:
Serializable, Cloneable, Comparable<CodeTemplate>, CodeTemplate

public class StaticCodeTemplate extends AbstractCodeTemplate
A code template that inserts static text before and after the caret.

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>.
Version:
0.1
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • beforeCaret

      private String beforeCaret
      The code inserted before the caret position.
    • afterCaret

      private String afterCaret
      The code inserted after the caret position.
    • firstBeforeNewline

      private transient int firstBeforeNewline
      Cached value representing whether beforeCaret contains one or more newlines.
    • firstAfterNewline

      private transient int firstAfterNewline
      Cached value representing whether afterCaret contains one or more newlines.
    • EMPTY_STRING

      private static final String EMPTY_STRING
      See Also:
  • Constructor Details

    • StaticCodeTemplate

      public StaticCodeTemplate()
      Constructor. This constructor only exists to support persistence through serialization.
    • StaticCodeTemplate

      public StaticCodeTemplate(String id, String beforeCaret, String afterCaret)
      Constructor.
      Parameters:
      id - The ID of this code template.
      beforeCaret - The text to place before the caret.
      afterCaret - The text to place after the caret.
  • Method Details

    • getAfterCaretText

      public String getAfterCaretText()
      Returns the text that will be placed after the caret.
      Returns:
      The text.
      See Also:
    • getBeforeCaretText

      public String getBeforeCaretText()
      Returns the text that will be placed before the caret.
      Returns:
      The text.
      See Also:
    • getAfterTextIndented

      private String getAfterTextIndented(String indent)
      Returns the "after caret" text, with each new line indented by the specified amount.
      Parameters:
      indent - The amount to indent.
      Returns:
      The "after caret" text.
    • getBeforeTextIndented

      private String getBeforeTextIndented(String indent)
      Returns the "before caret" text, with each new line indented by the specified amount.
      Parameters:
      indent - The amount to indent.
      Returns:
      The "before caret" text.
    • getTextIndented

      private String getTextIndented(String text, int firstNewline, String indent)
      Returns text with newlines indented by the specified amount.
      Parameters:
      text - The original text.
      firstNewline - The index of the first '\n' character.
      indent - The amount to indent.
      Returns:
      The indented text.
    • invoke

      public 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.
    • readObject

      private void readObject(ObjectInputStream in) throws ClassNotFoundException, IOException
      Called when reading a serialized version of this document. This is overridden to initialize the transient members of this class.
      Parameters:
      in - The input stream to read from.
      Throws:
      ClassNotFoundException - Never.
      IOException - If an IO error occurs.
    • setAfterCaretText

      public void setAfterCaretText(String afterCaret)
      Sets the text to place after the caret.
      Parameters:
      afterCaret - The text.
      See Also:
    • setBeforeCaretText

      public void setBeforeCaretText(String beforeCaret)
      Sets the text to place before the caret.
      Parameters:
      beforeCaret - The text.
      See Also:
    • toString

      public String toString()
      Returns a string representation of this template for debugging purposes.
      Overrides:
      toString in class Object
      Returns:
      A string representation of this template.