/src/mpv5/ui/misc/DatabaseObjectTransferable.java
Java | 43 lines | 32 code | 8 blank | 3 comment | 3 complexity | a680aa96fd178e56ea09d1276792ef75 MD5 | raw file
Possible License(s): LGPL-3.0, Apache-2.0, GPL-3.0, GPL-2.0, AGPL-3.0, JSON, BSD-3-Clause
- package mpv5.ui.misc;
- import java.awt.datatransfer.DataFlavor;
- import java.awt.datatransfer.Transferable;
- import java.awt.datatransfer.UnsupportedFlavorException;
- import java.io.IOException;
- import java.util.List;
- import mpv5.db.common.DatabaseObject;
- import mpv5.logging.Log;
- public class DatabaseObjectTransferable implements Transferable {
- /**
- * The drag n drop Flavor for DatabaseObjects
- */
- public static final DataFlavor FLAVOR = new DataFlavor(DatabaseObject[].class, "DatabaseObject Transfer");
- private List<DatabaseObject> obj;
- public DatabaseObjectTransferable(List<DatabaseObject> value) {
- obj = value;
- }
- @Override
- public DataFlavor[] getTransferDataFlavors() {
- return new DataFlavor[]{FLAVOR};
- }
- @Override
- public boolean isDataFlavorSupported(DataFlavor flavor) {
- return flavor == FLAVOR;
- }
- @Override
- public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
- if (isDataFlavorSupported(flavor)) {
- Log.Debug(this, "Returning array: " + obj);
- return obj.toArray(new DatabaseObject[0]);
- } else {
- throw new UnsupportedFlavorException(flavor);
- }
- }
- }