StringSelection (Java SE 14 & JDK 14)
Description: declaration: module: java.datatransfer, package: java.awt.datatransfer, class: StringSelection
Keywords: java.awt.datatransfer.StringSelection class

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 Details

  - ### StringSelection

    public StringSelection​(String data)
    Creates a `Transferable` capable of transferring the specified `String`.
    Parameters:
      `data` - the string to be transferred

- ## Method Details

  - ### 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`