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.

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

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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`.
`void` `lostOwnership(Clipboard clipboard, Transferable contents)` Notifies this object that it is no longer the clipboard owner.

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

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

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

#### lostOwnership

    public void lostOwnership(Clipboard clipboard,
                              Transferable contents)

Description copied from interface: `ClipboardOwner`
Notifies this object that it is no longer the clipboard owner. This method will be called when another application or another object within this application asserts ownership of the clipboard.

Specified by:
  `lostOwnership` in interface `ClipboardOwner`
Parameters:
  `clipboard` - the clipboard that is no longer owned
  `contents` - the contents which this owner had placed on the clipboard