package io.dropwizard.servlets.tasks; import com.google.common.collect.ImmutableMultimap; import java.io.PrintWriter; /** * A task which can be performed via the admin interface and provides the post body of the request. * * @see Task * @see TaskServlet */ public abstract class PostBodyTask extends Task { /** * Create a new task with the given name. * * @param name the task's name */ protected PostBodyTask(String name) { super(name); } /** * @param parameters the query string parameters * @param body the plain text request body * @param output a {@link PrintWriter} wrapping the output stream of the task * @throws Exception */ public abstract void execute(ImmutableMultimap<String, String> parameters, String body, PrintWriter output) throws Exception; /** * Deprecated, use `execute(parameters, body, output)` or inherit from Task instead. * * @param parameters the query string parameters * @param output a {@link PrintWriter} wrapping the output stream of the task * @throws Exception */ @Override @Deprecated public void execute(ImmutableMultimap<String, String> parameters, PrintWriter output) throws Exception { throw new UnsupportedOperationException("Use `execute(parameters, body, output)`"); } }