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.

And.java 1.2KB

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