PageRenderTime 14ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/src/mpv5/ui/misc/DatabaseObjectTransferable.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
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
  1. package mpv5.ui.misc;
  2. import java.awt.datatransfer.DataFlavor;
  3. import java.awt.datatransfer.Transferable;
  4. import java.awt.datatransfer.UnsupportedFlavorException;
  5. import java.io.IOException;
  6. import java.util.List;
  7. import mpv5.db.common.DatabaseObject;
  8. import mpv5.logging.Log;
  9. public class DatabaseObjectTransferable implements Transferable {
  10. /**
  11. * The drag n drop Flavor for DatabaseObjects
  12. */
  13. public static final DataFlavor FLAVOR = new DataFlavor(DatabaseObject[].class, "DatabaseObject Transfer");
  14. private List<DatabaseObject> obj;
  15. public DatabaseObjectTransferable(List<DatabaseObject> value) {
  16. obj = value;
  17. }
  18. @Override
  19. public DataFlavor[] getTransferDataFlavors() {
  20. return new DataFlavor[]{FLAVOR};
  21. }
  22. @Override
  23. public boolean isDataFlavorSupported(DataFlavor flavor) {
  24. return flavor == FLAVOR;
  25. }
  26. @Override
  27. public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
  28. if (isDataFlavorSupported(flavor)) {
  29. Log.Debug(this, "Returning array: " + obj);
  30. return obj.toArray(new DatabaseObject[0]);
  31. } else {
  32. throw new UnsupportedFlavorException(flavor);
  33. }
  34. }
  35. }