Module java.datatransfer
Package java.awt.datatransfer

## Class StringSelection

- java.lang.Object
- - java.awt.datatransfer.StringSelection

- All Implemented Interfaces:
    `ClipboardOwner`, `Transferable`

      public class StringSelection
      extends Object
      implements Transferable, ClipboardOwner

  A `Transferable` which implements the capability required to transfer a `String`.

  This `Transferable` properly supports `DataFlavor.stringFlavor` and all equivalent flavors. Support for `DataFlavor.plainTextFlavor` and all equivalent flavors is deprecated. No other `DataFlavor`s are supported.

  Since:
    1.1
  See Also:
    `DataFlavor.stringFlavor`, `DataFlavor.plainTextFlavor`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StringSelection​(String data)` | Creates a `Transferable` capable of transferring the specified `String`.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `getTransferData​(DataFlavor flavor)` | Returns the `Transferable`'s data in the requested `DataFlavor` if possible.
    `DataFlavor[]` | `getTransferDataFlavors()` | Returns an array of flavors in which this `Transferable` can provide the data.
    `boolean` | `isDataFlavorSupported​(DataFlavor flavor)` | Returns whether the requested flavor is supported by this `Transferable`.

    - ### Methods declared in class java.lang.Object

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

    - ### Methods declared in interface java.awt.datatransfer.ClipboardOwner

      `lostOwnership`

- - ### Constructor Detail

    - #### StringSelection

          public StringSelection​(String data)

      Creates a `Transferable` capable of transferring the specified `String`.
      Parameters:
        `data` - the string to be transferred

  - ### Method Detail

    - #### getTransferDataFlavors

          public DataFlavor[] getTransferDataFlavors()

      Returns an array of flavors in which this `Transferable` can provide the data. `DataFlavor.stringFlavor` is properly supported. Support for `DataFlavor.plainTextFlavor` is deprecated.
      Specified by:
        `getTransferDataFlavors` in interface `Transferable`
      Returns:
        an array of length two, whose elements are `DataFlavor.stringFlavor` and `DataFlavor.plainTextFlavor`

    - #### isDataFlavorSupported

          public boolean isDataFlavorSupported​(DataFlavor flavor)

      Returns whether the requested flavor is supported by this `Transferable`.
      Specified by:
        `isDataFlavorSupported` in interface `Transferable`
      Parameters:
        `flavor` - the requested flavor for the data
      Returns:
        `true` if `flavor` is equal to `DataFlavor.stringFlavor` or `DataFlavor.plainTextFlavor`; `false` if `flavor` is not one of the above flavors
      Throws:
        `NullPointerException` - if `flavor` is `null`

    - #### getTransferData

          public Object getTransferData​(DataFlavor flavor)
                                 throws UnsupportedFlavorException,
                                        IOException

      Returns the `Transferable`'s data in the requested `DataFlavor` if possible. If the desired flavor is `DataFlavor.stringFlavor`, or an equivalent flavor, the `String` representing the selection is returned. If the desired flavor is `DataFlavor.plainTextFlavor`, or an equivalent flavor, a `Reader` is returned.
      Note: The behavior of this method for `DataFlavor.plainTextFlavor` and equivalent `DataFlavor`s is inconsistent with the definition of `DataFlavor.plainTextFlavor`.
      Specified by:
        `getTransferData` in interface `Transferable`
      Parameters:
        `flavor` - the requested flavor for the data
      Returns:
        the data in the requested flavor, as outlined above
      Throws:
        `UnsupportedFlavorException` - if the requested data flavor is not equivalent to either `DataFlavor.stringFlavor` or `DataFlavor.plainTextFlavor`
        `IOException` - if an IOException occurs while retrieving the data. By default, StringSelection never throws this exception, but a subclass may.
        `NullPointerException` - if `flavor` is `null`
      See Also:
        `Reader`