package org.apereo.cas.web.support; import javax.servlet.http.HttpServletRequest; import org.apereo.cas.authentication.principal.ServiceFactory; import org.apereo.cas.authentication.principal.WebApplicationService; import java.util.List; /** * Strategy interface for retrieving services from the request. * * @author Scott Battatglia * @since 3.1 */ public interface ArgumentExtractor { /** * Retrieve the service from the request. * * @param request the request context. * @return the fully formed Service or null if it could not be found. */ WebApplicationService extractService(HttpServletRequest request); /** * Gets service factories. * * @return the service factories */ List<ServiceFactory<? extends WebApplicationService>> getServiceFactories(); }