class SAML2Config {

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("SAML2Config instance:").append('\n');
        sb.append('\t').append("IDP id: ").append(idpId).append('\n');
        sb.append('\t').append("nameIDFormat: ").append(nameIdFormat).append('\n');
        sb.append('\t').append("attributeMap: ").append(attributeMap).append('\n');
        sb.append('\t').append("tokenLifetimeInSeconds: ").append(tokenLifetimeInSeconds).append('\n');
        sb.append('\t').append("customConditionsProviderClassName: ").append(customConditionsProviderClassName).append('\n');
        sb.append('\t').append("customSubjectProviderClassName: ").append(customSubjectProviderClassName).append('\n');
        sb.append('\t').append("customAttributeStatementsProviderClassName: ").append(customAttributeStatementsProviderClassName).append('\n');
        sb.append('\t').append("customAttributeMapperClassName: ").append(customAttributeMapperClassName).append('\n');
        sb.append('\t').append("customAuthNContextMapperClassName: ").append(customAuthNContextMapperClassName).append('\n');
        sb.append('\t').append("customAuthenticationStatementsProviderClassName: ").append(customAuthenticationStatementsProviderClassName).append('\n');
        sb.append('\t').append("customAuthzDecisionStatementsProviderClassName: ").append(customAuthzDecisionStatementsProviderClassName).append('\n');
        sb.append('\t').append("Sign assertion ").append(signAssertion).append('\n');
        sb.append('\t').append("Encrypt NameID ").append(encryptNameID).append('\n');
        sb.append('\t').append("Encrypt Attributes ").append(encryptAttributes).append('\n');
        sb.append('\t').append("Encrypt Assertion ").append(encryptAssertion).append('\n');
        sb.append('\t').append("Encryption Algorithm ").append(encryptionAlgorithm).append('\n');
        sb.append('\t').append("Encryption Algorithm Strength ").append(encryptionAlgorithmStrength).append('\n');
        sb.append('\t').append("Keystore File ").append(keystoreFileName).append('\n');
        sb.append('\t').append("Keystore Password ").append("xxx").append('\n');
        sb.append('\t').append("SP Entity Id ").append(spEntityId).append('\n');
        sb.append('\t').append("SP ACS URL ").append(spAcsUrl).append('\n');
        sb.append('\t').append("Encryption key alias ").append(encryptionKeyAlias).append('\n');
        sb.append('\t').append("Signature key alias").append(signatureKeyAlias).append('\n');
        return sb.toString();
    }

    private  SAML2Config(SAML2ConfigBuilder builder);

}