FileDocCategorySizeDatePackage
StringSelection.javaAPI DocJava SE 5 API4450Fri Aug 26 14:56:48 BST 2005java.awt.datatransfer

StringSelection

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.
see
java.awt.datatransfer.DataFlavor#stringFlavor
see
java.awt.datatransfer.DataFlavor#plainTextFlavor

Fields Summary
private static final int
STRING
private static final int
PLAIN_TEXT
private static final DataFlavor[]
flavors
private String
data
Constructors Summary
public StringSelection(String data)
Creates a Transferable capable of transferring the specified String.

						   
                  
       
        this.data = data;
    
Methods Summary
public java.lang.ObjectgetTransferData(java.awt.datatransfer.DataFlavor flavor)
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.

param
flavor the requested flavor for the data
return
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
throws
IOException if an IOException occurs while retrieving the data. By default, StringSelection never throws this exception, but a subclass may.
throws
NullPointerException if flavor is null
see
java.io.Reader

	// JCK Test StringSelection0007: if 'flavor' is null, throw NPE
	if (flavor.equals(flavors[STRING])) {
	    return (Object)data;
	} else if (flavor.equals(flavors[PLAIN_TEXT])) {
	    return new StringReader(data == null ? "" : data);
	} else {
	    throw new UnsupportedFlavorException(flavor);
	}
    
public java.awt.datatransfer.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.

return
an array of length two, whose elements are DataFlavor. stringFlavor and DataFlavor.plainTextFlavor

        // returning flavors itself would allow client code to modify
        // our internal behavior
	return (DataFlavor[])flavors.clone();
    
public booleanisDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
Returns whether the requested flavor is supported by this Transferable.

param
flavor the requested flavor for the data
return
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

	// JCK Test StringSelection0003: if 'flavor' is null, throw NPE
        for (int i = 0; i < flavors.length; i++) {
	    if (flavor.equals(flavors[i])) {
	        return true;
	    }
	}
	return false;
    
public voidlostOwnership(java.awt.datatransfer.Clipboard clipboard, java.awt.datatransfer.Transferable contents)