package cz.cvut.fel.adaptiverestfulapi.security; import cz.cvut.fel.adaptiverestfulapi.core.Filter; import cz.cvut.fel.adaptiverestfulapi.core.FilterException; import cz.cvut.fel.adaptiverestfulapi.core.HttpContext; import cz.cvut.fel.adaptiverestfulapi.meta.configuration.Configuration; import cz.cvut.fel.adaptiverestfulapi.meta.model.Model; public abstract class Authorization extends Filter { @Override public final HttpContext process(HttpContext httpContext, Model model, Configuration configuration) throws FilterException { this.authorize(httpContext, model, configuration); return this.resign(httpContext, model, configuration); } /** * Authorizes HTTP context. * @param httpContext The HTTP context. * @throws AuthorizationException */ protected abstract void authorize(HttpContext httpContext, Model model, Configuration configuration) throws AuthorizationException; }