package org.apereo.cas.support.saml.web.idp.profile.builders; import org.apereo.cas.support.saml.SamlException; import org.apereo.cas.support.saml.services.SamlRegisteredService; import org.apereo.cas.support.saml.services.idp.metadata.SamlRegisteredServiceServiceProviderMetadataFacade; import org.jasig.cas.client.validation.Assertion; import org.opensaml.core.xml.XMLObject; import org.opensaml.saml.saml2.core.AuthnRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * The {@link SamlProfileObjectBuilder} defines the operations * required for building the saml response for an RP. * * @author Misagh Moayyed * @param <T> the type parameter * @since 5.0.0 */ public interface SamlProfileObjectBuilder<T extends XMLObject> { /** * Build response. * * @param authnRequest the authn request * @param request the request * @param response the response * @param assertion the assertion * @param service the service * @param adaptor the adaptor * @param binding the binding * @return the response * @throws SamlException the exception */ T build(AuthnRequest authnRequest, HttpServletRequest request, HttpServletResponse response, Assertion assertion, SamlRegisteredService service, SamlRegisteredServiceServiceProviderMetadataFacade adaptor, String binding) throws SamlException; }