You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ContainsDataFlavor.java 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. @ITMillApache2LicenseForJavaFiles@
  3. */
  4. /**
  5. *
  6. */
  7. package com.vaadin.event.dd.acceptCriteria;
  8. import com.vaadin.event.dd.DragAndDropEvent;
  9. import com.vaadin.terminal.PaintException;
  10. import com.vaadin.terminal.PaintTarget;
  11. import com.vaadin.terminal.gwt.client.ui.dd.VContainsDataFlavor;
  12. /**
  13. * TODO Javadoc!
  14. *
  15. * @since 6.3
  16. *
  17. */
  18. @ClientCriterion(VContainsDataFlavor.class)
  19. public final class ContainsDataFlavor extends ClientSideCriterion {
  20. private String dataFlavorId;
  21. /**
  22. * TODO should support basic UIDL data types
  23. *
  24. * @param dataFlawor
  25. * @param value
  26. */
  27. public ContainsDataFlavor(String dataFlawor) {
  28. dataFlavorId = dataFlawor;
  29. }
  30. @Override
  31. public void paintContent(PaintTarget target) throws PaintException {
  32. super.paintContent(target);
  33. target.addAttribute("p", dataFlavorId);
  34. }
  35. public boolean accepts(DragAndDropEvent dragEvent) {
  36. return dragEvent.getTransferable().getDataFlavors().contains(
  37. dataFlavorId);
  38. }
  39. }