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

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