package at.gv.egovernment.moa.id.auth.data;
/**
* Includes the result of an extended infobox validation.
*
* If validation succeeds, an array of
* {@link at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute ExtendedSAMLAttributes}
* maybe provided. Each of these SAML-Attributes will be either appended to the
* final SAML-Assertion passed to the online application or to the AUTH-Block,
* or to both.
*
* If validation fails the implementing class has to provide a short error message.
*
* @author Harald Bratko
*/
public interface InfoboxValidationResult {
/**
* The method returns true
if validation succeeds. In that case
* method {@link #getExtendedSamlAttributes()} may provide an array of
* {@link at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute
* ExtendedSAMLAttributes} that should be appended to the final SAML-Assertion or the
* AUTH-Block or to both.
*
* The method returns false
if validation fails. In that case
* method {@link #getErrorMessage()} has to provide a short error description.
*
* @return True
if validation succeeds,
* otherwise false
.
*/
public boolean isValid();
/**
* Returns an array of {@link at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute
* ExtendedSAMLAttributes} that should be added to the SAML-Assertion
* provided to the online application.
* The SAML-Attributes in that array will be added to the final
* SAML-Assertion, the AUTH-Block, or both, exactly in the order as they are arranged
* in the array this method returns.
*
* @return An array of {@link at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute
* ExtendedSAMLAttributes} that should be added to the SAML-Assertion
* provided to the online application, the AUTH-Block, or both. If no attributes should
* be added this array maybe null
or empty.
*/
public ExtendedSAMLAttribute[] getExtendedSamlAttributes();
/**
* A short error description that should be displayed by MOA-ID if
* validation of the InfoBoxReadResponse fails.
*
* @return An short error message if validation fails.
*/
public String getErrorMessage();
}