org.openide.util.datatransfer
Class ExClipboard

java.lang.Object
  |
  +--java.awt.datatransfer.Clipboard
        |
        +--org.openide.util.datatransfer.ExClipboard

public abstract class ExClipboard
extends Clipboard

Extended clipboard that supports listeners that can be notified about changes of content. Also contains support for attaching content convertors.


Inner Class Summary
static interface ExClipboard.Convertor
          Convertor that can convert the contents of a clipboard to additional flavors.
 
Fields inherited from class java.awt.datatransfer.Clipboard
contents, owner
 
Constructor Summary
ExClipboard(String name)
          Make a new clipboard.
 
Method Summary
 void addClipboardListener(ClipboardListener list)
          Add a listener to clipboard operations.
 Transferable convert(Transferable t)
          Method that takes a transferable, applies all convertors, and creates a new transferable using the abilities of the convertors.
protected  void fireClipboardChange()
          Fires event about change of content in the clipboard.
protected abstract  ExClipboard.Convertor[] getConvertors()
          Obtain a list of convertors assigned to this clipboard.
 void removeClipboardListener(ClipboardListener list)
          Remove a listener to clipboard operations.
static void transferableAccepted(Transferable t, int action)
          Notifies the transferable that it has been accepted by a drop.
static void transferableOwnershipLost(Transferable t)
          Notifies the transferable that it has lost ownership in clipboard.
static void transferableRejected(Transferable t)
          Notifies the transferable that it has been rejected by a drop.
 
Methods inherited from class java.awt.datatransfer.Clipboard
getContents, getName, setContents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExClipboard

public ExClipboard(String name)
Make a new clipboard.
Parameters:
name - name of the clipboard
Method Detail

addClipboardListener

public final void addClipboardListener(ClipboardListener list)
Add a listener to clipboard operations.
Parameters:
list - the listener

removeClipboardListener

public final void removeClipboardListener(ClipboardListener list)
Remove a listener to clipboard operations.
Parameters:
list - the listener

fireClipboardChange

protected final void fireClipboardChange()
Fires event about change of content in the clipboard.

getConvertors

protected abstract ExClipboard.Convertor[] getConvertors()
Obtain a list of convertors assigned to this clipboard.
Returns:
the convertors

convert

public Transferable convert(Transferable t)
Method that takes a transferable, applies all convertors, and creates a new transferable using the abilities of the convertors.

This method is used when the contents of the clipboard are changed and also can be used by Drag & Drop to process transferables between source and target.

Note that it is possible for the results to vary according to order of the convertors as specified by getConvertors(). For example, the input transferable may contain flavor A, and there may be a convertor from A to B, and one from B to C; flavor B will always be available, but flavor C will only be available if the convertor list is in the order that these were mentioned. If it is desired, the APIs could be enhanced to specify a partial ordering of convertors in the manifest.

Parameters:
t - input transferable
Returns:
new transferable

transferableAccepted

public static void transferableAccepted(Transferable t,
                                        int action)
Notifies the transferable that it has been accepted by a drop. Works only for ExTransferable, other types of transferables are not notified.
Parameters:
t - transferable to notify its listeners
action - which action has been performed

transferableRejected

public static void transferableRejected(Transferable t)
Notifies the transferable that it has been rejected by a drop. Works only for ExTransferable, other types of transferables are not notified.
Parameters:
t - transferable to notify its listeners

transferableOwnershipLost

public static void transferableOwnershipLost(Transferable t)
Notifies the transferable that it has lost ownership in clipboard. Works only for ExTransferable, other types of transferables are not notified.
Parameters:
t - transferable to notify its listeners


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.