## 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
`static class` `Registers.ClipboardRegister` A clipboard register.
`static interface` `Registers.Register` A register.

Method Summary
`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)