Registers (jEdit API Documentation)
Date: 2017-03-18

org.gjt.sp.jedit

## Class Registers

- java.lang.Object
- - org.gjt.sp.jedit.Registers

-     public class Registers
      extends java.lang.Object

  jEdit's registers are an extension of the clipboard metaphor.

  A `Registers.Register` is string of text indexed by a single character. Typically the text is taken from selected buffer text and the index character is a keyboard character selected by the user.

  This class defines a number of static methods that give each register the properties of a virtual clipboard.

  Two classes implement the `Registers.Register` interface. A `Registers.ClipboardRegister` is tied to the contents of the system clipboard. jEdit assigns a `Registers.ClipboardRegister` to the register indexed under the character `$`. A `Registers.DefaultRegister` is created for registers assigned by the user. In addition, jEdit assigns `%` to the last text segment selected in the text area. On Windows this is a `Registers.DefaultRegister`, on Unix under Java 2 version 1.4, a `Registers.ClipboardRegister`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Registers.ClipboardRegister` A clipboard register.
    `static interface` | `Registers.Register` A register.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `append(TextArea textArea, char register)` Appends the text selected in the text area to the specified register, with a newline between the old and new text.
    `static void` | `append(TextArea textArea, char register, java.lang.String separator)` Appends the text selected in the text area to the specified register.
    `static void` | `append(TextArea textArea, char register, java.lang.String separator, boolean cut)` Appends the text selected in the text area to the specified register.
    `static void` | `clearRegister(char name)` Sets the value of the specified register to `null`.
    `static void` | `copy(TextArea textArea, char register)` Copies the text selected in the text area into the specified register.
    `static void` | `cut(TextArea textArea, char register)` Copies the text selected in the text area into the specified register, and then removes it from the buffer.
    `protected static void` | `debugListDataFlavors(java.awt.datatransfer.Transferable transferable)`
    `static Registers.Register` | `getRegister(char name)` Returns the specified register.
    `static java.lang.String` | `getRegisterNameString()` Returns a string of all defined registers, used by the status bar (eg, "a b $ % ^").
    `static Registers.Register[]` | `getRegisters()` Returns an array of all available registers.
    `static boolean` | `isLoading()`
    `static void` | `paste(TextArea textArea, char register)` Insets the contents of the specified register into the text area.
    `static void` | `paste(TextArea textArea, char register, boolean vertical)` Inserts the contents of the specified register into the text area.
    `static void` | `paste(TextArea textArea, char register, boolean vertical, java.awt.datatransfer.DataFlavor preferredDataFlavor)` Inserts the contents of the specified register into the text area.
    `static void` | `paste(TextArea textArea, char register, java.awt.datatransfer.DataFlavor preferredDataFlavor)` Insets the contents of the specified register into the text area.
    `static void` | `saveRegisters()`
    `static void` | `setListener(RegistersListener listener)`
    `static void` | `setLoading(boolean loading)`
    `static void` | `setRegister(char name, Registers.Register newRegister)` Sets the specified register.
    `static void` | `setRegister(char name, java.lang.String value)` Sets the specified register.
    `static void` | `setRegister(char name, java.awt.datatransfer.Transferable transferable)` Sets the specified register.
    `static void` | `setSaver(RegisterSaver saver)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### copy

          public static void copy(TextArea textArea,
                                  char register)

      Copies the text selected in the text area into the specified register. This will replace the existing contents of the designated register.
      Parameters:
        `textArea` - The text area
        `register` - The register
      Since:
        jEdit 2.7pre2

    - #### cut

          public static void cut(TextArea textArea,
                                 char register)

      Copies the text selected in the text area into the specified register, and then removes it from the buffer.
      Parameters:
        `textArea` - The text area
        `register` - The register
      Since:
        jEdit 2.7pre2

    - #### append

          public static void append(TextArea textArea,
                                    char register)

      Appends the text selected in the text area to the specified register, with a newline between the old and new text.
      Parameters:
        `textArea` - The text area
        `register` - The register

    - #### append

          public static void append(TextArea textArea,
                                    char register,
                                    java.lang.String separator)

      Appends the text selected in the text area to the specified register.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `separator` - The separator to insert between the old and new text

    - #### append

          public static void append(TextArea textArea,
                                    char register,
                                    java.lang.String separator,
                                    boolean cut)

      Appends the text selected in the text area to the specified register.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `separator` - The text to insert between the old and new text
        `cut` - Should the current selection be removed?
      Since:
        jEdit 3.2pre1

    - #### paste

          public static void paste(TextArea textArea,
                                   char register)

      Insets the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
      Since:
        jEdit 2.7pre2

    - #### paste

          public static void paste(TextArea textArea,
                                   char register,
                                   java.awt.datatransfer.DataFlavor preferredDataFlavor)

      Insets the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `preferredDataFlavor` - the preferred dataflavor. If not available `DataFlavor.stringFlavor` will be used
      Since:
        jEdit 4.4pre1

    - #### paste

          public static void paste(TextArea textArea,
                                   char register,
                                   boolean vertical)

      Inserts the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `vertical` - Vertical (columnar) paste
      Since:
        jEdit 4.1pre1

    - #### paste

          public static void paste(TextArea textArea,
                                   char register,
                                   boolean vertical,
                                   java.awt.datatransfer.DataFlavor preferredDataFlavor)

      Inserts the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `vertical` - Vertical (columnar) paste
        `preferredDataFlavor` - the preferred dataflavor. If not available `DataFlavor.stringFlavor` will be used
      Since:
        jEdit 4.4pre1

    - #### getRegister

          public static Registers.Register getRegister(char name)

      Returns the specified register.
      Parameters:
        `name` - The name

    - #### setRegister

          public static void setRegister(char name,
                                         Registers.Register newRegister)

      Sets the specified register.
      Parameters:
        `name` - The name
        `newRegister` - The new value

    - #### setRegister

          public static void setRegister(char name,
                                         java.lang.String value)

      Sets the specified register.
      Parameters:
        `name` - The name
        `value` - The new value

    - #### setRegister

          public static void setRegister(char name,
                                         java.awt.datatransfer.Transferable transferable)

      Sets the specified register.
      Parameters:
        `name` - The name
        `transferable` - the transferable

    - #### clearRegister

          public static void clearRegister(char name)

      Sets the value of the specified register to `null`.
      Parameters:
        `name` - The register name

    - #### getRegisters

          public static Registers.Register[] getRegisters()

      Returns an array of all available registers. Some of the elements of this array might be `null`.

    - #### getRegisterNameString

          public static java.lang.String getRegisterNameString()

      Returns a string of all defined registers, used by the status bar (eg, "a b $ % ^").
      Since:
        jEdit 4.2pre2

    - #### saveRegisters

          public static void saveRegisters()

    - #### setListener

          public static void setListener(RegistersListener listener)

    - #### setSaver

          public static void setSaver(RegisterSaver saver)

    - #### isLoading

          public static boolean isLoading()

    - #### setLoading

          public static void setLoading(boolean loading)

    - #### debugListDataFlavors

          protected static void debugListDataFlavors(java.awt.datatransfer.Transferable transferable)