01: package org.apache.ojb.tools.mapping.reversedb2.dnd2;
02:
03: /* Copyright 2002-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: import java.awt.Component;
19: import java.awt.datatransfer.DataFlavor;
20: import java.awt.datatransfer.Transferable;
21:
22: /**
23: * This interface is used by DropTargetHelper to determine whether a drop
24: * can be performed and to import the data from the transferable into the
25: * model of the component.
26: * @author <a href="mailto:bfl@florianbruckner.com">Florian Bruckner</a>
27: * @version $Id: DropPasteWorkerInterface.java,v 1.1.2.1 2005/12/21 22:32:42 tomdz Exp $
28: */
29:
30: public interface DropPasteWorkerInterface {
31:
32: /**
33: * @return the DataFlavor this Worker is going to accept.
34: */
35: public DataFlavor getSupportedDataFlavor();
36:
37: /** Returns a bitmaks of acceptable actions for the supplied Component
38: * and DataFlavor. If more than one DataFlavor is queried, the resulting
39: * bitmask should include all possible actions for all flavors.
40: * @return a bitmask of actions this Worker can process with the supplied
41: * flavors.
42: * @param c The component that is the possible drop target.
43: * @param flavor The DataFlavours that are associate with the drop action
44: */
45: int getAcceptableActions(Component c, DataFlavor[] flavor);
46:
47: /** Returns a bitmask of acceptable actions for this component. As this
48: * method doesn't provide the DataFlavors in this action, all possible
49: * acceptable actions should be returned. All possible actions are defined
50: * in DnDWorkerConstants
51: * @return a bitmask of actions this Worker capable of.
52: * @param c The component where the drop could occur.
53: */
54: int getAcceptableActions(Component c);
55:
56: /** This is the method that is doing the real work. You get the Component
57: * where the drop has occurred, the Transferable with the data and the
58: * requested action.
59: * @return true if the transfer was successful, false if not. If there
60: * are more than one Workers are registered with the helper and this
61: * method returns false, the next helper is asked to do the import. If true
62: * is returned, the action is supposed to be complete and no other worker
63: * will be asked. So be careful what you return here, if you return false,
64: * no modification to the target model should have happened.
65: * @param c The component where the drop has occurred
66: * @param t The transferable that shall be imported
67: * @param action The action that should be performed.
68: */
69: boolean importData(Component c, Transferable t, int action);
70: }
|