PredicatedAction.java 714 B

1234567891011121314151617181920212223
  1. package utils;
  2. /**
  3. * A predicated action is one where a condition must be satisfied in order to proceed with the request. If the
  4. * condition is not satisfied then a supplied status result is yielded.
  5. */
  6. import play.libs.F;
  7. import play.mvc.Action;
  8. import play.mvc.Http;
  9. import play.mvc.SimpleResult;
  10. public class PredicatedAction extends Action<Predicated> {
  11. @Override
  12. public F.Promise<SimpleResult> call(final Http.Context ctx) throws Throwable {
  13. final Predicate p = configuration.predicate().newInstance();
  14. if (p.condition()) {
  15. return delegate.call(ctx);
  16. } else {
  17. return F.Promise.<SimpleResult>pure(status(configuration.failed()));
  18. }
  19. }
  20. }