package water.api;
/**
* Common interface for <s>all</s> some REST endpoint handlers.
* <p>
* This class is a preferred way for adding new REST endpoints.
*
* @param <IS> input schema class
* @param <OS> output schema class
*/
public abstract class RestApiHandler<IS extends Schema, OS extends Schema> extends Handler {
/** Suggested name for the endpoint in external libraries. */
public abstract String name();
/** Help for this endpoint (will be used in generated bindings). */
public abstract String help();
/**
* Execute the endpoint, returning the result as the output schema.
*
* @param ignored TODO: remove this parameter
* @param input input schema object
* @return output schema object
*/
public abstract OS exec(int ignored, IS input);
}