[java-oidc-common] 01/01: JCOMOIDC-2 Initial import from the java-idp-oidc/JOIDC-5 branch.
Ian Young
ian at iay.org.uk
Fri Oct 16 13:15:01 UTC 2020
This is an automated email from the git hooks/post-receive script.
iay pushed a commit to branch main
in repository java-oidc-common.
View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=378636189bccba3dca0876e130ce125cdfbc2ba9
commit 378636189bccba3dca0876e130ce125cdfbc2ba9
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Oct 16 14:07:43 2020 +0300
JCOMOIDC-2 Initial import from the java-idp-oidc/JOIDC-5 branch.
https://issues.shibboleth.net/jira/browse/JCOMOIDC-2
Also improves Javadocs, checkstyle and unti tests.
---
checkstyle.xml | 117 +++++
oidc-common-saml-api/pom.xml | 28 ++
.../oidc/saml/xmlobject/ApplicationType.java | 38 ++
.../oidc/saml/xmlobject/ClientSecret.java | 38 ++
.../saml/xmlobject/ClientSecretKeyReference.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/ClientUri.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/Constants.java | 43 ++
.../oidc/saml/xmlobject/DefaultAcrValue.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/GrantType.java | 38 ++
.../xmlobject/IdTokenEncryptedResponseAlg.java | 38 ++
.../xmlobject/IdTokenEncryptedResponseEnc.java | 38 ++
.../saml/xmlobject/IdTokenSignedResponseAlg.java | 38 ++
.../oidc/saml/xmlobject/InitiateLoginUri.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/JwksData.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/JwksUri.java | 38 ++
.../saml/xmlobject/MetadataValueSAMLObject.java | 49 ++
.../oidc/saml/xmlobject/OAuthRPExtensions.java | 368 +++++++++++++++
.../oidc/saml/xmlobject/PostLogoutRedirectUri.java | 38 ++
.../saml/xmlobject/RequestObjectEncryptionAlg.java | 38 ++
.../saml/xmlobject/RequestObjectEncryptionEnc.java | 38 ++
.../saml/xmlobject/RequestObjectSigningAlg.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/RequestUri.java | 38 ++
.../oidc/saml/xmlobject/ResponseType.java | 38 ++
.../net/shibboleth/oidc/saml/xmlobject/Scope.java | 38 ++
.../oidc/saml/xmlobject/SectorIdentifierUri.java | 38 ++
.../shibboleth/oidc/saml/xmlobject/SoftwareId.java | 38 ++
.../oidc/saml/xmlobject/SoftwareVersion.java | 38 ++
.../saml/xmlobject/TokenEndpointAuthMethod.java | 38 ++
.../xmlobject/TokenEndpointAuthSigningAlg.java | 38 ++
.../xmlobject/UserInfoEncryptedResponseAlg.java | 38 ++
.../xmlobject/UserInfoEncryptedResponseEnc.java | 38 ++
.../saml/xmlobject/UserInfoSignedResponseAlg.java | 38 ++
.../oidc/saml/xmlobject/package-info.java | 22 +
.../resources/schema/saml-metadata-ext-oidcmd.xsd | 76 ++++
oidc-common-saml-impl/pom.xml | 41 ++
.../impl/AbstractMetadataValueMarshaller.java | 44 ++
.../impl/AbstractMetadataValueSAMLObject.java | 69 +++
.../impl/AbstractMetadataValueUnmarshaller.java | 37 ++
.../xmlobject/impl/ApplicationTypeBuilder.java | 48 ++
.../saml/xmlobject/impl/ApplicationTypeImpl.java | 38 ++
.../xmlobject/impl/ApplicationTypeMarshaller.java | 27 ++
.../impl/ApplicationTypeUnmarshaller.java | 27 ++
.../saml/xmlobject/impl/ClientSecretBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/ClientSecretImpl.java | 37 ++
.../impl/ClientSecretKeyReferenceBuilder.java | 48 ++
.../impl/ClientSecretKeyReferenceImpl.java | 38 ++
.../impl/ClientSecretKeyReferenceMarshaller.java | 27 ++
.../impl/ClientSecretKeyReferenceUnmarshaller.java | 27 ++
.../xmlobject/impl/ClientSecretMarshaller.java | 27 ++
.../xmlobject/impl/ClientSecretUnmarshaller.java | 27 ++
.../oidc/saml/xmlobject/impl/ClientUriBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/ClientUriImpl.java | 37 ++
.../saml/xmlobject/impl/ClientUriMarshaller.java | 27 ++
.../saml/xmlobject/impl/ClientUriUnmarshaller.java | 27 ++
.../xmlobject/impl/DefaultAcrValueBuilder.java | 48 ++
.../saml/xmlobject/impl/DefaultAcrValueImpl.java | 38 ++
.../xmlobject/impl/DefaultAcrValueMarshaller.java | 27 ++
.../impl/DefaultAcrValueUnmarshaller.java | 27 ++
.../oidc/saml/xmlobject/impl/GrantTypeBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/GrantTypeImpl.java | 38 ++
.../saml/xmlobject/impl/GrantTypeMarshaller.java | 27 ++
.../saml/xmlobject/impl/GrantTypeUnmarshaller.java | 27 ++
.../impl/IdTokenEncryptedResponseAlgBuilder.java | 48 ++
.../impl/IdTokenEncryptedResponseAlgImpl.java | 39 ++
.../IdTokenEncryptedResponseAlgMarshaller.java | 28 ++
.../IdTokenEncryptedResponseAlgUnmarshaller.java | 28 ++
.../impl/IdTokenEncryptedResponseEncBuilder.java | 48 ++
.../impl/IdTokenEncryptedResponseEncImpl.java | 39 ++
.../IdTokenEncryptedResponseEncMarshaller.java | 28 ++
.../IdTokenEncryptedResponseEncUnmarshaller.java | 28 ++
.../impl/IdTokenSignedResponseAlgBuilder.java | 48 ++
.../impl/IdTokenSignedResponseAlgImpl.java | 38 ++
.../impl/IdTokenSignedResponseAlgMarshaller.java | 27 ++
.../impl/IdTokenSignedResponseAlgUnmarshaller.java | 27 ++
.../xmlobject/impl/InitiateLoginUriBuilder.java | 48 ++
.../saml/xmlobject/impl/InitiateLoginUriImpl.java | 38 ++
.../xmlobject/impl/InitiateLoginUriMarshaller.java | 27 ++
.../impl/InitiateLoginUriUnmarshaller.java | 27 ++
.../oidc/saml/xmlobject/impl/JwksDataBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/JwksDataImpl.java | 37 ++
.../saml/xmlobject/impl/JwksDataMarshaller.java | 27 ++
.../saml/xmlobject/impl/JwksDataUnmarshaller.java | 27 ++
.../oidc/saml/xmlobject/impl/JwksUriBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/JwksUriImpl.java | 37 ++
.../saml/xmlobject/impl/JwksUriMarshaller.java | 27 ++
.../saml/xmlobject/impl/JwksUriUnmarshaller.java | 27 ++
.../xmlobject/impl/OAuthRPExtensionsBuilder.java | 49 ++
.../saml/xmlobject/impl/OAuthRPExtensionsImpl.java | 494 +++++++++++++++++++++
.../impl/OAuthRPExtensionsMarshaller.java | 52 +++
.../impl/OAuthRPExtensionsUnmarshaller.java | 136 ++++++
.../impl/PostLogoutRedirectUriBuilder.java | 48 ++
.../xmlobject/impl/PostLogoutRedirectUriImpl.java | 38 ++
.../impl/PostLogoutRedirectUriMarshaller.java | 27 ++
.../impl/PostLogoutRedirectUriUnmarshaller.java | 27 ++
.../impl/RequestObjectEncryptionAlgBuilder.java | 48 ++
.../impl/RequestObjectEncryptionAlgImpl.java | 39 ++
.../impl/RequestObjectEncryptionAlgMarshaller.java | 27 ++
.../RequestObjectEncryptionAlgUnmarshaller.java | 28 ++
.../impl/RequestObjectEncryptionEncBuilder.java | 48 ++
.../impl/RequestObjectEncryptionEncImpl.java | 39 ++
.../impl/RequestObjectEncryptionEncMarshaller.java | 27 ++
.../RequestObjectEncryptionEncUnmarshaller.java | 28 ++
.../impl/RequestObjectSigningAlgBuilder.java | 48 ++
.../impl/RequestObjectSigningAlgImpl.java | 38 ++
.../impl/RequestObjectSigningAlgMarshaller.java | 27 ++
.../impl/RequestObjectSigningAlgUnmarshaller.java | 27 ++
.../saml/xmlobject/impl/RequestUriBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/RequestUriImpl.java | 37 ++
.../saml/xmlobject/impl/RequestUriMarshaller.java | 27 ++
.../xmlobject/impl/RequestUriUnmarshaller.java | 27 ++
.../saml/xmlobject/impl/ResponseTypeBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/ResponseTypeImpl.java | 37 ++
.../xmlobject/impl/ResponseTypeMarshaller.java | 27 ++
.../xmlobject/impl/ResponseTypeUnmarshaller.java | 27 ++
.../oidc/saml/xmlobject/impl/ScopeBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/ScopeImpl.java | 37 ++
.../oidc/saml/xmlobject/impl/ScopeMarshaller.java | 27 ++
.../saml/xmlobject/impl/ScopeUnmarshaller.java | 27 ++
.../xmlobject/impl/SectorIdentifierUriBuilder.java | 48 ++
.../xmlobject/impl/SectorIdentifierUriImpl.java | 38 ++
.../impl/SectorIdentifierUriMarshaller.java | 27 ++
.../impl/SectorIdentifierUriUnmarshaller.java | 27 ++
.../saml/xmlobject/impl/SoftwareIdBuilder.java | 47 ++
.../oidc/saml/xmlobject/impl/SoftwareIdImpl.java | 37 ++
.../saml/xmlobject/impl/SoftwareIdMarshaller.java | 27 ++
.../xmlobject/impl/SoftwareIdUnmarshaller.java | 27 ++
.../xmlobject/impl/SoftwareVersionBuilder.java | 48 ++
.../saml/xmlobject/impl/SoftwareVersionImpl.java | 38 ++
.../xmlobject/impl/SoftwareVersionMarshaller.java | 27 ++
.../impl/SoftwareVersionUnmarshaller.java | 27 ++
.../impl/TokenEndpointAuthMethodBuilder.java | 48 ++
.../impl/TokenEndpointAuthMethodImpl.java | 38 ++
.../impl/TokenEndpointAuthMethodMarshaller.java | 27 ++
.../impl/TokenEndpointAuthMethodUnmarshaller.java | 27 ++
.../impl/TokenEndpointAuthSigningAlgBuilder.java | 48 ++
.../impl/TokenEndpointAuthSigningAlgImpl.java | 39 ++
.../TokenEndpointAuthSigningAlgMarshaller.java | 28 ++
.../TokenEndpointAuthSigningAlgUnmarshaller.java | 28 ++
.../impl/UserInfoEncryptedResponseAlgBuilder.java | 48 ++
.../impl/UserInfoEncryptedResponseAlgImpl.java | 39 ++
.../UserInfoEncryptedResponseAlgMarshaller.java | 28 ++
.../UserInfoEncryptedResponseAlgUnmarshaller.java | 28 ++
.../impl/UserInfoEncryptedResponseEncBuilder.java | 48 ++
.../impl/UserInfoEncryptedResponseEncImpl.java | 39 ++
.../UserInfoEncryptedResponseEncMarshaller.java | 28 ++
.../UserInfoEncryptedResponseEncUnmarshaller.java | 28 ++
.../impl/UserInfoSignedResponseAlgBuilder.java | 48 ++
.../impl/UserInfoSignedResponseAlgImpl.java | 39 ++
.../impl/UserInfoSignedResponseAlgMarshaller.java | 27 ++
.../UserInfoSignedResponseAlgUnmarshaller.java | 28 ++
.../impl/XMLObjectProviderInitializer.java | 38 ++
.../oidc/saml/xmlobject/impl/package-info.java | 22 +
.../services/org.opensaml.core.config.Initializer | 1 +
.../resources/saml2-metadata-oidcmd-config.xml | 176 ++++++++
.../saml/xmlobject/impl/ApplicationTypeTest.java | 48 ++
.../saml/xmlobject/impl/BaseMetadataValueTest.java | 63 +++
.../impl/ClientSecretKeyReferenceTest.java | 48 ++
.../oidc/saml/xmlobject/impl/ClientSecretTest.java | 48 ++
.../oidc/saml/xmlobject/impl/ClientUriTest.java | 48 ++
.../saml/xmlobject/impl/DefaultAcrValueTest.java | 48 ++
.../oidc/saml/xmlobject/impl/GrantTypeTest.java | 48 ++
.../impl/IdTokenEncryptedResponseAlgTest.java | 48 ++
.../impl/IdTokenEncryptedResponseEncTest.java | 48 ++
.../impl/IdTokenSignedResponseAlgTest.java | 48 ++
.../saml/xmlobject/impl/InitiateLoginUriTest.java | 48 ++
.../oidc/saml/xmlobject/impl/JwksDataTest.java | 48 ++
.../oidc/saml/xmlobject/impl/JwksUriTest.java | 48 ++
.../saml/xmlobject/impl/OAuthRPExtensionsTest.java | 207 +++++++++
.../xmlobject/impl/PostLogoutRedirectUriTest.java | 48 ++
.../impl/RequestObjectEncryptionAlgTest.java | 48 ++
.../impl/RequestObjectEncryptionEncTest.java | 48 ++
.../impl/RequestObjectSigningAlgTest.java | 48 ++
.../oidc/saml/xmlobject/impl/RequestUriTest.java | 48 ++
.../oidc/saml/xmlobject/impl/ResponseTypeTest.java | 48 ++
.../oidc/saml/xmlobject/impl/ScopeTest.java | 48 ++
.../xmlobject/impl/SectorIdentifierUriTest.java | 48 ++
.../oidc/saml/xmlobject/impl/SoftwareIdTest.java | 48 ++
.../saml/xmlobject/impl/SoftwareVersionTest.java | 48 ++
.../impl/TokenEndpointAuthMethodTest.java | 48 ++
.../impl/TokenEndpointAuthSigningAlgTest.java | 48 ++
.../impl/UserInfoEncryptedResponseAlgTest.java | 48 ++
.../impl/UserInfoEncryptedResponseEncTest.java | 48 ++
.../impl/UserInfoSignedResponseAlgTest.java | 48 ++
.../src/test/resources/logback-test.xml | 19 +
.../oidc/saml/xmlobject/impl/ApplicationType.xml | 2 +
.../oidc/saml/xmlobject/impl/ClientSecret.xml | 2 +
.../xmlobject/impl/ClientSecretKeyReference.xml | 2 +
.../oidc/saml/xmlobject/impl/ClientUri.xml | 2 +
.../oidc/saml/xmlobject/impl/DefaultAcrValue.xml | 2 +
.../oidc/saml/xmlobject/impl/GrantType.xml | 2 +
.../xmlobject/impl/IdTokenEncryptedResponseAlg.xml | 2 +
.../xmlobject/impl/IdTokenEncryptedResponseEnc.xml | 2 +
.../xmlobject/impl/IdTokenSignedResponseAlg.xml | 2 +
.../oidc/saml/xmlobject/impl/InitiateLoginUri.xml | 2 +
.../oidc/saml/xmlobject/impl/JwksData.xml | 2 +
.../oidc/saml/xmlobject/impl/JwksUri.xml | 2 +
.../oidc/saml/xmlobject/impl/OAuthRPExtensions.xml | 30 ++
.../xmlobject/impl/OAuthRPExtensions_ordered.xml | 30 ++
.../saml/xmlobject/impl/PostLogoutRedirectUri.xml | 2 +
.../xmlobject/impl/RequestObjectEncryptionAlg.xml | 2 +
.../xmlobject/impl/RequestObjectEncryptionEnc.xml | 2 +
.../xmlobject/impl/RequestObjectSigningAlg.xml | 2 +
.../oidc/saml/xmlobject/impl/RequestUri.xml | 2 +
.../oidc/saml/xmlobject/impl/ResponseType.xml | 2 +
.../shibboleth/oidc/saml/xmlobject/impl/Scope.xml | 2 +
.../saml/xmlobject/impl/SectorIdentifierUri.xml | 2 +
.../oidc/saml/xmlobject/impl/SoftwareId.xml | 2 +
.../oidc/saml/xmlobject/impl/SoftwareVersion.xml | 2 +
.../xmlobject/impl/TokenEndpointAuthMethod.xml | 2 +
.../xmlobject/impl/TokenEndpointAuthSigningAlg.xml | 2 +
.../impl/UserInfoEncryptedResponseAlg.xml | 2 +
.../impl/UserInfoEncryptedResponseEnc.xml | 2 +
.../xmlobject/impl/UserInfoSignedResponseAlg.xml | 2 +
pom.xml | 124 ++++++
214 files changed, 8495 insertions(+)
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100644
index 0000000..f3f13f6
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<!--
+ This configuration file was written by the eclipse-cs plugin configuration editor
+-->
+<!--
+ Checkstyle-Configuration: Shibboleth Checkstyle
+ Description: none
+-->
+<module name="Checker">
+ <property name="severity" value="warning"/>
+ <module name="TreeWalker">
+ <property name="tabWidth" value="4"/>
+ <module name="JavadocMethod"/>
+ <module name="JavadocType">
+ <property name="allowUnknownTags" value="true"/>
+ </module>
+ <module name="JavadocVariable"/>
+ <module name="JavadocStyle">
+ <property name="checkEmptyJavadoc" value="true"/>
+ </module>
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MemberName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName"/>
+ <module name="TypeName"/>
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/>
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+ <module name="MethodLength">
+ <property name="max" value="70"/>
+ </module>
+ <module name="ParameterNumber">
+ <property name="max" value="5"/>
+ </module>
+ <module name="EmptyForIteratorPad"/>
+ <module name="MethodParamPad"/>
+ <module name="ModifierOrder"/>
+ <module name="AvoidNestedBlocks"/>
+ <module name="LeftCurly"/>
+ <module name="NeedBraces"/>
+ <module name="RightCurly"/>
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField"/>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MissingSwitchDefault"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="VisibilityModifier"/>
+ <module name="ArrayTypeStyle"/>
+ <module name="UpperEll"/>
+ <module name="AnonInnerLength"/>
+ <module name="EmptyForInitializerPad"/>
+ <module name="CovariantEquals"/>
+ <module name="DefaultComesLast"/>
+ <module name="DeclarationOrder"/>
+ <module name="ExplicitInitialization"/>
+ <module name="FallThrough"/>
+ <module name="IllegalThrows"/>
+ <module name="MultipleVariableDeclarations"/>
+ <module name="PackageDeclaration"/>
+ <module name="ParameterAssignment"/>
+ <module name="ReturnCount">
+ <property name="max" value="8"/>
+ <property name="maxForVoid" value="8"/>
+ </module>
+ <module name="StringLiteralEquality"/>
+ <module name="SuperFinalize"/>
+ <module name="ArrayTrailingComma"/>
+ <module name="UnnecessaryParentheses"/>
+ <module name="MutableException"/>
+ <module name="ThrowsCount">
+ <property name="max" value="3"/>
+ </module>
+ <module name="CyclomaticComplexity"/>
+ <module name="TrailingComment"/>
+ <module name="EqualsAvoidNull"/>
+ <module name="ModifiedControlVariable"/>
+ <module name="FinalParameters">
+ <property name="tokens" value="METHOD_DEF,CTOR_DEF,LITERAL_CATCH"/>
+ </module>
+ <module name="FinalLocalVariable">
+ <property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF"/>
+ <property name="validateEnhancedForLoopVariable" value="true"/>
+ </module>
+ <module name="SuppressionCommentFilter">
+ <property name="offCommentFormat" value="\bCheck[Ss]tyle:\s*([\w|]+)\s+OFF\b"/>
+ <property name="onCommentFormat" value="\bCheck[Ss]tyle:\s*([\w|]+)\s+ON\b"/>
+ <property name="checkFormat" value="$1"/>
+ </module>
+ <module name="MissingJavadocMethod"/>
+ <module name="MissingJavadocPackage"/>
+ <module name="MissingJavadocType"/>
+ <module name="InvalidJavadocPosition"/>
+ </module>
+ <module name="FileTabCharacter"/>
+ <module name="FileLength">
+ <property name="max" value="1000"/>
+ </module>
+ <module name="Header">
+ <property name="header" value="/*\n * Licensed to the University Corporation for Advanced Internet Development,\n * Inc. (UCAID) under one or more contributor license agreements. See the\n * NOTICE file distributed with this work for additional information regarding\n * copyright ownership. The UCAID licenses this file to You under the Apache\n * License, Version 2.0 (the "License"); you may not use this file except in\n * compliance with the License. You may obtain a cop [...]
+ </module>
+ <module name="JavadocPackage"/>
+ <module name="LineLength">
+ <property name="max" value="120"/>
+ </module>
+</module>
diff --git a/oidc-common-saml-api/pom.xml b/oidc-common-saml-api/pom.xml
new file mode 100644
index 0000000..4ccee4f
--- /dev/null
+++ b/oidc-common-saml-api/pom.xml
@@ -0,0 +1,28 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>oidc-common-saml-api</artifactId>
+ <packaging>jar</packaging>
+ <name>Shibboleth OIDC Java Common Library - SAML Metadata extension API</name>
+ <description>Schema and corresponding XMLObject interfaces for the SAML metadata extension for OIDC RPs.</description>
+
+ <properties>
+ <checkstyle.configLocation>${project.basedir}/../checkstyle.xml</checkstyle.configLocation>
+ <automatic.module.name>net.shibboleth.oidc.saml.api</automatic.module.name>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opensaml</groupId>
+ <artifactId>opensaml-saml-api</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ApplicationType.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ApplicationType.java
new file mode 100644
index 0000000..7fcd972
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ApplicationType.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ApplicationType'.
+ */
+public interface ApplicationType extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ApplicationType";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME =
+ new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME =
+ new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientSecret.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientSecret.java
new file mode 100644
index 0000000..b0ce7ac
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientSecret.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ClientSecret'.
+ */
+public interface ClientSecret extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ClientSecret";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientSecretKeyReference.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientSecretKeyReference.java
new file mode 100644
index 0000000..b0978e5
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientSecretKeyReference.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ClientSecretReferenceKey'.
+ */
+public interface ClientSecretKeyReference extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ClientSecretKeyReference";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientUri.java
new file mode 100644
index 0000000..debfede
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientUri.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ClientUri'.
+ */
+public interface ClientUri extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ClientUri";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Constants.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Constants.java
new file mode 100644
index 0000000..316d364
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Constants.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import org.opensaml.saml.common.xml.SAMLConstants;
+
+/**
+ * Constants related to SAML 2.0 Metadata extension OAuthRPRoleDescriptorType.
+ */
+public final class Constants {
+
+ /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors prefi. */
+ public static final String SAML20MDOIDCMD_PREFIX = "oidcmd";
+
+ /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors XML namespace. */
+ public static final String SAML20MDOIDCMD_NS = "urn:mace:shibboleth:metadata:oidc:1.0";
+
+ /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors. */
+ public static final String SAML20MDOIDCMD_SCHEMA_LOCATION =
+ SAMLConstants.SCHEMA_DIR + "saml-metadata-ext-oidcmd.xsd";
+
+ /**
+ * Constructor.
+ */
+ private Constants() {
+ // no op
+ }
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java
new file mode 100644
index 0000000..1b1eb2f
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'DefaultAcrValue'.
+ */
+public interface DefaultAcrValue extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "DefaultAcrValue";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/GrantType.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/GrantType.java
new file mode 100644
index 0000000..12fbb32
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/GrantType.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'GrantType'.
+ */
+public interface GrantType extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "GrantType";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME =
+ new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME =
+ new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseAlg.java
new file mode 100644
index 0000000..3ffd0e3
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'IdTokenEncryptedResponseAlg'.
+ */
+public interface IdTokenEncryptedResponseAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenEncryptedResponseAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseEnc.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseEnc.java
new file mode 100644
index 0000000..cc54222
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseEnc.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'IdTokenEncryptedResponseEnc'.
+ */
+public interface IdTokenEncryptedResponseEnc extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenEncryptedResponseEnc";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenSignedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenSignedResponseAlg.java
new file mode 100644
index 0000000..96d1c01
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenSignedResponseAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'IdTokenSignedResponseAlg'.
+ */
+public interface IdTokenSignedResponseAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenSignedResponseAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/InitiateLoginUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/InitiateLoginUri.java
new file mode 100644
index 0000000..69f845a
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/InitiateLoginUri.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'InitiateLoginUri'.
+ */
+public interface InitiateLoginUri extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "InitiateLoginUri";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/JwksData.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/JwksData.java
new file mode 100644
index 0000000..a61baec
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/JwksData.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'JwksData'.
+ */
+public interface JwksData extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "JwksData";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/JwksUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/JwksUri.java
new file mode 100644
index 0000000..c2b3504
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/JwksUri.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'JwksUri'.
+ */
+public interface JwksUri extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "JwksUri";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/MetadataValueSAMLObject.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/MetadataValueSAMLObject.java
new file mode 100644
index 0000000..b5e4915
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/MetadataValueSAMLObject.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import org.opensaml.saml.common.SAMLObject;
+
+/**
+ * Abstract interface for SAML metadata objects containing single {@link String} value inside the element.
+ */
+public abstract interface MetadataValueSAMLObject extends SAMLObject {
+
+ /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors prefi. */
+ public static final String SAML20MDOIDCMD_PREFIX = Constants.SAML20MDOIDCMD_PREFIX;
+
+ /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors XML namespace. */
+ public static final String SAML20MDOIDCMD_NS = Constants.SAML20MDOIDCMD_NS;
+
+ /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors. */
+ public static final String SAML20MDOIDCMD_SCHEMA_LOCATION = Constants.SAML20MDOIDCMD_SCHEMA_LOCATION;
+
+ /**
+ * Get the value for this metadata object.
+ *
+ * @return The value for this metadata object.
+ */
+ public String getValue();
+
+ /**
+ * Set the value for this metadata object.
+ *
+ * @param newValue What to set.
+ */
+ public void setValue(final String newValue);
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java
new file mode 100644
index 0000000..7e1c728
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java
@@ -0,0 +1,368 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.opensaml.core.xml.AttributeExtensibleXMLObject;
+import org.opensaml.core.xml.ElementExtensibleXMLObject;
+import org.opensaml.saml.common.SAMLObject;
+
+/**
+ * SAML 2.0 Metadata extension OAuthRPExtensions.
+ */
+public interface OAuthRPExtensions extends SAMLObject, AttributeExtensibleXMLObject, ElementExtensibleXMLObject {
+
+ /** Local name of the XSI type. */
+ public static final String TYPE_LOCAL_NAME = "OAuthRPExtensions";
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(MetadataValueSAMLObject.SAML20MDOIDCMD_NS, TYPE_LOCAL_NAME,
+ MetadataValueSAMLObject.SAML20MDOIDCMD_PREFIX);
+
+ /** "defaultMaxAge" attribute's local name. */
+ public static final String DEFAULT_MAX_AGE_ATTRIB_NAME = "defaultMaxAge";
+
+ /** "requireAuthTime" attribute's local name. */
+ public static final String REQUIRE_AUTH_TIME_ATTRIB_NAME = "requireAuthTime";
+
+ /**
+ * Get the token endpoint authentication method.
+ *
+ * @return The token endpoint authentication method.
+ */
+ public TokenEndpointAuthMethod getTokenEndpointAuthMethod();
+
+ /**
+ * Set the token endpoint authentication method.
+ *
+ * @param method The token endpoint authentication method.
+ */
+ public void setTokenEndpointAuthMethod(final TokenEndpointAuthMethod method);
+
+ /**
+ * Get the list of response types.
+ *
+ * @return The list of response types.
+ */
+ public List<ResponseType> getResponseTypes();
+
+ /**
+ * Get the list of grant types.
+ *
+ * @return The list of grant types.
+ */
+ public List<GrantType> getGrantTypes();
+
+ /**
+ * Get the application type.
+ *
+ * @return The application type.
+ */
+ public ApplicationType getApplicationType();
+
+ /**
+ * Set the application type.
+ *
+ * @param type The application type.
+ */
+ public void setApplicationType(final ApplicationType type);
+
+ /**
+ * Get the client URI.
+ *
+ * @return The client URI.
+ */
+ public ClientUri getClientUri();
+
+ /**
+ * Set the client URI.
+ *
+ * @param uri The client URI.
+ */
+ public void setClientUri(final ClientUri uri);
+
+ /**
+ * Get the list of scopes.
+ *
+ * @return The list of scopes.
+ */
+ public List<Scope> getScopes();
+
+ /**
+ * Get the URI for the JWK set.
+ *
+ * @return The URI for the JWK set.
+ */
+ public JwksUri getJwksUri();
+
+ /**
+ * Set the URI for the JWK set.
+ *
+ * @param uri The URI for the JWK set.
+ */
+ public void setJwksUri(final JwksUri uri);
+
+ /**
+ * Get the software identifier.
+ *
+ * @return The software identifier.
+ */
+ public SoftwareId getSoftwareId();
+
+ /**
+ * Set the software identifier.
+ *
+ * @param id The software identifier.
+ */
+ public void setSoftwareId(final SoftwareId id);
+
+ /**
+ * Get the software version.
+ *
+ * @return The software version.
+ */
+ public SoftwareVersion getSoftwareVersion();
+
+ /**
+ * Set the software version.
+ *
+ * @param version The software version.
+ */
+ public void setSoftwareVersion(final SoftwareVersion version);
+
+ /**
+ * Get the sector identifier URI.
+ *
+ * @return he sector identifier URI.
+ */
+ public SectorIdentifierUri getSectorIdentifierUri();
+
+ /**
+ * Set the sector identifier URI.
+ *
+ * @param uri The sector identifier URI.
+ */
+ public void setSectorIdentifierUri(final SectorIdentifierUri uri);
+
+ /**
+ * Get the JWS alg algorithm for ID token signature.
+ *
+ * @return The JWS alg algorithm for ID token signature.
+ */
+ public IdTokenSignedResponseAlg getIdTokenSignedResponseAlg();
+
+ /**
+ * Set the JWS alg algorithm for ID token signature.
+ *
+ * @param algorithm The JWS alg algorithm for ID token signature.
+ */
+ public void setIdTokenSignedResponseAlg(final IdTokenSignedResponseAlg algorithm);
+
+ /**
+ * Get the JWE alg algorithm for ID token encryption.
+ *
+ * @return The JWE alg algorithm for ID token encryption.
+ */
+ public IdTokenEncryptedResponseAlg getIdTokenEncryptedResponseAlg();
+
+ /**
+ * Set the JWE alg algorithm for ID token encryption.
+ *
+ * @param algorithm The JWE alg algorithm for ID token encryption.
+ */
+ public void setIdTokenEncryptedResponseAlg(final IdTokenEncryptedResponseAlg algorithm);
+
+ /**
+ * Get the JWE enc algorithm for ID token encryption.
+ *
+ * @return The JWE enc algorithm for ID token encryption.
+ */
+ public IdTokenEncryptedResponseEnc getIdTokenEncryptedResponseEnc();
+
+ /**
+ * Set the JWE enc algorithm for ID token encryption.
+ *
+ * @param algorithm The JWE enc algorithm for ID token encryption.
+ */
+ public void setIdTokenEncryptedResponseEnc(final IdTokenEncryptedResponseEnc algorithm);
+
+ /**
+ * Get the JWS alg algorithm for UserInfo response signature.
+ *
+ * @return The JWS alg algorithm for UserInfo response signature.
+ */
+ public UserInfoSignedResponseAlg getUserInfoSignedResponseAlg();
+
+ /**
+ * Set the JWS alg algorithm for UserInfo response signature.
+ *
+ * @param algorithm The JWS alg algorithm for UserInfo response signature.
+ */
+ public void setUserInfoSignedResponseAlg(final UserInfoSignedResponseAlg algorithm);
+
+ /**
+ * Get the JWE alg algorithm for UserInfo response encryption.
+ *
+ * @return The JWE alg algorithm for UserInfo response encryption.
+ */
+ public UserInfoEncryptedResponseAlg getUserInfoEncryptedResponseAlg();
+
+ /**
+ * Set the JWE alg algorithm for UserInfo response encryption.
+ *
+ * @param algorithm The JWE alg algorithm for UserInfo response encryption.
+ */
+ public void setUserInfoEncryptedResponseAlg(final UserInfoEncryptedResponseAlg algorithm);
+
+ /**
+ * Get the JWE enc algorithm for UserInfo response encryption.
+ *
+ * @return The JWE enc algorithm for UserInfo response encryption.
+ */
+ public UserInfoEncryptedResponseEnc getUserInfoEncryptedResponseEnc();
+
+ /**
+ * Set the JWE enc algorithm for UserInfo response encryption.
+ *
+ * @param algorithm The JWE enc algorithm for UserInfo response encryption.
+ */
+ public void setUserInfoEncryptedResponseEnc(final UserInfoEncryptedResponseEnc algorithm);
+
+ /**
+ * Get the JWS alg algorithm for request object signature.
+ *
+ * @return The JWS alg algorithm for request object signature.
+ */
+ public RequestObjectSigningAlg getRequestObjectSigningAlg();
+
+ /**
+ * Set the JWS alg algorithm for request object signature.
+ *
+ * @param algorithm The JWS alg algorithm for request object signature.
+ */
+ public void setRequestObjectSigningAlg(final RequestObjectSigningAlg algorithm);
+
+ /**
+ * Get the JWE alg algorithm for request object encryption.
+ *
+ * @return The JWE alg algorithm for request object encryption.
+ */
+ public RequestObjectEncryptionAlg getRequestObjectEncryptionAlg();
+
+ /**
+ * Set the JWE alg algorithm for request object encryption.
+ *
+ * @param algorithm The JWE alg algorithm for request object encryption.
+ */
+ public void setRequestObjectEncryptionAlg(final RequestObjectEncryptionAlg algorithm);
+
+ /**
+ * Get the JWE enc algorithm for request object encryption.
+ *
+ * @return The JWE enc algorithm for request object encryption.
+ */
+ public RequestObjectEncryptionEnc getRequestObjectEncryptionEnc();
+
+ /**
+ * Set the JWE enc algorithm for request object encryption.
+ *
+ * @param algorithm The JWE enc algorithm for request object encryption.
+ */
+ public void setRequestObjectEncryptionEnc(final RequestObjectEncryptionEnc algorithm);
+
+ /**
+ * Get the JWS alg algorithm for token endpoint authentication signature.
+ *
+ * @return The JWS alg algorithm for token endpoint authentication signature.
+ */
+ public TokenEndpointAuthSigningAlg getTokenEndpointAuthSigningAlg();
+
+ /**
+ * Set the JWS alg algorithm for token endpoint authentication signature.
+ *
+ * @param algorithm The JWS alg algorithm for token endpoint authentication signature.
+ */
+ public void setTokenEndpointAuthSigningAlg(final TokenEndpointAuthSigningAlg algorithm);
+
+ /**
+ * Get the list of default ACR values.
+ *
+ * @return The list of default ACR values.
+ */
+ public List<DefaultAcrValue> getDefaultAcrValues();
+
+ /**
+ * Get the URI for initiating login.
+ *
+ * @return The URI for initiating login.
+ */
+ public InitiateLoginUri getInitiateLoginUri();
+
+ /**
+ * Set the URI for initiating login.
+ *
+ * @param uri The URI for initiating login.
+ */
+ public void setInitiateLoginUri(final InitiateLoginUri uri);
+
+ /**
+ * Get the list of request URIs.
+ *
+ * @return The list of request URIs.
+ */
+ public List<RequestUri> getRequestUris();
+
+ /**
+ * Get the list of post logout redirection URIs.
+ *
+ * @return The list of post logout redirection URIs.
+ */
+ public List<PostLogoutRedirectUri> getPostLogoutRedirectUris();
+
+ /**
+ * Get the value for default max age.
+ *
+ * @return The value for default max age.
+ */
+ public int getDefaultMaxAge();
+
+ /**
+ * Set the value for default max age.
+ *
+ * @param age The value for default max age.
+ */
+ public void setDefaultMaxAge(final int age);
+
+ /**
+ * Get the flag to require authentication time.
+ *
+ * @return The flag to require authentication time.
+ */
+ public boolean isRequireAuthTime();
+
+ /**
+ * Set the flag to require authentication time.
+ *
+ * @param flag The flag to require authentication time.
+ */
+ public void setRequireAuthTime(final boolean flag);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java
new file mode 100644
index 0000000..1fd1007
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'PostLogoutRedirectUri'.
+ */
+public interface PostLogoutRedirectUri extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "PostLogoutRedirectUri";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionAlg.java
new file mode 100644
index 0000000..c6a6086
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestObjectEncryptionAlg'.
+ */
+public interface RequestObjectEncryptionAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectEncryptionAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionEnc.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionEnc.java
new file mode 100644
index 0000000..9f23cd0
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionEnc.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestObjectEncryptionEnc'.
+ */
+public interface RequestObjectEncryptionEnc extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectEncryptionEnc";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectSigningAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectSigningAlg.java
new file mode 100644
index 0000000..7286ce9
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectSigningAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestObjectSigningAlg'.
+ */
+public interface RequestObjectSigningAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectSigningAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java
new file mode 100644
index 0000000..928cd18
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestUri'.
+ */
+public interface RequestUri extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestUri";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ResponseType.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ResponseType.java
new file mode 100644
index 0000000..1521b54
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ResponseType.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ResponseType'.
+ */
+public interface ResponseType extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ResponseType";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME =
+ new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME =
+ new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Scope.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Scope.java
new file mode 100644
index 0000000..ae85ea5
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Scope.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'Scope'.
+ */
+public interface Scope extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Scope";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SectorIdentifierUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SectorIdentifierUri.java
new file mode 100644
index 0000000..c2a3dc5
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SectorIdentifierUri.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SectorIdentifierUri'.
+ */
+public interface SectorIdentifierUri extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SectorIdentifierUri";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareId.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareId.java
new file mode 100644
index 0000000..e7acec4
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareId.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SoftwareId'.
+ */
+public interface SoftwareId extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SoftwareId";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareVersion.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareVersion.java
new file mode 100644
index 0000000..05cd3ee
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareVersion.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SoftwareVersion'.
+ */
+public interface SoftwareVersion extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SoftwareVersion";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthMethod.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthMethod.java
new file mode 100644
index 0000000..0d4da2b
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthMethod.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'TokenEndpointAuthMethod'.
+ */
+public interface TokenEndpointAuthMethod extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "TokenEndpointAuthMethod";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthSigningAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthSigningAlg.java
new file mode 100644
index 0000000..8cead4e
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthSigningAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'TokenEndpointAuthSigningAlg'.
+ */
+public interface TokenEndpointAuthSigningAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "TokenEndpointAuthSigningAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseAlg.java
new file mode 100644
index 0000000..ea840b0
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'UserInfoEncryptedResponseAlg'.
+ */
+public interface UserInfoEncryptedResponseAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoEncryptedResponseAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseEnc.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseEnc.java
new file mode 100644
index 0000000..c815a2e
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseEnc.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'UserInfoEncryptedResponseEnc'.
+ */
+public interface UserInfoEncryptedResponseEnc extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoEncryptedResponseEnc";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoSignedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoSignedResponseAlg.java
new file mode 100644
index 0000000..475dc09
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoSignedResponseAlg.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'UserInfoSignedResponseAlg'.
+ */
+public interface UserInfoSignedResponseAlg extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoSignedResponseAlg";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+ SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/package-info.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/package-info.java
new file mode 100644
index 0000000..0605af2
--- /dev/null
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ *
+ * Concrete definitions of the objects described in saml-metadata-ext-oidcmd.xsd work.
+ */
+package net.shibboleth.oidc.saml.xmlobject;
\ No newline at end of file
diff --git a/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd b/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
new file mode 100644
index 0000000..8302a99
--- /dev/null
+++ b/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" targetNamespace="urn:mace:shibboleth:metadata:oidc:1.0" elementFormDefault="unqualified" attributeFormDefault="unqualified" blockDefault="substitution" version="2.0">
+
+ <annotation>
+ <documentation>
+ Document title: SAML Metadata Extension Schema for OIDC OP/RP information.
+ </documentation>
+ </annotation>
+
+ <element name="OAuthRPExtensions">
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="oidcmd:TokenEndpointAuthMethod" />
+ <element ref="oidcmd:GrantType" />
+ <element ref="oidcmd:ResponseType" />
+ <element ref="oidcmd:ApplicationType" />
+ <element ref="oidcmd:ClientUri" />
+ <element ref="oidcmd:Scope" />
+ <element ref="oidcmd:SoftwareId" />
+ <element ref="oidcmd:SoftwareVersion" />
+ <element ref="oidcmd:SectorIdentifierUri" />
+ <element ref="oidcmd:IdTokenSignedResponseAlg" />
+ <element ref="oidcmd:IdTokenEncryptedResponseAlg" />
+ <element ref="oidcmd:IdTokenEncryptedResponseEnc" />
+ <element ref="oidcmd:UserInfoSignedResponseAlg" />
+ <element ref="oidcmd:UserInfoEncryptedResponseAlg" />
+ <element ref="oidcmd:UserInfoEncryptedResponseEnc" />
+ <element ref="oidcmd:RequestObjectSigningAlg" />
+ <element ref="oidcmd:RequestObjectEncryptionAlg" />
+ <element ref="oidcmd:RequestObjectEncryptionEnc" />
+ <element ref="oidcmd:TokenEndpointAuthSigningAlg" />
+ <element ref="oidcmd:DefaultAcrValue" /><!-- order matters -->
+ <element ref="oidcmd:InitiateLoginUri" />
+ <element ref="oidcmd:RequestUri" />
+ <element ref="oidcmd:PostLogoutRedirectUri" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ <attribute name="defaultMaxAge" type="int" use="optional" />
+ <attribute name="requireAuthTime" type="string" use="optional" />
+ <anyAttribute namespace="##other" processContents="lax" />
+ </complexType>
+ </element>
+
+ <element name="TokenEndpointAuthMethod" type="anyURI" />
+ <element name="GrantType" type="anyURI" />
+ <element name="ResponseType" type="anyURI" />
+ <element name="ApplicationType" type="anyURI" />
+
+ <element name="ClientUri" type="anyURI" />
+ <element name="Scope" type="anyURI" />
+ <element name="SoftwareId" type="anyURI" />
+ <element name="SoftwareVersion" type="anyURI" />
+ <element name="SectorIdentifierUri" type="anyURI" />
+
+ <element name="IdTokenSignedResponseAlg" type="anyURI" />
+ <element name="IdTokenEncryptedResponseAlg" type="anyURI" />
+ <element name="IdTokenEncryptedResponseEnc" type="anyURI" />
+ <element name="UserInfoSignedResponseAlg" type="anyURI" />
+ <element name="UserInfoEncryptedResponseAlg" type="anyURI" />
+ <element name="UserInfoEncryptedResponseEnc" type="anyURI" />
+ <element name="RequestObjectSigningAlg" type="anyURI" />
+ <element name="RequestObjectEncryptionAlg" type="anyURI" />
+ <element name="RequestObjectEncryptionEnc" type="anyURI" />
+ <element name="TokenEndpointAuthSigningAlg" type="anyURI" />
+ <element name="DefaultAcrValue" type="anyURI" />
+ <element name="InitiateLoginUri" type="anyURI" />
+ <element name="RequestUri" type="anyURI" />
+ <element name="PostLogoutRedirectUri" type="anyURI" />
+
+ <element name="JwkSet" type="anyURI" />
+ <element name="JwkSetUri" type="anyURI" />
+ <element name="JwksData" type="anyURI" />
+ <element name="ClientSecret" type="anyURI" />
+ <element name="ClientSecretKeyReference" type="anyURI" />
+
+</schema>
diff --git a/oidc-common-saml-impl/pom.xml b/oidc-common-saml-impl/pom.xml
new file mode 100644
index 0000000..2df3eab
--- /dev/null
+++ b/oidc-common-saml-impl/pom.xml
@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>oidc-common-saml-impl</artifactId>
+ <packaging>jar</packaging>
+ <name>Shibboleth OIDC Java Common Library - SAML Metadata extension implementation</name>
+ <description>Implementation and OpenSAML configuration for the SAML metadata extension for OIDC RPs.</description>
+
+ <properties>
+ <checkstyle.configLocation>${project.basedir}/../checkstyle.xml</checkstyle.configLocation>
+ <automatic.module.name>net.shibboleth.oidc.saml.impl</automatic.module.name>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-saml-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${opensaml.groupId}</groupId>
+ <artifactId>opensaml-core</artifactId>
+ <version>${opensaml.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${opensaml.groupId}</groupId>
+ <artifactId>opensaml-saml-impl</artifactId>
+ <version>${opensaml.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueMarshaller.java
new file mode 100644
index 0000000..0047313
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueMarshaller.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.io.MarshallingException;
+import org.opensaml.saml.common.AbstractSAMLObjectMarshaller;
+import org.w3c.dom.Element;
+
+import net.shibboleth.oidc.saml.xmlobject.MetadataValueSAMLObject;
+import net.shibboleth.utilities.java.support.xml.ElementSupport;
+
+/**
+ * Abstract thread safe Marshaller for {@link MetadataValueSAMLObject} objects.
+ * @param <T> The metadata value.
+ */
+public abstract class AbstractMetadataValueMarshaller<T extends MetadataValueSAMLObject>
+ extends AbstractSAMLObjectMarshaller {
+
+ /** {@inheritDoc} */
+ protected void marshallElementContent(final XMLObject samlObject, final Element domElement)
+ throws MarshallingException {
+ final T metadataObject = (T) samlObject;
+
+ if (metadataObject.getValue() != null) {
+ ElementSupport.appendTextContent(domElement, metadataObject.getValue());
+ }
+ }
+}
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueSAMLObject.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueSAMLObject.java
new file mode 100644
index 0000000..63c47a4
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueSAMLObject.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.opensaml.core.xml.AbstractXMLObject;
+import org.opensaml.core.xml.XMLObject;
+
+/**
+ * Base implementation for all simple metadata objects containing {@link String} value inside the element.
+ */
+public abstract class AbstractMetadataValueSAMLObject extends AbstractXMLObject {
+
+ /** The value for this metadata object. */
+ private String value;
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected AbstractMetadataValueSAMLObject(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+
+ /**
+ * Get the value for this metadata object.
+ *
+ * @return The value for this metadata object.
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Set the value for this metadata object.
+ *
+ * @param newValue What to set.
+ */
+ public void setValue(final String newValue) {
+ value = newValue;
+ }
+
+ /** {@inheritDoc} */
+ public List<XMLObject> getOrderedChildren() {
+ return Collections.emptyList();
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueUnmarshaller.java
new file mode 100644
index 0000000..d0db2fe
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/AbstractMetadataValueUnmarshaller.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.saml.common.AbstractSAMLObjectUnmarshaller;
+
+import net.shibboleth.oidc.saml.xmlobject.MetadataValueSAMLObject;
+
+/**
+ * Abstract thread-safe Unmarshaller for {@link MetadataValueSAMLObject} objects.
+ * @param <T> The metadata value.
+ */
+public abstract class AbstractMetadataValueUnmarshaller<T extends MetadataValueSAMLObject>
+ extends AbstractSAMLObjectUnmarshaller {
+
+ /** {@inheritDoc} */
+ protected void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final T metadataObject = (T) samlObject;
+ metadataObject.setValue(elementContent);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeBuilder.java
new file mode 100644
index 0000000..07d83f9
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+
+/**
+ * Builder of {@link ApplicationTypeImpl}.
+ */
+public class ApplicationTypeBuilder extends AbstractSAMLObjectBuilder<ApplicationType> {
+
+ /**
+ * Constructor.
+ */
+ public ApplicationTypeBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public ApplicationType buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, ApplicationType.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public ApplicationType buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new ApplicationTypeImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeImpl.java
new file mode 100644
index 0000000..15dbe6c
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+
+/**
+ * Concrete implementation of {@link ApplicationType}.
+ */
+public class ApplicationTypeImpl extends AbstractMetadataValueSAMLObject implements ApplicationType {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ApplicationTypeImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeMarshaller.java
new file mode 100644
index 0000000..865635d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+
+/**
+ * A thread safe Marshaller for {@link ApplicationType} objects.
+ */
+public class ApplicationTypeMarshaller extends AbstractMetadataValueMarshaller<ApplicationType> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeUnmarshaller.java
new file mode 100644
index 0000000..af4a631
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+
+/**
+ * A thread-safe Unmarshaller for {@link ApplicationType} objects.
+ */
+public class ApplicationTypeUnmarshaller extends AbstractMetadataValueUnmarshaller<ApplicationType> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretBuilder.java
new file mode 100644
index 0000000..16abab7
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecret;
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+
+/**
+ * Builder of {@link ClientSecretImpl}.
+ */
+public class ClientSecretBuilder extends AbstractSAMLObjectBuilder<ClientSecret> {
+
+ /**
+ * Constructor.
+ */
+ public ClientSecretBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public ClientSecret buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, ClientSecret.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public ClientSecret buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new ClientSecretImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretImpl.java
new file mode 100644
index 0000000..c7999e3
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecret;
+
+/**
+ * Concrete implementation of {@link ClientSecret}.
+ */
+public class ClientSecretImpl extends AbstractMetadataValueSAMLObject implements ClientSecret {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ClientSecretImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceBuilder.java
new file mode 100644
index 0000000..c8ce3e2
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecretKeyReference;
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+
+/**
+ * Builder of {@link ClientSecretKeyReferenceImpl}.
+ */
+public class ClientSecretKeyReferenceBuilder extends AbstractSAMLObjectBuilder<ClientSecretKeyReference> {
+
+ /**
+ * Constructor.
+ */
+ public ClientSecretKeyReferenceBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public ClientSecretKeyReference buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, ClientSecretKeyReference.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public ClientSecretKeyReference buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new ClientSecretKeyReferenceImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceImpl.java
new file mode 100644
index 0000000..bb8f76d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecretKeyReference;
+
+/**
+ * Concrete implementation of {@link ClientSecretKeyReference}.
+ */
+public class ClientSecretKeyReferenceImpl extends AbstractMetadataValueSAMLObject implements ClientSecretKeyReference {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ClientSecretKeyReferenceImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceMarshaller.java
new file mode 100644
index 0000000..51b5970
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecretKeyReference;
+
+/**
+ * A thread safe Marshaller for {@link ClientSecretKeyReference} objects.
+ */
+public class ClientSecretKeyReferenceMarshaller extends AbstractMetadataValueMarshaller<ClientSecretKeyReference> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceUnmarshaller.java
new file mode 100644
index 0000000..43e7758
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecretKeyReference;
+
+/**
+ * A thread-safe Unmarshaller for {@link ClientSecretKeyReference} objects.
+ */
+public class ClientSecretKeyReferenceUnmarshaller extends AbstractMetadataValueUnmarshaller<ClientSecretKeyReference> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretMarshaller.java
new file mode 100644
index 0000000..b85ccfa
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecret;
+
+/**
+ * A thread safe Marshaller for {@link ClientSecret} objects.
+ */
+public class ClientSecretMarshaller extends AbstractMetadataValueMarshaller<ClientSecret> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretUnmarshaller.java
new file mode 100644
index 0000000..2889fe3
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecret;
+
+/**
+ * A thread-safe Unmarshaller for {@link ClientSecret} objects.
+ */
+public class ClientSecretUnmarshaller extends AbstractMetadataValueUnmarshaller<ClientSecret> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriBuilder.java
new file mode 100644
index 0000000..5c60b15
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+
+/**
+ * Builder of {@link ClientUriImpl}.
+ */
+public class ClientUriBuilder extends AbstractSAMLObjectBuilder<ClientUri> {
+
+ /**
+ * Constructor.
+ */
+ public ClientUriBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public ClientUri buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, ClientUri.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public ClientUri buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new ClientUriImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriImpl.java
new file mode 100644
index 0000000..91f24e8
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+
+/**
+ * Concrete implementation of {@link ClientUri}.
+ */
+public class ClientUriImpl extends AbstractMetadataValueSAMLObject implements ClientUri {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ClientUriImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriMarshaller.java
new file mode 100644
index 0000000..01f0a2a
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+
+/**
+ * A thread safe Marshaller for {@link ClientUri} objects.
+ */
+public class ClientUriMarshaller extends AbstractMetadataValueMarshaller<ClientUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriUnmarshaller.java
new file mode 100644
index 0000000..082454e
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+
+/**
+ * A thread-safe Unmarshaller for {@link ClientUri} objects.
+ */
+public class ClientUriUnmarshaller extends AbstractMetadataValueUnmarshaller<ClientUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueBuilder.java
new file mode 100644
index 0000000..92abc72
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+
+/**
+ * Builder of {@link DefaultAcrValueImpl}.
+ */
+public class DefaultAcrValueBuilder extends AbstractSAMLObjectBuilder<DefaultAcrValue> {
+
+ /**
+ * Constructor.
+ */
+ public DefaultAcrValueBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public DefaultAcrValue buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, DefaultAcrValue.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public DefaultAcrValue buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new DefaultAcrValueImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueImpl.java
new file mode 100644
index 0000000..19a01a0
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+
+/**
+ * Concrete implementation of {@link DefaultAcrValue}.
+ */
+public class DefaultAcrValueImpl extends AbstractMetadataValueSAMLObject implements DefaultAcrValue {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected DefaultAcrValueImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueMarshaller.java
new file mode 100644
index 0000000..f99c34b
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+
+/**
+ * A thread safe Marshaller for {@link DefaultAcrValue} objects.
+ */
+public class DefaultAcrValueMarshaller extends AbstractMetadataValueMarshaller<DefaultAcrValue> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueUnmarshaller.java
new file mode 100644
index 0000000..138844d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+
+/**
+ * A thread-safe Unmarshaller for {@link DefaultAcrValue} objects.
+ */
+public class DefaultAcrValueUnmarshaller extends AbstractMetadataValueUnmarshaller<DefaultAcrValue> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeBuilder.java
new file mode 100644
index 0000000..356495b
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+
+/**
+ * Builder of {@link GrantTypeImpl}.
+ */
+public class GrantTypeBuilder extends AbstractSAMLObjectBuilder<GrantType> {
+
+ /**
+ * Constructor.
+ */
+ public GrantTypeBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public GrantType buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, GrantType.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public GrantType buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new GrantTypeImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeImpl.java
new file mode 100644
index 0000000..bdf7ae6
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+
+/**
+ * Concrete implementation of {@link GrantType}.
+ */
+public class GrantTypeImpl extends AbstractMetadataValueSAMLObject implements GrantType {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected GrantTypeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeMarshaller.java
new file mode 100644
index 0000000..8db9b57
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+
+/**
+ * A thread safe Marshaller for {@link GrantType} objects.
+ */
+public class GrantTypeMarshaller extends AbstractMetadataValueMarshaller<GrantType> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeUnmarshaller.java
new file mode 100644
index 0000000..5b0a74c
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+
+/**
+ * A thread-safe Unmarshaller for {@link GrantType} objects.
+ */
+public class GrantTypeUnmarshaller extends AbstractMetadataValueUnmarshaller<GrantType> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgBuilder.java
new file mode 100644
index 0000000..b362176
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+
+/**
+ * Builder of {@link IdTokenEncryptedResponseAlgImpl}.
+ */
+public class IdTokenEncryptedResponseAlgBuilder extends AbstractSAMLObjectBuilder<IdTokenEncryptedResponseAlg> {
+
+ /**
+ * Constructor.
+ */
+ public IdTokenEncryptedResponseAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public IdTokenEncryptedResponseAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, IdTokenEncryptedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public IdTokenEncryptedResponseAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new IdTokenEncryptedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgImpl.java
new file mode 100644
index 0000000..4e1f03a
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+
+/**
+ * Concrete implementation of {@link IdTokenEncryptedResponseAlg}.
+ */
+public class IdTokenEncryptedResponseAlgImpl extends AbstractMetadataValueSAMLObject
+ implements IdTokenEncryptedResponseAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected IdTokenEncryptedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgMarshaller.java
new file mode 100644
index 0000000..3eda376
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+
+/**
+ * A thread safe Marshaller for {@link IdTokenEncryptedResponseAlg} objects.
+ */
+public class IdTokenEncryptedResponseAlgMarshaller
+ extends AbstractMetadataValueMarshaller<IdTokenEncryptedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgUnmarshaller.java
new file mode 100644
index 0000000..0cc6393
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link IdTokenEncryptedResponseAlg} objects.
+ */
+public class IdTokenEncryptedResponseAlgUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<IdTokenEncryptedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncBuilder.java
new file mode 100644
index 0000000..c4ee591
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+
+/**
+ * Builder of {@link IdTokenEncryptedResponseEncImpl}.
+ */
+public class IdTokenEncryptedResponseEncBuilder extends AbstractSAMLObjectBuilder<IdTokenEncryptedResponseEnc> {
+
+ /**
+ * Constructor.
+ */
+ public IdTokenEncryptedResponseEncBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public IdTokenEncryptedResponseEnc buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, IdTokenEncryptedResponseEnc.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public IdTokenEncryptedResponseEnc buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new IdTokenEncryptedResponseEncImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncImpl.java
new file mode 100644
index 0000000..daf5d12
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+
+/**
+ * Concrete implementation of {@link IdTokenEncryptedResponseEnc}.
+ */
+public class IdTokenEncryptedResponseEncImpl extends AbstractMetadataValueSAMLObject
+ implements IdTokenEncryptedResponseEnc {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected IdTokenEncryptedResponseEncImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncMarshaller.java
new file mode 100644
index 0000000..b22ab66
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+
+/**
+ * A thread safe Marshaller for {@link IdTokenEncryptedResponseEnc} objects.
+ */
+public class IdTokenEncryptedResponseEncMarshaller
+ extends AbstractMetadataValueMarshaller<IdTokenEncryptedResponseEnc> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncUnmarshaller.java
new file mode 100644
index 0000000..9fa9355
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+
+/**
+ * A thread-safe Unmarshaller for {@link IdTokenEncryptedResponseEnc} objects.
+ */
+public class IdTokenEncryptedResponseEncUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<IdTokenEncryptedResponseEnc> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgBuilder.java
new file mode 100644
index 0000000..ef92498
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+
+/**
+ * Builder of {@link IdTokenSignedResponseAlgImpl}.
+ */
+public class IdTokenSignedResponseAlgBuilder extends AbstractSAMLObjectBuilder<IdTokenSignedResponseAlg> {
+
+ /**
+ * Constructor.
+ */
+ public IdTokenSignedResponseAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public IdTokenSignedResponseAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, IdTokenSignedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public IdTokenSignedResponseAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new IdTokenSignedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgImpl.java
new file mode 100644
index 0000000..2bb176e
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+
+/**
+ * Concrete implementation of {@link IdTokenSignedResponseAlg}.
+ */
+public class IdTokenSignedResponseAlgImpl extends AbstractMetadataValueSAMLObject implements IdTokenSignedResponseAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected IdTokenSignedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgMarshaller.java
new file mode 100644
index 0000000..c56c4e2
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+
+/**
+ * A thread safe Marshaller for {@link IdTokenSignedResponseAlg} objects.
+ */
+public class IdTokenSignedResponseAlgMarshaller extends AbstractMetadataValueMarshaller<IdTokenSignedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgUnmarshaller.java
new file mode 100644
index 0000000..7d310b6
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link IdTokenSignedResponseAlg} objects.
+ */
+public class IdTokenSignedResponseAlgUnmarshaller extends AbstractMetadataValueUnmarshaller<IdTokenSignedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriBuilder.java
new file mode 100644
index 0000000..24fc1cd
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+
+/**
+ * Builder of {@link InitiateLoginUriImpl}.
+ */
+public class InitiateLoginUriBuilder extends AbstractSAMLObjectBuilder<InitiateLoginUri> {
+
+ /**
+ * Constructor.
+ */
+ public InitiateLoginUriBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public InitiateLoginUri buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, InitiateLoginUri.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public InitiateLoginUri buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new InitiateLoginUriImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriImpl.java
new file mode 100644
index 0000000..4f640dc
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+
+/**
+ * Concrete implementation of {@link InitiateLoginUri}.
+ */
+public class InitiateLoginUriImpl extends AbstractMetadataValueSAMLObject implements InitiateLoginUri {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected InitiateLoginUriImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriMarshaller.java
new file mode 100644
index 0000000..3ba317c
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+
+/**
+ * A thread safe Marshaller for {@link InitiateLoginUri} objects.
+ */
+public class InitiateLoginUriMarshaller extends AbstractMetadataValueMarshaller<InitiateLoginUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriUnmarshaller.java
new file mode 100644
index 0000000..da0c1ff
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+
+/**
+ * A thread-safe Unmarshaller for {@link InitiateLoginUri} objects.
+ */
+public class InitiateLoginUriUnmarshaller extends AbstractMetadataValueUnmarshaller<InitiateLoginUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataBuilder.java
new file mode 100644
index 0000000..8281d91
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.JwksData;
+
+/**
+ * Builder of {@link JwksDataImpl}.
+ */
+public class JwksDataBuilder extends AbstractSAMLObjectBuilder<JwksData> {
+
+ /**
+ * Constructor.
+ */
+ public JwksDataBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public JwksData buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, JwksData.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public JwksData buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new JwksDataImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataImpl.java
new file mode 100644
index 0000000..523ed84
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksData;
+
+/**
+ * Concrete implementation of {@link JwksData}.
+ */
+public class JwksDataImpl extends AbstractMetadataValueSAMLObject implements JwksData {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected JwksDataImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataMarshaller.java
new file mode 100644
index 0000000..d4b6525
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksData;
+
+/**
+ * A thread safe Marshaller for {@link JwksData} objects.
+ */
+public class JwksDataMarshaller extends AbstractMetadataValueMarshaller<JwksData> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataUnmarshaller.java
new file mode 100644
index 0000000..8fc73de
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksData;
+
+/**
+ * A thread-safe Unmarshaller for {@link JwksData} objects.
+ */
+public class JwksDataUnmarshaller extends AbstractMetadataValueUnmarshaller<JwksData> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriBuilder.java
new file mode 100644
index 0000000..4698a74
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+
+/**
+ * Builder of {@link JwksUriImpl}.
+ */
+public class JwksUriBuilder extends AbstractSAMLObjectBuilder<JwksUri> {
+
+ /**
+ * Constructor.
+ */
+ public JwksUriBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public JwksUri buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, JwksUri.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public JwksUri buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new JwksUriImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriImpl.java
new file mode 100644
index 0000000..8935115
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+
+/**
+ * Concrete implementation of {@link JwksUri}.
+ */
+public class JwksUriImpl extends AbstractMetadataValueSAMLObject implements JwksUri {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected JwksUriImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriMarshaller.java
new file mode 100644
index 0000000..5aad75c
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+
+/**
+ * A thread safe Marshaller for {@link JwksUri} objects.
+ */
+public class JwksUriMarshaller extends AbstractMetadataValueMarshaller<JwksUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriUnmarshaller.java
new file mode 100644
index 0000000..00a03f9
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+
+/**
+ * A thread-safe Unmarshaller for {@link JwksUri} objects.
+ */
+public class JwksUriUnmarshaller extends AbstractMetadataValueUnmarshaller<JwksUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsBuilder.java
new file mode 100644
index 0000000..25c5181
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsBuilder.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.MetadataValueSAMLObject;
+import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
+
+/**
+ * Builder of {@link OAuthRPExtensions} objects.
+ */
+public class OAuthRPExtensionsBuilder extends AbstractSAMLObjectBuilder<OAuthRPExtensions> {
+
+ /** Constructor. */
+ public OAuthRPExtensionsBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public OAuthRPExtensions buildObject() {
+ return buildObject(MetadataValueSAMLObject.SAML20MDOIDCMD_NS,
+ OAuthRPExtensions.TYPE_LOCAL_NAME,
+ MetadataValueSAMLObject.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public OAuthRPExtensions buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new OAuthRPExtensionsImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java
new file mode 100644
index 0000000..40cdd54
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java
@@ -0,0 +1,494 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.opensaml.core.xml.AbstractXMLObject;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.util.AttributeMap;
+import org.opensaml.core.xml.util.IndexedXMLObjectChildrenList;
+import org.opensaml.core.xml.util.XMLObjectChildrenList;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * Implementation for {@link OAuthRPExtensions}.
+ */
+public class OAuthRPExtensionsImpl extends AbstractXMLObject implements OAuthRPExtensions {
+
+ /** Token endpoint authentication method for this entity. */
+ private TokenEndpointAuthMethod tokenEndpointAuthMethod;
+
+ /** Response types for this entity. */
+ private final XMLObjectChildrenList<ResponseType> responseTypes;
+
+ /** Grant types for this entity. */
+ private final XMLObjectChildrenList<GrantType> grantTypes;
+
+ /** Application type for this entity. */
+ private ApplicationType applicationType;
+
+ /** Client URI for this entity. */
+ private ClientUri clientUri;
+
+ /** Scopes for this entity. */
+ private final XMLObjectChildrenList<Scope> scopes;
+
+ /** JWKS URI for this entity. */
+ private JwksUri jwksUri;
+
+ /** Software identifier for this entity. */
+ private SoftwareId softwareId;
+
+ /** Software version for this entity. */
+ private SoftwareVersion softwareVersion;
+
+ /** Sector identifier URI for this entity. */
+ private SectorIdentifierUri sectorIdentifierUri;
+
+ /** ID token signed response algorithm for this entity. */
+ private IdTokenSignedResponseAlg idTokenSignedResponseAlg;
+
+ /** ID token encrypted response algorithm for this entity. */
+ private IdTokenEncryptedResponseAlg idTokenEncryptedResponseAlg;
+
+ /** ID token encrypted response encoder for this entity. */
+ private IdTokenEncryptedResponseEnc idTokenEncryptedResponseEnc;
+
+ /** User info signed response algorithm for this entity. */
+ private UserInfoSignedResponseAlg userInfoSignedResponseAlg;
+
+ /** User info encrypted response algorithm for this entity. */
+ private UserInfoEncryptedResponseAlg userInfoEncryptedResponseAlg;
+
+ /** User info encrypted response encoder for this entity. */
+ private UserInfoEncryptedResponseEnc userInfoEncryptedResponseEnc;
+
+ /** Request object signing algorithm for this entity. */
+ private RequestObjectSigningAlg requestObjectSigningAlg;
+
+ /** Request object encryption algorithm for this entity. */
+ private RequestObjectEncryptionAlg requestObjectEncryptionAlg;
+
+ /** Request object encryption encoder for this entity. */
+ private RequestObjectEncryptionEnc requestObjectEncryptionEnc;
+
+ /** Token endpoint authentication signing algorithm for this entity. */
+ private TokenEndpointAuthSigningAlg tokenEndpointAuthSigningAlg;
+
+ /** Default ACR values for this entity. */
+ private final XMLObjectChildrenList<DefaultAcrValue> defaultAcrValues;
+
+ /** Initiate login URI for this entity. */
+ private InitiateLoginUri initiateLoginUri;
+
+ /** Request URIs for this entity. */
+ private final XMLObjectChildrenList<RequestUri> requestUris;
+
+ /** Post logout redirect URIs for this entity. */
+ private final XMLObjectChildrenList<PostLogoutRedirectUri> postLogoutRedirectUris;
+
+ /** Default max age for this entity. */
+ private int defaultMaxAge;
+
+ /** Require auth time flag for this entity. */
+ private boolean requireAuthTime;
+
+ /** "anyAttribute" attributes. */
+ private final AttributeMap unknownAttributes;
+
+ /** "any" children. */
+ private final IndexedXMLObjectChildrenList<XMLObject> unknownChildren;
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected OAuthRPExtensionsImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ responseTypes = new XMLObjectChildrenList<>(this);
+ grantTypes = new XMLObjectChildrenList<>(this);
+ scopes = new XMLObjectChildrenList<>(this);
+ defaultAcrValues = new XMLObjectChildrenList<>(this);
+ requestUris = new XMLObjectChildrenList<>(this);
+ postLogoutRedirectUris = new XMLObjectChildrenList<>(this);
+ unknownAttributes = new AttributeMap(this);
+ unknownChildren = new IndexedXMLObjectChildrenList<>(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<ResponseType> getResponseTypes() {
+ return responseTypes;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<GrantType> getGrantTypes() {
+ return grantTypes;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ApplicationType getApplicationType() {
+ return applicationType;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setApplicationType(final ApplicationType type) {
+ applicationType = type;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public TokenEndpointAuthMethod getTokenEndpointAuthMethod() {
+ return tokenEndpointAuthMethod;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setTokenEndpointAuthMethod(final TokenEndpointAuthMethod method) {
+ tokenEndpointAuthMethod = method;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClientUri getClientUri() {
+ return clientUri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setClientUri(final ClientUri uri) {
+ clientUri = uri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<Scope> getScopes() {
+ return scopes;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public JwksUri getJwksUri() {
+ return jwksUri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setJwksUri(final JwksUri uri) {
+ jwksUri = uri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SoftwareId getSoftwareId() {
+ return softwareId;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setSoftwareId(final SoftwareId id) {
+ softwareId = id;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SoftwareVersion getSoftwareVersion() {
+ return softwareVersion;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setSoftwareVersion(final SoftwareVersion version) {
+ softwareVersion = version;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SectorIdentifierUri getSectorIdentifierUri() {
+ return sectorIdentifierUri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setSectorIdentifierUri(final SectorIdentifierUri uri) {
+ sectorIdentifierUri = uri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public IdTokenSignedResponseAlg getIdTokenSignedResponseAlg() {
+ return idTokenSignedResponseAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setIdTokenSignedResponseAlg(final IdTokenSignedResponseAlg algorithm) {
+ idTokenSignedResponseAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public IdTokenEncryptedResponseAlg getIdTokenEncryptedResponseAlg() {
+ return idTokenEncryptedResponseAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setIdTokenEncryptedResponseAlg(final IdTokenEncryptedResponseAlg algorithm) {
+ idTokenEncryptedResponseAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public IdTokenEncryptedResponseEnc getIdTokenEncryptedResponseEnc() {
+ return idTokenEncryptedResponseEnc;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setIdTokenEncryptedResponseEnc(final IdTokenEncryptedResponseEnc algorithm) {
+ idTokenEncryptedResponseEnc = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public UserInfoSignedResponseAlg getUserInfoSignedResponseAlg() {
+ return userInfoSignedResponseAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setUserInfoSignedResponseAlg(final UserInfoSignedResponseAlg algorithm) {
+ userInfoSignedResponseAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public UserInfoEncryptedResponseAlg getUserInfoEncryptedResponseAlg() {
+ return userInfoEncryptedResponseAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setUserInfoEncryptedResponseAlg(final UserInfoEncryptedResponseAlg algorithm) {
+ userInfoEncryptedResponseAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public UserInfoEncryptedResponseEnc getUserInfoEncryptedResponseEnc() {
+ return userInfoEncryptedResponseEnc;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setUserInfoEncryptedResponseEnc(final UserInfoEncryptedResponseEnc algorithm) {
+ userInfoEncryptedResponseEnc = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public RequestObjectSigningAlg getRequestObjectSigningAlg() {
+ return requestObjectSigningAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setRequestObjectSigningAlg(final RequestObjectSigningAlg algorithm) {
+ requestObjectSigningAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public RequestObjectEncryptionAlg getRequestObjectEncryptionAlg() {
+ return requestObjectEncryptionAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setRequestObjectEncryptionAlg(final RequestObjectEncryptionAlg algorithm) {
+ requestObjectEncryptionAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public RequestObjectEncryptionEnc getRequestObjectEncryptionEnc() {
+ return requestObjectEncryptionEnc;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setRequestObjectEncryptionEnc(final RequestObjectEncryptionEnc algorithm) {
+ requestObjectEncryptionEnc = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public TokenEndpointAuthSigningAlg getTokenEndpointAuthSigningAlg() {
+ return tokenEndpointAuthSigningAlg;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setTokenEndpointAuthSigningAlg(final TokenEndpointAuthSigningAlg algorithm) {
+ tokenEndpointAuthSigningAlg = algorithm;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<DefaultAcrValue> getDefaultAcrValues() {
+ return defaultAcrValues;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InitiateLoginUri getInitiateLoginUri() {
+ return initiateLoginUri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setInitiateLoginUri(final InitiateLoginUri uri) {
+ initiateLoginUri = uri;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<RequestUri> getRequestUris() {
+ return requestUris;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<PostLogoutRedirectUri> getPostLogoutRedirectUris() {
+ return postLogoutRedirectUris;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public int getDefaultMaxAge() {
+ return defaultMaxAge;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setDefaultMaxAge(final int age) {
+ defaultMaxAge = age;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean isRequireAuthTime() {
+ return requireAuthTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setRequireAuthTime(final boolean flag) {
+ requireAuthTime = flag;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List<XMLObject> getOrderedChildren() {
+ final ArrayList<XMLObject> children = new ArrayList<>();
+
+ children.add(getApplicationType());
+ children.add(getClientUri());
+ children.addAll(getDefaultAcrValues());
+ children.addAll(getGrantTypes());
+ children.add(getIdTokenEncryptedResponseAlg());
+ children.add(getIdTokenEncryptedResponseEnc());
+ children.add(getIdTokenSignedResponseAlg());
+ children.add(getInitiateLoginUri());
+ children.addAll(getPostLogoutRedirectUris());
+ children.add(getRequestObjectEncryptionAlg());
+ children.add(getRequestObjectEncryptionEnc());
+ children.add(getRequestObjectSigningAlg());
+ children.addAll(getRequestUris());
+ children.addAll(getResponseTypes());
+ children.addAll(getScopes());
+ children.add(getSoftwareId());
+ children.add(getSoftwareVersion());
+ children.add(getTokenEndpointAuthMethod());
+ children.add(getTokenEndpointAuthSigningAlg());
+ children.add(getSectorIdentifierUri());
+ children.add(getUserInfoEncryptedResponseAlg());
+ children.add(getUserInfoEncryptedResponseEnc());
+ children.add(getUserInfoSignedResponseAlg());
+ children.addAll(getUnknownXMLObjects());
+
+ return Collections.unmodifiableList(children);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AttributeMap getUnknownAttributes() {
+ return unknownAttributes;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<XMLObject> getUnknownXMLObjects() {
+ return unknownChildren;
+ }
+
+ /** {@inheritDoc} */
+ public List<XMLObject> getUnknownXMLObjects(final QName typeOrName) {
+ return (List<XMLObject>) unknownChildren.subList(typeOrName);
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java
new file mode 100644
index 0000000..8194812
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.io.MarshallingException;
+import org.opensaml.saml.common.AbstractSAMLObjectMarshaller;
+import org.w3c.dom.Element;
+
+import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
+
+/**
+ * Marshaller for {@link OAuthRPExtensions} objects.
+ */
+public class OAuthRPExtensionsMarshaller extends AbstractSAMLObjectMarshaller {
+
+ /** {@inheritDoc} */
+ protected void marshallAttributes(final XMLObject samlElement, final Element domElement)
+ throws MarshallingException {
+ final OAuthRPExtensions rpExtensions = (OAuthRPExtensions) samlElement;
+
+ // Set the default max age attribute
+ if (rpExtensions.getDefaultMaxAge() != 0) {
+ domElement.setAttributeNS(null, OAuthRPExtensions.DEFAULT_MAX_AGE_ATTRIB_NAME,
+ Integer.toString(rpExtensions.getDefaultMaxAge()));
+ domElement.setIdAttributeNS(null, OAuthRPExtensions.DEFAULT_MAX_AGE_ATTRIB_NAME, true);
+ }
+
+ // Set the require auth time attribute
+ if (rpExtensions.isRequireAuthTime()) {
+ domElement.setAttributeNS(null, OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME,
+ Boolean.toString(rpExtensions.isRequireAuthTime()));
+ domElement.setIdAttributeNS(null, OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME, true);
+ }
+
+ marshallUnknownAttributes(rpExtensions, domElement);
+ }}
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
new file mode 100644
index 0000000..69816c6
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.io.UnmarshallingException;
+import org.opensaml.saml.common.AbstractSAMLObjectUnmarshaller;
+import org.w3c.dom.Attr;
+
+import com.google.common.base.Strings;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * Unmarshaller for {@link OAuthRPExtensions} objects.
+ */
+public class OAuthRPExtensionsUnmarshaller extends AbstractSAMLObjectUnmarshaller {
+
+// Checkstyle: CyclomaticComplexity OFF
+ /** {@inheritDoc} */
+ protected void processChildElement(final XMLObject parentSAMLObject, final XMLObject childSAMLObject)
+ throws UnmarshallingException {
+ final OAuthRPExtensions descriptor = (OAuthRPExtensions) parentSAMLObject;
+
+ if (childSAMLObject instanceof ResponseType) {
+ descriptor.getResponseTypes().add((ResponseType) childSAMLObject);
+ } else if (childSAMLObject instanceof GrantType) {
+ descriptor.getGrantTypes().add((GrantType) childSAMLObject);
+ } else if (childSAMLObject instanceof ApplicationType) {
+ descriptor.setApplicationType((ApplicationType) childSAMLObject);
+ } else if (childSAMLObject instanceof TokenEndpointAuthMethod) {
+ descriptor.setTokenEndpointAuthMethod((TokenEndpointAuthMethod) childSAMLObject);
+ } else if (childSAMLObject instanceof ClientUri) {
+ descriptor.setClientUri((ClientUri) childSAMLObject);
+ } else if (childSAMLObject instanceof Scope) {
+ descriptor.getScopes().add((Scope) childSAMLObject);
+ } else if (childSAMLObject instanceof JwksUri) {
+ descriptor.setJwksUri((JwksUri) childSAMLObject);
+ } else if (childSAMLObject instanceof SoftwareId) {
+ descriptor.setSoftwareId((SoftwareId) childSAMLObject);
+ } else if (childSAMLObject instanceof SoftwareVersion) {
+ descriptor.setSoftwareVersion((SoftwareVersion) childSAMLObject);
+ } else if (childSAMLObject instanceof SectorIdentifierUri) {
+ descriptor.setSectorIdentifierUri((SectorIdentifierUri) childSAMLObject);
+ } else if (childSAMLObject instanceof IdTokenSignedResponseAlg) {
+ descriptor.setIdTokenSignedResponseAlg((IdTokenSignedResponseAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof IdTokenEncryptedResponseAlg) {
+ descriptor.setIdTokenEncryptedResponseAlg((IdTokenEncryptedResponseAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof IdTokenEncryptedResponseEnc) {
+ descriptor.setIdTokenEncryptedResponseEnc((IdTokenEncryptedResponseEnc) childSAMLObject);
+ } else if (childSAMLObject instanceof UserInfoSignedResponseAlg) {
+ descriptor.setUserInfoSignedResponseAlg((UserInfoSignedResponseAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof UserInfoEncryptedResponseAlg) {
+ descriptor.setUserInfoEncryptedResponseAlg((UserInfoEncryptedResponseAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof UserInfoEncryptedResponseEnc) {
+ descriptor.setUserInfoEncryptedResponseEnc((UserInfoEncryptedResponseEnc) childSAMLObject);
+ } else if (childSAMLObject instanceof RequestObjectSigningAlg) {
+ descriptor.setRequestObjectSigningAlg((RequestObjectSigningAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof RequestObjectEncryptionAlg) {
+ descriptor.setRequestObjectEncryptionAlg((RequestObjectEncryptionAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof RequestObjectEncryptionEnc) {
+ descriptor.setRequestObjectEncryptionEnc((RequestObjectEncryptionEnc) childSAMLObject);
+ } else if (childSAMLObject instanceof TokenEndpointAuthSigningAlg) {
+ descriptor.setTokenEndpointAuthSigningAlg((TokenEndpointAuthSigningAlg) childSAMLObject);
+ } else if (childSAMLObject instanceof DefaultAcrValue) {
+ descriptor.getDefaultAcrValues().add((DefaultAcrValue) childSAMLObject);
+ } else if (childSAMLObject instanceof InitiateLoginUri) {
+ descriptor.setInitiateLoginUri((InitiateLoginUri) childSAMLObject);
+ } else if (childSAMLObject instanceof RequestUri) {
+ descriptor.getRequestUris().add((RequestUri) childSAMLObject);
+ } else if (childSAMLObject instanceof PostLogoutRedirectUri) {
+ descriptor.getPostLogoutRedirectUris().add((PostLogoutRedirectUri) childSAMLObject);
+ } else {
+ super.processChildElement(parentSAMLObject, childSAMLObject);
+ }
+ }
+
+ /** {@inheritDoc} */
+ protected void processAttribute(final XMLObject samlObject, final Attr attribute) throws UnmarshallingException {
+ final OAuthRPExtensions descriptor = (OAuthRPExtensions) samlObject;
+
+ if (attribute.getNamespaceURI() == null) {
+ if (attribute.getLocalName().equals(OAuthRPExtensions.DEFAULT_MAX_AGE_ATTRIB_NAME)
+ && !Strings.isNullOrEmpty(attribute.getValue())) {
+ descriptor.setDefaultMaxAge(Integer.parseInt(attribute.getValue()));
+ } else if (attribute.getLocalName().equals(OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME)
+ && !Strings.isNullOrEmpty(attribute.getValue())) {
+ descriptor.setRequireAuthTime(Boolean.parseBoolean(attribute.getValue()));
+ } else {
+ super.processAttribute(samlObject, attribute);
+ }
+ } else {
+ processUnknownAttribute(descriptor, attribute);
+ }
+ }
+// Checkstyle: CyclomaticComplexity OFF
+}
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriBuilder.java
new file mode 100644
index 0000000..72ffa55
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+
+/**
+ * Builder of {@link PostLogoutRedirectUriImpl}.
+ */
+public class PostLogoutRedirectUriBuilder extends AbstractSAMLObjectBuilder<PostLogoutRedirectUri> {
+
+ /**
+ * Constructor.
+ */
+ public PostLogoutRedirectUriBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public PostLogoutRedirectUri buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, PostLogoutRedirectUri.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public PostLogoutRedirectUri buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new PostLogoutRedirectUriImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriImpl.java
new file mode 100644
index 0000000..1f7ae5a
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+
+/**
+ * Concrete implementation of {@link PostLogoutRedirectUri}.
+ */
+public class PostLogoutRedirectUriImpl extends AbstractMetadataValueSAMLObject implements PostLogoutRedirectUri {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected PostLogoutRedirectUriImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriMarshaller.java
new file mode 100644
index 0000000..40da2d9
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+
+/**
+ * A thread safe Marshaller for {@link PostLogoutRedirectUri} objects.
+ */
+public class PostLogoutRedirectUriMarshaller extends AbstractMetadataValueMarshaller<PostLogoutRedirectUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriUnmarshaller.java
new file mode 100644
index 0000000..89aaaaf
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+
+/**
+ * A thread-safe Unmarshaller for {@link PostLogoutRedirectUri} objects.
+ */
+public class PostLogoutRedirectUriUnmarshaller extends AbstractMetadataValueUnmarshaller<PostLogoutRedirectUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgBuilder.java
new file mode 100644
index 0000000..830dc23
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+
+/**
+ * Builder of {@link RequestObjectEncryptionAlgImpl}.
+ */
+public class RequestObjectEncryptionAlgBuilder extends AbstractSAMLObjectBuilder<RequestObjectEncryptionAlg> {
+
+ /**
+ * Constructor.
+ */
+ public RequestObjectEncryptionAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public RequestObjectEncryptionAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, RequestObjectEncryptionAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public RequestObjectEncryptionAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new RequestObjectEncryptionAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgImpl.java
new file mode 100644
index 0000000..6e08b05
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+
+/**
+ * Concrete implementation of {@link RequestObjectEncryptionAlg}.
+ */
+public class RequestObjectEncryptionAlgImpl extends AbstractMetadataValueSAMLObject
+ implements RequestObjectEncryptionAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected RequestObjectEncryptionAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgMarshaller.java
new file mode 100644
index 0000000..0473f21
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+
+/**
+ * A thread safe Marshaller for {@link RequestObjectEncryptionAlg} objects.
+ */
+public class RequestObjectEncryptionAlgMarshaller extends AbstractMetadataValueMarshaller<RequestObjectEncryptionAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgUnmarshaller.java
new file mode 100644
index 0000000..1829c69
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link RequestObjectEncryptionAlg} objects.
+ */
+public class RequestObjectEncryptionAlgUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<RequestObjectEncryptionAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncBuilder.java
new file mode 100644
index 0000000..6a754fa
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+
+/**
+ * Builder of {@link RequestObjectEncryptionEncImpl}.
+ */
+public class RequestObjectEncryptionEncBuilder extends AbstractSAMLObjectBuilder<RequestObjectEncryptionEnc> {
+
+ /**
+ * Constructor.
+ */
+ public RequestObjectEncryptionEncBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public RequestObjectEncryptionEnc buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, RequestObjectEncryptionEnc.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public RequestObjectEncryptionEnc buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new RequestObjectEncryptionEncImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncImpl.java
new file mode 100644
index 0000000..d8a7ca2
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+
+/**
+ * Concrete implementation of {@link RequestObjectEncryptionEnc}.
+ */
+public class RequestObjectEncryptionEncImpl extends AbstractMetadataValueSAMLObject
+ implements RequestObjectEncryptionEnc {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected RequestObjectEncryptionEncImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncMarshaller.java
new file mode 100644
index 0000000..59c9787
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+
+/**
+ * A thread safe Marshaller for {@link RequestObjectEncryptionEnc} objects.
+ */
+public class RequestObjectEncryptionEncMarshaller extends AbstractMetadataValueMarshaller<RequestObjectEncryptionEnc> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncUnmarshaller.java
new file mode 100644
index 0000000..9996d22
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+
+/**
+ * A thread-safe Unmarshaller for {@link RequestObjectEncryptionEnc} objects.
+ */
+public class RequestObjectEncryptionEncUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<RequestObjectEncryptionEnc> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgBuilder.java
new file mode 100644
index 0000000..812544f
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+
+/**
+ * Builder of {@link RequestObjectSigningAlgImpl}.
+ */
+public class RequestObjectSigningAlgBuilder extends AbstractSAMLObjectBuilder<RequestObjectSigningAlg> {
+
+ /**
+ * Constructor.
+ */
+ public RequestObjectSigningAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public RequestObjectSigningAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, RequestObjectSigningAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public RequestObjectSigningAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new RequestObjectSigningAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgImpl.java
new file mode 100644
index 0000000..5d95c60
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+
+/**
+ * Concrete implementation of {@link RequestObjectSigningAlg}.
+ */
+public class RequestObjectSigningAlgImpl extends AbstractMetadataValueSAMLObject implements RequestObjectSigningAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected RequestObjectSigningAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgMarshaller.java
new file mode 100644
index 0000000..0399749
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+
+/**
+ * A thread safe Marshaller for {@link RequestObjectSigningAlg} objects.
+ */
+public class RequestObjectSigningAlgMarshaller extends AbstractMetadataValueMarshaller<RequestObjectSigningAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgUnmarshaller.java
new file mode 100644
index 0000000..65a0afc
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link RequestObjectSigningAlg} objects.
+ */
+public class RequestObjectSigningAlgUnmarshaller extends AbstractMetadataValueUnmarshaller<RequestObjectSigningAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriBuilder.java
new file mode 100644
index 0000000..6e4cbd8
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+
+/**
+ * Builder of {@link RequestUriImpl}.
+ */
+public class RequestUriBuilder extends AbstractSAMLObjectBuilder<RequestUri> {
+
+ /**
+ * Constructor.
+ */
+ public RequestUriBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public RequestUri buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, RequestUri.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public RequestUri buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new RequestUriImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriImpl.java
new file mode 100644
index 0000000..696db31
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+
+/**
+ * Concrete implementation of {@link RequestUri}.
+ */
+public class RequestUriImpl extends AbstractMetadataValueSAMLObject implements RequestUri {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected RequestUriImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriMarshaller.java
new file mode 100644
index 0000000..1ba7ef2
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+
+/**
+ * A thread safe Marshaller for {@link RequestUri} objects.
+ */
+public class RequestUriMarshaller extends AbstractMetadataValueMarshaller<RequestUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriUnmarshaller.java
new file mode 100644
index 0000000..a550951
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+
+/**
+ * A thread-safe Unmarshaller for {@link RequestUri} objects.
+ */
+public class RequestUriUnmarshaller extends AbstractMetadataValueUnmarshaller<RequestUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeBuilder.java
new file mode 100644
index 0000000..11f7b78
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+
+/**
+ * Builder of {@link ResponseTypeImpl}.
+ */
+public class ResponseTypeBuilder extends AbstractSAMLObjectBuilder<ResponseType> {
+
+ /**
+ * Constructor.
+ */
+ public ResponseTypeBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public ResponseType buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, ResponseType.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public ResponseType buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new ResponseTypeImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeImpl.java
new file mode 100644
index 0000000..2334cf5
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+
+/**
+ * Concrete implementation of {@link ResponseType}.
+ */
+public class ResponseTypeImpl extends AbstractMetadataValueSAMLObject implements ResponseType {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ResponseTypeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeMarshaller.java
new file mode 100644
index 0000000..b957a85
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+
+/**
+ * A thread safe Marshaller for {@link ResponseType} objects.
+ */
+public class ResponseTypeMarshaller extends AbstractMetadataValueMarshaller<ResponseType> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeUnmarshaller.java
new file mode 100644
index 0000000..239b63f
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+
+/**
+ * A thread-safe Unmarshaller for {@link ResponseType} objects.
+ */
+public class ResponseTypeUnmarshaller extends AbstractMetadataValueUnmarshaller<ResponseType> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeBuilder.java
new file mode 100644
index 0000000..df94daf
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+
+/**
+ * Builder of {@link ResponseTypeImpl}.
+ */
+public class ScopeBuilder extends AbstractSAMLObjectBuilder<Scope> {
+
+ /**
+ * Constructor.
+ */
+ public ScopeBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public Scope buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, Scope.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public Scope buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new ScopeImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeImpl.java
new file mode 100644
index 0000000..791a46b
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+
+/**
+ * Concrete implementation of {@link Scope}.
+ */
+public class ScopeImpl extends AbstractMetadataValueSAMLObject implements Scope {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ScopeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeMarshaller.java
new file mode 100644
index 0000000..0c211dc
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+
+/**
+ * A thread safe Marshaller for {@link Scope} objects.
+ */
+public class ScopeMarshaller extends AbstractMetadataValueMarshaller<Scope> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeUnmarshaller.java
new file mode 100644
index 0000000..efd6233
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+
+/**
+ * A thread-safe Unmarshaller for {@link Scope} objects.
+ */
+public class ScopeUnmarshaller extends AbstractMetadataValueUnmarshaller<Scope> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriBuilder.java
new file mode 100644
index 0000000..7cf7049
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+
+/**
+ * Builder of {@link SectorIdentifierUriImpl}.
+ */
+public class SectorIdentifierUriBuilder extends AbstractSAMLObjectBuilder<SectorIdentifierUri> {
+
+ /**
+ * Constructor.
+ */
+ public SectorIdentifierUriBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public SectorIdentifierUri buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, SectorIdentifierUri.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public SectorIdentifierUri buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new SectorIdentifierUriImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriImpl.java
new file mode 100644
index 0000000..17c336f
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+
+/**
+ * Concrete implementation of {@link SectorIdentifierUri}.
+ */
+public class SectorIdentifierUriImpl extends AbstractMetadataValueSAMLObject implements SectorIdentifierUri {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected SectorIdentifierUriImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriMarshaller.java
new file mode 100644
index 0000000..771eb5a
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+
+/**
+ * A thread safe Marshaller for {@link SectorIdentifierUri} objects.
+ */
+public class SectorIdentifierUriMarshaller extends AbstractMetadataValueMarshaller<SectorIdentifierUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriUnmarshaller.java
new file mode 100644
index 0000000..845d927
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+
+/**
+ * A thread-safe Unmarshaller for {@link SectorIdentifierUri} objects.
+ */
+public class SectorIdentifierUriUnmarshaller extends AbstractMetadataValueUnmarshaller<SectorIdentifierUri> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdBuilder.java
new file mode 100644
index 0000000..db11f37
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdBuilder.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+
+/**
+ * Builder of {@link SoftwareIdImpl}.
+ */
+public class SoftwareIdBuilder extends AbstractSAMLObjectBuilder<SoftwareId> {
+
+ /**
+ * Constructor.
+ */
+ public SoftwareIdBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public SoftwareId buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, SoftwareId.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public SoftwareId buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SoftwareIdImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdImpl.java
new file mode 100644
index 0000000..9893dcc
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+
+/**
+ * Concrete implementation of {@link SoftwareId}.
+ */
+public class SoftwareIdImpl extends AbstractMetadataValueSAMLObject implements SoftwareId {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected SoftwareIdImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdMarshaller.java
new file mode 100644
index 0000000..a9dd1a5
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+
+/**
+ * A thread safe Marshaller for {@link SoftwareId} objects.
+ */
+public class SoftwareIdMarshaller extends AbstractMetadataValueMarshaller<SoftwareId> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdUnmarshaller.java
new file mode 100644
index 0000000..6a2fbf8
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+
+/**
+ * A thread-safe Unmarshaller for {@link SoftwareId} objects.
+ */
+public class SoftwareIdUnmarshaller extends AbstractMetadataValueUnmarshaller<SoftwareId> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionBuilder.java
new file mode 100644
index 0000000..0333890
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+
+/**
+ * Builder of {@link SoftwareVersionImpl}.
+ */
+public class SoftwareVersionBuilder extends AbstractSAMLObjectBuilder<SoftwareVersion> {
+
+ /**
+ * Constructor.
+ */
+ public SoftwareVersionBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public SoftwareVersion buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, SoftwareVersion.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public SoftwareVersion buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new SoftwareVersionImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionImpl.java
new file mode 100644
index 0000000..97b1eab
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+
+/**
+ * Concrete implementation of {@link SoftwareVersion}.
+ */
+public class SoftwareVersionImpl extends AbstractMetadataValueSAMLObject implements SoftwareVersion {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected SoftwareVersionImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionMarshaller.java
new file mode 100644
index 0000000..8d675ec
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+
+/**
+ * A thread safe Marshaller for {@link SoftwareVersion} objects.
+ */
+public class SoftwareVersionMarshaller extends AbstractMetadataValueMarshaller<SoftwareVersion> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionUnmarshaller.java
new file mode 100644
index 0000000..b78c570
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+
+/**
+ * A thread-safe Unmarshaller for {@link SoftwareVersion} objects.
+ */
+public class SoftwareVersionUnmarshaller extends AbstractMetadataValueUnmarshaller<SoftwareVersion> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodBuilder.java
new file mode 100644
index 0000000..523651f
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+
+/**
+ * Builder of {@link TokenEndpointAuthMethodImpl}.
+ */
+public class TokenEndpointAuthMethodBuilder extends AbstractSAMLObjectBuilder<TokenEndpointAuthMethod> {
+
+ /**
+ * Constructor.
+ */
+ public TokenEndpointAuthMethodBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public TokenEndpointAuthMethod buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, TokenEndpointAuthMethod.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public TokenEndpointAuthMethod buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new TokenEndpointAuthMethodImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodImpl.java
new file mode 100644
index 0000000..e2eafc5
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+
+/**
+ * Concrete implementation of {@link TokenEndpointAuthMethod}.
+ */
+public class TokenEndpointAuthMethodImpl extends AbstractMetadataValueSAMLObject implements TokenEndpointAuthMethod {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected TokenEndpointAuthMethodImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodMarshaller.java
new file mode 100644
index 0000000..63f1fff
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+
+/**
+ * A thread safe Marshaller for {@link TokenEndpointAuthMethod} objects.
+ */
+public class TokenEndpointAuthMethodMarshaller extends AbstractMetadataValueMarshaller<TokenEndpointAuthMethod> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodUnmarshaller.java
new file mode 100644
index 0000000..4952feb
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodUnmarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+
+/**
+ * A thread-safe Unmarshaller for {@link TokenEndpointAuthMethod} objects.
+ */
+public class TokenEndpointAuthMethodUnmarshaller extends AbstractMetadataValueUnmarshaller<TokenEndpointAuthMethod> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgBuilder.java
new file mode 100644
index 0000000..e06fedd
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+
+/**
+ * Builder of {@link TokenEndpointAuthSigningAlgImpl}.
+ */
+public class TokenEndpointAuthSigningAlgBuilder extends AbstractSAMLObjectBuilder<TokenEndpointAuthSigningAlg> {
+
+ /**
+ * Constructor.
+ */
+ public TokenEndpointAuthSigningAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public TokenEndpointAuthSigningAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, TokenEndpointAuthSigningAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public TokenEndpointAuthSigningAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new TokenEndpointAuthSigningAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgImpl.java
new file mode 100644
index 0000000..dbd2ecb
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+
+/**
+ * Concrete implementation of {@link TokenEndpointAuthSigningAlg}.
+ */
+public class TokenEndpointAuthSigningAlgImpl extends AbstractMetadataValueSAMLObject
+ implements TokenEndpointAuthSigningAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected TokenEndpointAuthSigningAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgMarshaller.java
new file mode 100644
index 0000000..3db5c43
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+
+/**
+ * A thread safe Marshaller for {@link TokenEndpointAuthSigningAlg} objects.
+ */
+public class TokenEndpointAuthSigningAlgMarshaller
+ extends AbstractMetadataValueMarshaller<TokenEndpointAuthSigningAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgUnmarshaller.java
new file mode 100644
index 0000000..f1eaf1d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link TokenEndpointAuthSigningAlg} objects.
+ */
+public class TokenEndpointAuthSigningAlgUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<TokenEndpointAuthSigningAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgBuilder.java
new file mode 100644
index 0000000..24960f2
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+
+/**
+ * Builder of {@link UserInfoEncryptedResponseAlgImpl}.
+ */
+public class UserInfoEncryptedResponseAlgBuilder extends AbstractSAMLObjectBuilder<UserInfoEncryptedResponseAlg> {
+
+ /**
+ * Constructor.
+ */
+ public UserInfoEncryptedResponseAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public UserInfoEncryptedResponseAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, UserInfoEncryptedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public UserInfoEncryptedResponseAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new UserInfoEncryptedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgImpl.java
new file mode 100644
index 0000000..07fed6d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+
+/**
+ * Concrete implementation of {@link UserInfoEncryptedResponseAlg}.
+ */
+public class UserInfoEncryptedResponseAlgImpl extends AbstractMetadataValueSAMLObject
+ implements UserInfoEncryptedResponseAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected UserInfoEncryptedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgMarshaller.java
new file mode 100644
index 0000000..44154c5
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+
+/**
+ * A thread safe Marshaller for {@link UserInfoEncryptedResponseAlg} objects.
+ */
+public class UserInfoEncryptedResponseAlgMarshaller
+ extends AbstractMetadataValueMarshaller<UserInfoEncryptedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgUnmarshaller.java
new file mode 100644
index 0000000..a751dc5
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link UserInfoEncryptedResponseAlg} objects.
+ */
+public class UserInfoEncryptedResponseAlgUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<UserInfoEncryptedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncBuilder.java
new file mode 100644
index 0000000..9e46383
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+
+/**
+ * Builder of {@link UserInfoEncryptedResponseEncImpl}.
+ */
+public class UserInfoEncryptedResponseEncBuilder extends AbstractSAMLObjectBuilder<UserInfoEncryptedResponseEnc> {
+
+ /**
+ * Constructor.
+ */
+ public UserInfoEncryptedResponseEncBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public UserInfoEncryptedResponseEnc buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, UserInfoEncryptedResponseEnc.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public UserInfoEncryptedResponseEnc buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new UserInfoEncryptedResponseEncImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncImpl.java
new file mode 100644
index 0000000..5a4084d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+
+/**
+ * Concrete implementation of {@link UserInfoEncryptedResponseEnc}.
+ */
+public class UserInfoEncryptedResponseEncImpl extends AbstractMetadataValueSAMLObject
+ implements UserInfoEncryptedResponseEnc {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected UserInfoEncryptedResponseEncImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncMarshaller.java
new file mode 100644
index 0000000..3f5efce
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+
+/**
+ * A thread safe Marshaller for {@link UserInfoEncryptedResponseEnc} objects.
+ */
+public class UserInfoEncryptedResponseEncMarshaller
+ extends AbstractMetadataValueMarshaller<UserInfoEncryptedResponseEnc> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncUnmarshaller.java
new file mode 100644
index 0000000..89b1bdb
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+
+/**
+ * A thread-safe Unmarshaller for {@link UserInfoEncryptedResponseEnc} objects.
+ */
+public class UserInfoEncryptedResponseEncUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<UserInfoEncryptedResponseEnc> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgBuilder.java
new file mode 100644
index 0000000..9df301d
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.oidc.saml.xmlobject.Constants;
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * Builder of {@link UserInfoSignedResponseAlgImpl}.
+ */
+public class UserInfoSignedResponseAlgBuilder extends AbstractSAMLObjectBuilder<UserInfoSignedResponseAlg> {
+
+ /**
+ * Constructor.
+ */
+ public UserInfoSignedResponseAlgBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public UserInfoSignedResponseAlg buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, UserInfoSignedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public UserInfoSignedResponseAlg buildObject(final String namespaceURI, final String localName,
+ final String namespacePrefix) {
+ return new UserInfoSignedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgImpl.java
new file mode 100644
index 0000000..68eb02c
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * Concrete implementation of {@link UserInfoSignedResponseAlg}.
+ */
+public class UserInfoSignedResponseAlgImpl extends AbstractMetadataValueSAMLObject
+ implements UserInfoSignedResponseAlg {
+
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected UserInfoSignedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
+ final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgMarshaller.java
new file mode 100644
index 0000000..9b211d0
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgMarshaller.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * A thread safe Marshaller for {@link UserInfoSignedResponseAlg} objects.
+ */
+public class UserInfoSignedResponseAlgMarshaller extends AbstractMetadataValueMarshaller<UserInfoSignedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgUnmarshaller.java
new file mode 100644
index 0000000..346ad82
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgUnmarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * A thread-safe Unmarshaller for {@link UserInfoSignedResponseAlg} objects.
+ */
+public class UserInfoSignedResponseAlgUnmarshaller
+ extends AbstractMetadataValueUnmarshaller<UserInfoSignedResponseAlg> {
+
+}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/XMLObjectProviderInitializer.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/XMLObjectProviderInitializer.java
new file mode 100644
index 0000000..72b82e1
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/XMLObjectProviderInitializer.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import org.opensaml.core.xml.config.AbstractXMLObjectProviderInitializer;
+
+/**
+ * XMLObject provider initializer for the metadata extension.
+ */
+public class XMLObjectProviderInitializer extends AbstractXMLObjectProviderInitializer {
+
+ /** Config resources. */
+ private static String[] configs = {
+ "/saml2-metadata-oidcmd-config.xml",
+ };
+
+ /** {@inheritDoc} */
+ @Override
+ protected String[] getConfigResources() {
+ return configs;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/package-info.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/package-info.java
new file mode 100644
index 0000000..e8c79d8
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ *
+ * Concrete implementations of the objects described in saml-metadata-ext-oidcmd.xsd.
+ */
+package net.shibboleth.oidc.saml.xmlobject.impl;
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/resources/META-INF/services/org.opensaml.core.config.Initializer b/oidc-common-saml-impl/src/main/resources/META-INF/services/org.opensaml.core.config.Initializer
new file mode 100644
index 0000000..6d3e425
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/resources/META-INF/services/org.opensaml.core.config.Initializer
@@ -0,0 +1 @@
+net.shibboleth.oidc.saml.xmlobject.impl.XMLObjectProviderInitializer
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml b/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
new file mode 100644
index 0000000..59ad4b4
--- /dev/null
+++ b/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<XMLTooling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns="http://www.opensaml.org/xmltooling-config" xsi:schemaLocation="http://www.opensaml.org/xmltooling-config ../../src/schema/xmltooling-config.xsd">
+
+ <!-- SAML 2.0 Protocol Third-party Object providers -->
+ <ObjectProviders>
+
+ <ObjectProvider qualifiedName="oidcmd:ApplicationType">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ApplicationTypeBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ApplicationTypeMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ApplicationTypeUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:ClientSecretKeyReference">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretKeyReferenceBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretKeyReferenceMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretKeyReferenceUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:ClientSecret">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:ClientUri">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientUriBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientUriMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientUriUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:DefaultAcrValue">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.DefaultAcrValueBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.DefaultAcrValueMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.DefaultAcrValueUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:GrantType">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.GrantTypeBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.GrantTypeMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.GrantTypeUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:IdTokenEncryptedResponseAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:IdTokenEncryptedResponseEnc">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseEncBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseEncMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseEncUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:IdTokenSignedResponseAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenSignedResponseAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenSignedResponseAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenSignedResponseAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:InitiateLoginUri">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.InitiateLoginUriBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.InitiateLoginUriMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.InitiateLoginUriUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:JwksData">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksDataBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksDataMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksDataUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:JwksUri">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksUriBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksUriMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksUriUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:OAuthRPExtensions">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.OAuthRPExtensionsBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.OAuthRPExtensionsMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.OAuthRPExtensionsUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:PostLogoutRedirectUri">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.PostLogoutRedirectUriBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.PostLogoutRedirectUriMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.PostLogoutRedirectUriUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:RequestObjectEncryptionAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:RequestObjectEncryptionEnc">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionEncBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionEncMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionEncUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:RequestObjectSigningAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectSigningAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectSigningAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectSigningAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:RequestUri">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestUriBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestUriMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestUriUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:ResponseType">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ResponseTypeBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ResponseTypeMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ResponseTypeUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:Scope">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ScopeBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ScopeMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ScopeUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:SectorIdentifierUri">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.SectorIdentifierUriBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SectorIdentifierUriMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SectorIdentifierUriUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:SoftwareId">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareIdBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareIdMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareIdUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:SoftwareVersion">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareVersionBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareVersionMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareVersionUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:TokenEndpointAuthMethod">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthMethodBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthMethodMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthMethodUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:TokenEndpointAuthSigningAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthSigningAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthSigningAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthSigningAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:UserInfoEncryptedResponseAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:UserInfoEncryptedResponseEnc">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseEncBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseEncMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseEncUnmarshaller"/>
+ </ObjectProvider>
+
+ <ObjectProvider qualifiedName="oidcmd:UserInfoSignedResponseAlg">
+ <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoSignedResponseAlgBuilder"/>
+ <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoSignedResponseAlgMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoSignedResponseAlgUnmarshaller"/>
+ </ObjectProvider>
+
+ </ObjectProviders>
+</XMLTooling>
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeTest.java
new file mode 100644
index 0000000..463cd23
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link ApplicationType}.
+ */
+public class ApplicationTypeTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public ApplicationTypeTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "web";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return ApplicationType.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/BaseMetadataValueTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/BaseMetadataValueTest.java
new file mode 100644
index 0000000..cd4edf2
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/BaseMetadataValueTest.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import org.opensaml.core.testing.XMLObjectProviderBaseTestCase;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import net.shibboleth.oidc.saml.xmlobject.MetadataValueSAMLObject;
+
+/**
+ * Base test case for creating, marshalling, and unmarshalling {@link MetadataValueSAMLObject}s.
+ */
+public abstract class BaseMetadataValueTest extends XMLObjectProviderBaseTestCase {
+
+ /**
+ * Get the expected value from the file.
+ * @return The expected value.
+ */
+ protected abstract String getExpectedValue();
+
+ /**
+ * Get the element name.
+ * @return The element name.
+ */
+ protected abstract QName getElementName();
+
+ /** {@inheritDoc} */
+ @Test
+ public void testSingleElementUnmarshall() {
+ MetadataValueSAMLObject object = (MetadataValueSAMLObject) unmarshallElement(singleElementFile);
+
+ Assert.assertEquals(object.getValue(), getExpectedValue(), "The metadata object did not have expected value");
+ }
+
+ /** {@inheritDoc} */
+ @Test
+ public void testSingleElementMarshall() {
+ MetadataValueSAMLObject object = (MetadataValueSAMLObject) buildXMLObject(getElementName());
+
+ object.setValue(getExpectedValue());
+
+ assertXMLEquals(expectedDOM, object);
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceTest.java
new file mode 100644
index 0000000..36b5883
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReferenceTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecretKeyReference;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link ClientSecretKeyReference}.
+ */
+public class ClientSecretKeyReferenceTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public ClientSecretKeyReferenceTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReference.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "mockKeyReference";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return ClientSecretKeyReference.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretTest.java
new file mode 100644
index 0000000..461bf53
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientSecret;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link ClientSecret}.
+ */
+public class ClientSecretTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public ClientSecretTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecret.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "mockSecret";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return ClientSecret.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriTest.java
new file mode 100644
index 0000000..f4787bc
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.ClientUri;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link ClientUri}.
+ */
+public class ClientUriTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public ClientUriTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "https://example.org";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return ClientUri.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueTest.java
new file mode 100644
index 0000000..b045c22
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValueTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link DefaultAcrValue}.
+ */
+public class DefaultAcrValueTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public DefaultAcrValueTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "password";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return DefaultAcrValue.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeTest.java
new file mode 100644
index 0000000..c8a6cea
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.GrantType;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link GrantType}.
+ */
+public class GrantTypeTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public GrantTypeTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "authorization_code";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return GrantType.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgTest.java
new file mode 100644
index 0000000..484eb33
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link IdTokenEncryptedResponseAlg}.
+ */
+public class IdTokenEncryptedResponseAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public IdTokenEncryptedResponseAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "IdTokenEncryptedResponseAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return IdTokenEncryptedResponseAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncTest.java
new file mode 100644
index 0000000..87fc47d
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link IdTokenEncryptedResponseEnc}.
+ */
+public class IdTokenEncryptedResponseEncTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public IdTokenEncryptedResponseEncTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "IdTokenEncryptedResponseEncValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return IdTokenEncryptedResponseEnc.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgTest.java
new file mode 100644
index 0000000..ea4d034
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link IdTokenSignedResponseAlg}.
+ */
+public class IdTokenSignedResponseAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public IdTokenSignedResponseAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "IdTokenSignedResponseAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return IdTokenSignedResponseAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriTest.java
new file mode 100644
index 0000000..e6c6518
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link InitiateLoginUri}.
+ */
+public class InitiateLoginUriTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public InitiateLoginUriTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "https://example.org/start";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return InitiateLoginUri.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataTest.java
new file mode 100644
index 0000000..3972da3
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksDataTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksData;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link JwksData}.
+ */
+public class JwksDataTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public JwksDataTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/JwksData.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "base64data";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return JwksData.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriTest.java
new file mode 100644
index 0000000..88d33d2
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/JwksUriTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.JwksUri;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link JwksUri}.
+ */
+public class JwksUriTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public JwksUriTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/JwksUri.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "https://example.org/jwks";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return JwksUri.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java
new file mode 100644
index 0000000..c012df3
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java
@@ -0,0 +1,207 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import javax.xml.namespace.QName;
+
+import org.opensaml.core.testing.XMLObjectProviderBaseTestCase;
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+import org.opensaml.saml.common.xml.SAMLConstants;
+import org.opensaml.saml.saml2.metadata.NameIDFormat;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import net.shibboleth.oidc.saml.xmlobject.MetadataValueSAMLObject;
+import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link OAuthRPExtensions}.
+ */
+public class OAuthRPExtensionsTest extends XMLObjectProviderBaseTestCase {
+
+ public static final String EXTENSION_NAMESPACE = "urn:unknown:namespace";
+
+ public static final QName ATTRIBUTE_EXT_QNAME = new QName(EXTENSION_NAMESPACE, "attributeExtension1", "unknown");
+
+ public static final String ATTRIBUTE_EXT_VALUE = "extensionValue1";
+
+ /**
+ * Constructor
+ */
+ public OAuthRPExtensionsTest() {
+ childElementsFile = "/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml";
+ }
+
+ @Override
+ @Test
+ public void testChildElementsMarshall() {
+
+ final OAuthRPExtensions rpExtensions = (OAuthRPExtensions) buildXMLObject(OAuthRPExtensions.TYPE_NAME);
+ rpExtensions.setApplicationType(buildMetadataValueObject(new ApplicationTypeBuilder(), "web"));
+ rpExtensions.setClientUri(buildMetadataValueObject(new ClientUriBuilder(), "https://example.org/clientUri"));
+ rpExtensions.getDefaultAcrValues().add(buildMetadataValueObject(new DefaultAcrValueBuilder(), "password"));
+ rpExtensions.getDefaultAcrValues().add(buildMetadataValueObject(new DefaultAcrValueBuilder(), "mfa"));
+ rpExtensions.getGrantTypes().add(buildMetadataValueObject(new GrantTypeBuilder(), "authorization_code"));
+ rpExtensions.setIdTokenEncryptedResponseAlg(buildMetadataValueObject(new IdTokenEncryptedResponseAlgBuilder(),
+ "A256KW"));
+ rpExtensions.setIdTokenEncryptedResponseEnc(buildMetadataValueObject(new IdTokenEncryptedResponseEncBuilder(),
+ "A256GCM"));
+ rpExtensions.setIdTokenSignedResponseAlg(buildMetadataValueObject(new IdTokenSignedResponseAlgBuilder(),
+ "RS512"));
+ rpExtensions.setInitiateLoginUri(buildMetadataValueObject(new InitiateLoginUriBuilder(),
+ "https://example.org/initiateLogin"));
+ rpExtensions.getPostLogoutRedirectUris().add(buildMetadataValueObject(new PostLogoutRedirectUriBuilder(),
+ "https://example.org/postLogout"));
+ rpExtensions.setRequestObjectEncryptionAlg(buildMetadataValueObject(new RequestObjectEncryptionAlgBuilder(),
+ "A128KW"));
+ rpExtensions.setRequestObjectEncryptionEnc(buildMetadataValueObject(new RequestObjectEncryptionEncBuilder(),
+ "A128GCM"));
+ rpExtensions.setRequestObjectSigningAlg(buildMetadataValueObject(new RequestObjectSigningAlgBuilder(),
+ "RS256"));
+ rpExtensions.getRequestUris().add(buildMetadataValueObject(new RequestUriBuilder(),
+ "https://example.org/request"));
+ rpExtensions.getResponseTypes().add(buildMetadataValueObject(new ResponseTypeBuilder(), "code"));
+ rpExtensions.getResponseTypes().add(buildMetadataValueObject(new ResponseTypeBuilder(), "id_token"));
+ rpExtensions.getScopes().add(buildMetadataValueObject(new ScopeBuilder(), "openid"));
+ rpExtensions.getScopes().add(buildMetadataValueObject(new ScopeBuilder(), "profile"));
+ rpExtensions.setSoftwareId(buildMetadataValueObject(new SoftwareIdBuilder(), "mockSoftwareId"));
+ rpExtensions.setSoftwareVersion(buildMetadataValueObject(new SoftwareVersionBuilder(),
+ "mockSoftwareVersion"));
+ rpExtensions.setTokenEndpointAuthMethod(buildMetadataValueObject(new TokenEndpointAuthMethodBuilder(),
+ "client_secret_basic"));
+ rpExtensions.setTokenEndpointAuthSigningAlg(buildMetadataValueObject(new TokenEndpointAuthSigningAlgBuilder(),
+ "RS512"));
+ rpExtensions.setSectorIdentifierUri(buildMetadataValueObject(new SectorIdentifierUriBuilder(),
+ "https://example.org/sectorIdentifier"));
+ rpExtensions.setUserInfoEncryptedResponseAlg(buildMetadataValueObject(
+ new UserInfoEncryptedResponseAlgBuilder(), "A192KW"));
+ rpExtensions.setUserInfoEncryptedResponseEnc(buildMetadataValueObject(
+ new UserInfoEncryptedResponseEncBuilder(), "A192GCM"));
+ rpExtensions.setUserInfoSignedResponseAlg(buildMetadataValueObject(new UserInfoSignedResponseAlgBuilder(),
+ "RS384"));
+ rpExtensions.getUnknownAttributes().put(ATTRIBUTE_EXT_QNAME, ATTRIBUTE_EXT_VALUE);
+
+ final QName nameIDFormatQName =
+ new QName(SAMLConstants.SAML20MD_NS, NameIDFormat.DEFAULT_ELEMENT_LOCAL_NAME,
+ SAMLConstants.SAML20MD_PREFIX);
+ rpExtensions.getUnknownXMLObjects().add((NameIDFormat) buildXMLObject(nameIDFormatQName));
+
+ assertXMLEquals(expectedChildElementsDOM, rpExtensions);
+ }
+
+ @Override
+ @Test
+ public void testChildElementsUnmarshall() {
+ OAuthRPExtensions rpExtensions = (OAuthRPExtensions)
+ unmarshallElement("/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml");
+
+ final Object attributeExt = rpExtensions.getUnknownAttributes().get(ATTRIBUTE_EXT_QNAME);
+ Assert.assertNotNull(attributeExt);
+ Assert.assertEquals(attributeExt, ATTRIBUTE_EXT_VALUE);
+
+ final QName nameIDFormatQName =
+ new QName(SAMLConstants.SAML20MD_NS, NameIDFormat.DEFAULT_ELEMENT_LOCAL_NAME,
+ SAMLConstants.SAML20MD_PREFIX);
+ Assert.assertNotNull(rpExtensions.getUnknownXMLObjects(nameIDFormatQName));
+
+ assertMetadataValue(rpExtensions.getApplicationType(), "web",
+ "The application type did not have expected value");
+ assertMetadataValue(rpExtensions.getClientUri(), "https://example.org/clientUri",
+ "The client URI did not have expected value");
+ assertMetadataValueList(rpExtensions.getDefaultAcrValues(), Arrays.asList("password", "mfa"),
+ "The default ACR values did not have expected value");
+ assertMetadataValueList(rpExtensions.getGrantTypes(), Arrays.asList("authorization_code"),
+ "The grant types did not have expected value");
+ assertMetadataValue(rpExtensions.getIdTokenEncryptedResponseAlg(), "A256KW",
+ "The IDToken encrypted response alg did not have expected value");
+ assertMetadataValue(rpExtensions.getIdTokenEncryptedResponseEnc(), "A256GCM",
+ "The IDToken encrypted response enc did not have expected value");
+ assertMetadataValue(rpExtensions.getIdTokenSignedResponseAlg(), "RS512",
+ "The IDToken signed response alg did not have expected value");
+ assertMetadataValue(rpExtensions.getInitiateLoginUri(), "https://example.org/initiateLogin",
+ "The initiate login URI did not have expected value");
+ assertMetadataValueList(rpExtensions.getPostLogoutRedirectUris(),
+ Arrays.asList("https://example.org/postLogout"),
+ "The post logout redirect URIs did not have expected value");
+ assertMetadataValue(rpExtensions.getRequestObjectEncryptionAlg(), "A128KW",
+ "The request object encryption alg did not have expected value");
+ assertMetadataValue(rpExtensions.getRequestObjectEncryptionEnc(), "A128GCM",
+ "The request object encryption enc did not have expected value");
+ assertMetadataValue(rpExtensions.getRequestObjectSigningAlg(), "RS256",
+ "The request object signing alg did not have expected value");
+ assertMetadataValueList(rpExtensions.getRequestUris(), Arrays.asList("https://example.org/request"),
+ "The request URIs did not have expected value");
+ assertMetadataValueList(rpExtensions.getResponseTypes(), Arrays.asList("code", "id_token"),
+ "The response types did not have expected value");
+ assertMetadataValueList(rpExtensions.getScopes(), Arrays.asList("openid", "profile"),
+ "The scope did not have expected value");
+ assertMetadataValue(rpExtensions.getSoftwareId(), "mockSoftwareId",
+ "The software ID did not have expected value");
+ assertMetadataValue(rpExtensions.getSoftwareVersion(), "mockSoftwareVersion",
+ "The software version did not have expected value");
+ assertMetadataValue(rpExtensions.getTokenEndpointAuthMethod(), "client_secret_basic",
+ "The token endpoint auth method did not have expected value");
+ assertMetadataValue(rpExtensions.getTokenEndpointAuthSigningAlg(), "RS512",
+ "The token endpoint auth signing alg did not have expected value");
+ assertMetadataValue(rpExtensions.getSectorIdentifierUri(), "https://example.org/sectorIdentifier",
+ "The sector identifier URI did not have expected value");
+ assertMetadataValue(rpExtensions.getUserInfoEncryptedResponseAlg(), "A192KW",
+ "The user info encrypted response alg did not have expected value");
+ assertMetadataValue(rpExtensions.getUserInfoEncryptedResponseEnc(), "A192GCM",
+ "The user info encrypted response enc did not have expected value");
+ assertMetadataValue(rpExtensions.getUserInfoSignedResponseAlg(), "RS384",
+ "The user info signing response alg did not have expected value");
+ }
+
+ protected <T extends MetadataValueSAMLObject> void assertMetadataValue(final T metadataValue,
+ final String expectedValue, final String message) {
+ Assert.assertEquals(metadataValue.getValue(), expectedValue, message);
+ }
+
+ protected <T extends MetadataValueSAMLObject> void assertMetadataValueSet(final Set<T> metadataValues,
+ final Set<T> expectedValues, final String message) {
+ final Set<String> values = metadataValues.stream().map(T::getValue).collect(Collectors.toSet());
+ Assert.assertEquals(values, expectedValues, message);
+ }
+
+ protected <T extends MetadataValueSAMLObject> void assertMetadataValueList(final List<T> metadataValues,
+ final List<String> expectedValues, final String message) {
+ final List<String> values = metadataValues.stream().map(T::getValue).collect(Collectors.toList());
+ Assert.assertEquals(values, expectedValues, message);
+ }
+
+ protected <T extends MetadataValueSAMLObject, B extends AbstractSAMLObjectBuilder<T>> T
+ buildMetadataValueObject(final B builder, final String value) {
+ final T object = builder.buildObject();
+ object.setValue(value);
+ return object;
+ }
+
+ @Override
+ public void testSingleElementMarshall() {
+ }
+
+ @Override
+ public void testSingleElementUnmarshall() {
+ }
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriTest.java
new file mode 100644
index 0000000..0de886b
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUriTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link PostLogoutRedirectUri}.
+ */
+public class PostLogoutRedirectUriTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public PostLogoutRedirectUriTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "https://example.org/postLogout";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return PostLogoutRedirectUri.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgTest.java
new file mode 100644
index 0000000..3fc7832
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link RequestObjectEncryptionAlg}.
+ */
+public class RequestObjectEncryptionAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public RequestObjectEncryptionAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "RequestObjectEncryptionAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return RequestObjectEncryptionAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncTest.java
new file mode 100644
index 0000000..ee7e68b
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link RequestObjectEncryptionEnc}.
+ */
+public class RequestObjectEncryptionEncTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public RequestObjectEncryptionEncTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "RequestObjectEncryptionEncValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return RequestObjectEncryptionEnc.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgTest.java
new file mode 100644
index 0000000..21939e1
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link RequestObjectSigningAlg}.
+ */
+public class RequestObjectSigningAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public RequestObjectSigningAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "RequestObjectSigningAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return RequestObjectSigningAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriTest.java
new file mode 100644
index 0000000..a279a47
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestUriTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.RequestUri;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link RequestUri}.
+ */
+public class RequestUriTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public RequestUriTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "https://example.org/request";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return RequestUri.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeTest.java
new file mode 100644
index 0000000..7639ef6
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.ResponseType;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link ResponseType}.
+ */
+public class ResponseTypeTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public ResponseTypeTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "id_token";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return ResponseType.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeTest.java
new file mode 100644
index 0000000..554abb5
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.Scope;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link Scope}.
+ */
+public class ScopeTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public ScopeTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "profile";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return Scope.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriTest.java
new file mode 100644
index 0000000..ca73da6
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link SectorIdentifierUri}.
+ */
+public class SectorIdentifierUriTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public SectorIdentifierUriTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "https://example.org/shared";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return SectorIdentifierUri.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdTest.java
new file mode 100644
index 0000000..70b26e6
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link SoftwareId}.
+ */
+public class SoftwareIdTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public SoftwareIdTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "id12";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return SoftwareId.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionTest.java
new file mode 100644
index 0000000..b23b225
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link SoftwareVersion}.
+ */
+public class SoftwareVersionTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public SoftwareVersionTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "1.0";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return SoftwareVersion.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodTest.java
new file mode 100644
index 0000000..54a14ef
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link TokenEndpointAuthMethod}.
+ */
+public class TokenEndpointAuthMethodTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public TokenEndpointAuthMethodTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "client_secret_post";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return TokenEndpointAuthMethod.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgTest.java
new file mode 100644
index 0000000..fca1335
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link TokenEndpointAuthSigningAlg}.
+ */
+public class TokenEndpointAuthSigningAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public TokenEndpointAuthSigningAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "TokenEndpointAuthSigningAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return TokenEndpointAuthSigningAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgTest.java
new file mode 100644
index 0000000..80bb4f5
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link UserInfoEncryptedResponseAlg}.
+ */
+public class UserInfoEncryptedResponseAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public UserInfoEncryptedResponseAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "UserInfoEncryptedResponseAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return UserInfoEncryptedResponseAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncTest.java
new file mode 100644
index 0000000..b3df641
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link UserInfoEncryptedResponseEnc}.
+ */
+public class UserInfoEncryptedResponseEncTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public UserInfoEncryptedResponseEncTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "UserInfoEncryptedResponseEncValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return UserInfoEncryptedResponseEnc.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgTest.java
new file mode 100644
index 0000000..786fc4f
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.saml.xmlobject.impl;
+
+import javax.xml.namespace.QName;
+
+import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
+
+/**
+ * Test case for creating, marshalling, and unmarshalling {@link UserInfoSignedResponseAlg}.
+ */
+public class UserInfoSignedResponseAlgTest extends BaseMetadataValueTest {
+
+ /**
+ * Constructor
+ */
+ public UserInfoSignedResponseAlgTest() {
+ singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getExpectedValue() {
+ return "UserInfoSignedResponseAlgValue";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected QName getElementName() {
+ return UserInfoSignedResponseAlg.DEFAULT_ELEMENT_NAME;
+ }
+
+}
diff --git a/oidc-common-saml-impl/src/test/resources/logback-test.xml b/oidc-common-saml-impl/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..a58ce3f
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/logback-test.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<configuration>
+ <logger name="net.shibboleth" level="ALL"/>
+ <logger name="org.springframework" level="DEBUG"/>
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <pattern>%level [%logger:%line] - %msg%n</pattern>
+ <charset>UTF-8</charset>
+ </encoder>
+ </appender>
+
+ <root>
+ <level value="ALL" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml
new file mode 100644
index 0000000..1a68ca2
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:ApplicationType xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">web</oidcmd:ApplicationType>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecret.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecret.xml
new file mode 100644
index 0000000..69c3940
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecret.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:ClientSecret xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">mockSecret</oidcmd:ClientSecret>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReference.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReference.xml
new file mode 100644
index 0000000..56fe3b8
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientSecretKeyReference.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:ClientSecretKeyReference xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">mockKeyReference</oidcmd:ClientSecretKeyReference>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml
new file mode 100644
index 0000000..a221aa8
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:ClientUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org</oidcmd:ClientUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml
new file mode 100644
index 0000000..a7e7ac5
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:DefaultAcrValue xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">password</oidcmd:DefaultAcrValue>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml
new file mode 100644
index 0000000..29074cb
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:GrantType xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">authorization_code</oidcmd:GrantType>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml
new file mode 100644
index 0000000..be48df6
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:IdTokenEncryptedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">IdTokenEncryptedResponseAlgValue</oidcmd:IdTokenEncryptedResponseAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml
new file mode 100644
index 0000000..9086d00
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:IdTokenEncryptedResponseEnc xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">IdTokenEncryptedResponseEncValue</oidcmd:IdTokenEncryptedResponseEnc>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml
new file mode 100644
index 0000000..2df0083
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:IdTokenSignedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">IdTokenSignedResponseAlgValue</oidcmd:IdTokenSignedResponseAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml
new file mode 100644
index 0000000..00e8d43
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:InitiateLoginUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/start</oidcmd:InitiateLoginUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/JwksData.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/JwksData.xml
new file mode 100644
index 0000000..73849cd
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/JwksData.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:JwksData xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">base64data</oidcmd:JwksData>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/JwksUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/JwksUri.xml
new file mode 100644
index 0000000..72f8106
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/JwksUri.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:JwksUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/jwks</oidcmd:JwksUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml
new file mode 100644
index 0000000..beeb691
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:OAuthRPExtensions xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:unknown="urn:unknown:namespace" unknown:attributeExtension1="extensionValue1">
+ <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
+ <oidcmd:ClientUri>https://example.org/clientUri</oidcmd:ClientUri>
+ <oidcmd:DefaultAcrValue>password</oidcmd:DefaultAcrValue>
+ <oidcmd:DefaultAcrValue>mfa</oidcmd:DefaultAcrValue>
+ <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
+ <oidcmd:IdTokenEncryptedResponseAlg>A256KW</oidcmd:IdTokenEncryptedResponseAlg>
+ <oidcmd:IdTokenEncryptedResponseEnc>A256GCM</oidcmd:IdTokenEncryptedResponseEnc>
+ <oidcmd:IdTokenSignedResponseAlg>RS512</oidcmd:IdTokenSignedResponseAlg>
+ <oidcmd:InitiateLoginUri>https://example.org/initiateLogin</oidcmd:InitiateLoginUri>
+ <oidcmd:PostLogoutRedirectUri>https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
+ <oidcmd:RequestObjectEncryptionAlg>A128KW</oidcmd:RequestObjectEncryptionAlg>
+ <oidcmd:RequestObjectEncryptionEnc>A128GCM</oidcmd:RequestObjectEncryptionEnc>
+ <oidcmd:RequestObjectSigningAlg>RS256</oidcmd:RequestObjectSigningAlg>
+ <oidcmd:RequestUri>https://example.org/request</oidcmd:RequestUri>
+ <oidcmd:ResponseType>code</oidcmd:ResponseType>
+ <oidcmd:ResponseType>id_token</oidcmd:ResponseType>
+ <oidcmd:Scope>openid</oidcmd:Scope>
+ <oidcmd:Scope>profile</oidcmd:Scope>
+ <oidcmd:SoftwareId>mockSoftwareId</oidcmd:SoftwareId>
+ <oidcmd:SoftwareVersion>mockSoftwareVersion</oidcmd:SoftwareVersion>
+ <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
+ <oidcmd:TokenEndpointAuthSigningAlg>RS512</oidcmd:TokenEndpointAuthSigningAlg>
+ <oidcmd:UserInfoEncryptedResponseAlg>A192KW</oidcmd:UserInfoEncryptedResponseAlg>
+ <oidcmd:SectorIdentifierUri>https://example.org/sectorIdentifier</oidcmd:SectorIdentifierUri>
+ <oidcmd:UserInfoEncryptedResponseEnc>A192GCM</oidcmd:UserInfoEncryptedResponseEnc>
+ <oidcmd:UserInfoSignedResponseAlg>RS384</oidcmd:UserInfoSignedResponseAlg>
+ <md:NameIDFormat xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/>
+</oidcmd:OAuthRPExtensions>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml
new file mode 100644
index 0000000..1b57fb1
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:OAuthRPExtensions xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:unknown="urn:unknown:namespace" unknown:attributeExtension1="extensionValue1">
+ <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
+ <oidcmd:ClientUri>https://example.org/clientUri</oidcmd:ClientUri>
+ <oidcmd:DefaultAcrValue>password</oidcmd:DefaultAcrValue>
+ <oidcmd:DefaultAcrValue>mfa</oidcmd:DefaultAcrValue>
+ <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
+ <oidcmd:IdTokenEncryptedResponseAlg>A256KW</oidcmd:IdTokenEncryptedResponseAlg>
+ <oidcmd:IdTokenEncryptedResponseEnc>A256GCM</oidcmd:IdTokenEncryptedResponseEnc>
+ <oidcmd:IdTokenSignedResponseAlg>RS512</oidcmd:IdTokenSignedResponseAlg>
+ <oidcmd:InitiateLoginUri>https://example.org/initiateLogin</oidcmd:InitiateLoginUri>
+ <oidcmd:PostLogoutRedirectUri>https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
+ <oidcmd:RequestObjectEncryptionAlg>A128KW</oidcmd:RequestObjectEncryptionAlg>
+ <oidcmd:RequestObjectEncryptionEnc>A128GCM</oidcmd:RequestObjectEncryptionEnc>
+ <oidcmd:RequestObjectSigningAlg>RS256</oidcmd:RequestObjectSigningAlg>
+ <oidcmd:RequestUri>https://example.org/request</oidcmd:RequestUri>
+ <oidcmd:ResponseType>code</oidcmd:ResponseType>
+ <oidcmd:ResponseType>id_token</oidcmd:ResponseType>
+ <oidcmd:Scope>openid</oidcmd:Scope>
+ <oidcmd:Scope>profile</oidcmd:Scope>
+ <oidcmd:SoftwareId>mockSoftwareId</oidcmd:SoftwareId>
+ <oidcmd:SoftwareVersion>mockSoftwareVersion</oidcmd:SoftwareVersion>
+ <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
+ <oidcmd:TokenEndpointAuthSigningAlg>RS512</oidcmd:TokenEndpointAuthSigningAlg>
+ <oidcmd:SectorIdentifierUri>https://example.org/sectorIdentifier</oidcmd:SectorIdentifierUri>
+ <oidcmd:UserInfoEncryptedResponseAlg>A192KW</oidcmd:UserInfoEncryptedResponseAlg>
+ <oidcmd:UserInfoEncryptedResponseEnc>A192GCM</oidcmd:UserInfoEncryptedResponseEnc>
+ <oidcmd:UserInfoSignedResponseAlg>RS384</oidcmd:UserInfoSignedResponseAlg>
+ <md:NameIDFormat xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/>
+</oidcmd:OAuthRPExtensions>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml
new file mode 100644
index 0000000..eb15039
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:PostLogoutRedirectUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml
new file mode 100644
index 0000000..f6b5dc1
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:RequestObjectEncryptionAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">RequestObjectEncryptionAlgValue</oidcmd:RequestObjectEncryptionAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml
new file mode 100644
index 0000000..35d1b5e
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:RequestObjectEncryptionEnc xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">RequestObjectEncryptionEncValue</oidcmd:RequestObjectEncryptionEnc>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml
new file mode 100644
index 0000000..95cdf3c
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:RequestObjectSigningAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">RequestObjectSigningAlgValue</oidcmd:RequestObjectSigningAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml
new file mode 100644
index 0000000..7b0f640
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:RequestUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/request</oidcmd:RequestUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml
new file mode 100644
index 0000000..d8fcbf9
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:ResponseType xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">id_token</oidcmd:ResponseType>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml
new file mode 100644
index 0000000..7f06e81
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:Scope xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">profile</oidcmd:Scope>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml
new file mode 100644
index 0000000..567f1d5
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:SectorIdentifierUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/shared</oidcmd:SectorIdentifierUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml
new file mode 100644
index 0000000..e4824b6
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:SoftwareId xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">id12</oidcmd:SoftwareId>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml
new file mode 100644
index 0000000..472bd02
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:SoftwareVersion xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">1.0</oidcmd:SoftwareVersion>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml
new file mode 100644
index 0000000..43c2ced
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:TokenEndpointAuthMethod xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">client_secret_post</oidcmd:TokenEndpointAuthMethod>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml
new file mode 100644
index 0000000..aae4d60
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:TokenEndpointAuthSigningAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">TokenEndpointAuthSigningAlgValue</oidcmd:TokenEndpointAuthSigningAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml
new file mode 100644
index 0000000..0c1ece7
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:UserInfoEncryptedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">UserInfoEncryptedResponseAlgValue</oidcmd:UserInfoEncryptedResponseAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml
new file mode 100644
index 0000000..4421f4c
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:UserInfoEncryptedResponseEnc xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">UserInfoEncryptedResponseEncValue</oidcmd:UserInfoEncryptedResponseEnc>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml
new file mode 100644
index 0000000..f332dc9
--- /dev/null
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<oidcmd:UserInfoSignedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">UserInfoSignedResponseAlgValue</oidcmd:UserInfoSignedResponseAlg>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d44f275
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.shibboleth</groupId>
+ <artifactId>parent</artifactId>
+ <version>11.1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>Shibboleth OIDC Java Common Library Super POM</name>
+ <packaging>pom</packaging>
+ <description>A POM containing properties, dependencies, etc. that are common across all Shibboleth OIDC Java common libraries.</description>
+ <properties>
+ <idp.groupId>net.shibboleth.idp</idp.groupId>
+ <idp.version>4.1.0-SNAPSHOT</idp.version>
+ <opensaml.groupId>org.opensaml</opensaml.groupId>
+ <opensaml.version>4.1.0-SNAPSHOT</opensaml.version>
+ <checkstyle.configLocation>${project.basedir}/checkstyle.xml</checkstyle.configLocation>
+ </properties>
+ <repositories>
+ <repository>
+ <id>shib-release</id>
+ <url>https://build.shibboleth.net/nexus/content/groups/public</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>shib-snapshot</id>
+ <url>https://build.shibboleth.net/nexus/content/repositories/snapshots</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <scm>
+ <connection>${shibboleth.scm.connection}java-oidc-common</connection>
+ <developerConnection>${shibboleth.scm.developerConnection}java-oidc-common</developerConnection>
+ <url>${shibboleth.scm.url}java-oidc-common.git</url>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>${slf4j.groupId}</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <!-- Project wide test Dependencies -->
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.xmlunit</groupId>
+ <artifactId>xmlunit-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.xmlunit</groupId>
+ <artifactId>xmlunit-matchers</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <!-- oidc-common project dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-saml-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-saml-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!-- Shibboleth IdP BOM for importing IdP dependencies -->
+ <dependency>
+ <groupId>net.shibboleth.idp</groupId>
+ <artifactId>idp-bom</artifactId>
+ <version>${idp.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <!-- Provided shibboleth support dependencies -->
+ <dependency>
+ <groupId>net.shibboleth.utilities</groupId>
+ <artifactId>java-support</artifactId>
+ <version>${java-support.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- Test bom dependencies -->
+ <dependency>
+ <groupId>${idp.groupId}</groupId>
+ <artifactId>idp-tests-bom</artifactId>
+ <version>${idp.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <modules>
+ <module>oidc-common-saml-api</module>
+ <module>oidc-common-saml-impl</module>
+ </modules>
+</project>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list