Class 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 DataFlavors 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

All Methods Instance Methods Concrete Methods
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 DataFlavors 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