package org.apereo.cas.authentication.principal; import org.apereo.cas.validation.ValidationResponseType; /** * Represents a service using CAS that comes from the web. * * @author Scott Battaglia * @since 3.1 */ public interface WebApplicationService extends Service { /** * Retrieves the artifact supplied with the service. May be null. * * @return the artifact if it exists, null otherwise. */ String getArtifactId(); /** * Return the original url provided (as {@code service} or {@code targetService} request parameter). * Used to reconstruct the redirect url. * * @return the original url provided. */ String getOriginalUrl(); /** * Ticket validation response MUST be produced based on the parameter value. * Supported values are XML and JSON. If this parameter is not set, * the default XML format will be used. If the parameter value is not supported by the CAS server, * an error must be produced. * * @return the requested format * @since 4.2 */ ValidationResponseType getFormat(); /** * Return if the service is already logged out. * * @return if the service is already logged out. */ boolean isLoggedOutAlready(); /** * Set if the service is already logged out. * * @param loggedOutAlready if the service is already logged out. */ void setLoggedOutAlready(boolean loggedOutAlready); }