package org.apereo.cas.authentication.principal;
/**
* Marker interface for Services. Services are generally either remote
* applications utilizing CAS or applications that principals wish to gain
* access to. In most cases this will be some form of web application.
*
* @author William G. Thompson, Jr.
* @author Scott Battaglia
* @since 3.0.0
*/
public interface Service extends Principal {
/**
* Sets the principal.
*
* @param principal the new principal
*/
void setPrincipal(Principal principal);
/**
* Whether the services matches another.
*
* @param service the service
* @return true, if successful
*/
boolean matches(Service service);
}