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.

Or.java 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. @VaadinApache2LicenseForJavaFiles@
  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. /**
  12. * A compound criterion that accepts the drag if any of its criterion accepts
  13. * it.
  14. *
  15. * @see And
  16. *
  17. * @since 6.3
  18. *
  19. */
  20. public class Or extends ClientSideCriterion {
  21. private static final long serialVersionUID = 1L;
  22. private AcceptCriterion criteria[];
  23. /**
  24. * @param criteria
  25. * the criteria of which the Or criteria will be composed
  26. */
  27. public Or(ClientSideCriterion... criteria) {
  28. this.criteria = criteria;
  29. }
  30. @Override
  31. public void paintContent(PaintTarget target) throws PaintException {
  32. super.paintContent(target);
  33. for (AcceptCriterion crit : criteria) {
  34. crit.paint(target);
  35. }
  36. }
  37. public boolean accept(DragAndDropEvent dragEvent) {
  38. for (AcceptCriterion crit : criteria) {
  39. if (crit.accept(dragEvent)) {
  40. return true;
  41. }
  42. }
  43. return false;
  44. }
  45. }