package org.apereo.cas.services;
import org.apereo.cas.authentication.principal.Service;
/**
* Simple container for holding a service principal and its corresponding registered serivce.
*
* @author Marvin S. Addison
* @since 4.0.0
*/
public class ServiceContext {
/** Service principal. */
private Service service;
/** Registered service corresponding to service principal. */
private RegisteredService registeredService;
/**
* Creates a new instance with required parameters.
*
* @param service Service principal.
* @param registeredService Registered service corresponding to given service.
*/
public ServiceContext(final Service service, final RegisteredService registeredService) {
this.service = service;
this.registeredService = registeredService;
if (!registeredService.matches(service)) {
throw new IllegalArgumentException("Registered service does not match given service.");
}
}
/**
* Gets the service principal.
*
* @return Non-null service principal.
*/
public Service getService() {
return this.service;
}
/**
* Gets the registered service for the service principal.
*
* @return Non-null registered service.
*/
public RegisteredService getRegisteredService() {
return this.registeredService;
}
}