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

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