+ class SAML_API AttributeQueryDescriptorTypeBuilder : public xmltooling::XMLObjectBuilder {
+ public:
+ virtual ~AttributeQueryDescriptorTypeBuilder() {}
+ /** Default builder. */
+ virtual AttributeQueryDescriptorType* buildObject() const {
+ xmltooling::QName schemaType(
+ samlconstants::SAML20_NS,AttributeQueryDescriptorType::TYPE_NAME,samlconstants::SAML20MD_QUERY_EXT_PREFIX
+ );
+ return buildObject(
+ samlconstants::SAML20_NS,AttributeQueryDescriptorType::LOCAL_NAME,samlconstants::SAML20_PREFIX,&schemaType
+ );
+ }
+ /** Builder that allows element/type override. */
+ virtual AttributeQueryDescriptorType* buildObject(
+ const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix=NULL, const xmltooling::QName* schemaType=NULL
+ ) const;
+
+ /** Singleton builder. */
+ static AttributeQueryDescriptorType* buildAttributeQueryDescriptorType() {
+ const AttributeQueryDescriptorTypeBuilder* b = dynamic_cast<const AttributeQueryDescriptorTypeBuilder*>(
+ XMLObjectBuilder::getBuilder(xmltooling::QName(samlconstants::SAML20MD_QUERY_EXT_NS,AttributeQueryDescriptorType::TYPE_NAME))
+ );
+ if (b)
+ return b->buildObject();
+ throw xmltooling::XMLObjectException("Unable to obtain typed builder for AttributeQueryDescriptorType.");
+ }
+ };
+
+ /**
+ * Builder for AuthzDecisionQueryDescriptorType objects.
+ *
+ * This is customized to return a RoleDescriptor element with an
+ * xsi:type of AuthzDecisionQueryDescriptorType.
+ */
+ class SAML_API AuthzDecisionQueryDescriptorTypeBuilder : public xmltooling::XMLObjectBuilder {
+ public:
+ virtual ~AuthzDecisionQueryDescriptorTypeBuilder() {}
+ /** Default builder. */
+ virtual AuthzDecisionQueryDescriptorType* buildObject() const {
+ xmltooling::QName schemaType(
+ samlconstants::SAML20_NS,AuthzDecisionQueryDescriptorType::TYPE_NAME,samlconstants::SAML20MD_QUERY_EXT_PREFIX
+ );
+ return buildObject(
+ samlconstants::SAML20_NS,AuthzDecisionQueryDescriptorType::LOCAL_NAME,samlconstants::SAML20_PREFIX,&schemaType
+ );
+ }
+ /** Builder that allows element/type override. */
+ virtual AuthzDecisionQueryDescriptorType* buildObject(
+ const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix=NULL, const xmltooling::QName* schemaType=NULL
+ ) const;
+
+ /** Singleton builder. */
+ static AuthzDecisionQueryDescriptorType* buildAuthzDecisionQueryDescriptorType() {
+ const AuthzDecisionQueryDescriptorTypeBuilder* b = dynamic_cast<const AuthzDecisionQueryDescriptorTypeBuilder*>(
+ XMLObjectBuilder::getBuilder(xmltooling::QName(samlconstants::SAML20MD_QUERY_EXT_NS,AuthzDecisionQueryDescriptorType::TYPE_NAME))
+ );
+ if (b)
+ return b->buildObject();
+ throw xmltooling::XMLObjectException("Unable to obtain typed builder for AuthzDecisionQueryDescriptorType.");
+ }
+ };
+
+ /**
+ * Registers builders and validators for SAML 2.0 Metadata classes into the runtime.
+ */
+ void SAML_API registerMetadataClasses();