Package org.opensaml.core.xml

# Class AbstractXMLObjectBuilder<XMLObjectType extends XMLObject>

java.lang.Object
org.opensaml.core.xml.AbstractXMLObjectBuilder<XMLObjectType>

Type Parameters:
  `XMLObjectType` - the XMLObject type that this builder produces

All Implemented Interfaces:
  `XMLObjectBuilder<XMLObjectType>`

Direct Known Subclasses:
  `AbstractSAMLObjectBuilder`, `AbstractWSAddressingObjectBuilder`, `AbstractWSPolicyObjectBuilder`, `AbstractWSSecurityObjectBuilder`, `AbstractWSTrustObjectBuilder`, `AbstractXACMLObjectBuilder`, `AddressBuilder`, `AgreementMethodBuilder`, `AppliesToBuilder`, `BodyBuilder`, `CarriedKeyNameBuilder`, `CipherDataBuilder`, `CipherReferenceBuilder`, `CipherValueBuilder`, `ConcatKDFParamsBuilder`, `CryptoBinaryBuilder`, `DataReferenceBuilder`, `DEREncodedKeyValueBuilder`, `DerivedKeyBuilder`, `DerivedKeyNameBuilder`, `DetailBuilder`, `DHKeyValueBuilder`, `DigestMethodBuilder`, `DSAKeyValueBuilder`, `ECKeyValueBuilder`, `EncryptedDataBuilder`, `EncryptedKeyBuilder`, `EncryptionMethodBuilder`, `EncryptionPropertiesBuilder`, `EncryptionPropertyBuilder`, `EndPointReferenceBuilder`, `EnvelopeBuilder`, `ExponentBuilder`, `FaultActorBuilder`, `FaultBuilder`, `FaultCodeBuilder`, `FaultStringBuilder`, `GBuilder`, `GeneratorBuilder`, `HeaderBuilder`, `IterationCountBuilder`, `JBuilder`, `KANonceBuilder`, `KeyDerivationMethodBuilder`, `KeyInfoBuilder`, `KeyInfoReferenceBuilder`, `KeyLengthBuilder`, `KeyNameBuilder`, `KeyReferenceBuilder`, `KeySizeBuilder`, `KeyValueBuilder`, `MasterKeyNameBuilder`, `MGFBuilder`, `MgmtDataBuilder`, `ModulusBuilder`, `NamedCurveBuilder`, `OAEPparamsBuilder`, `OriginatorKeyInfoBuilder`, `OtherSourceBuilder`, `PBKDF2ParamsBuilder`, `PBuilder`, `PBuilder`, `PgenCounterBuilder`, `PgenCounterBuilder`, `PGPDataBuilder`, `PGPKeyIDBuilder`, `PGPKeyPacketBuilder`, `PRFBuilder`, `PublicBuilder`, `PublicKeyBuilder`, `QBuilder`, `QBuilder`, `RecipientKeyInfoBuilder`, `ReferenceListBuilder`, `RequestedSecurityTokenBuilder`, `RequestSecurityTokenResponseBuilder`, `RetrievalMethodBuilder`, `RSAKeyValueBuilder`, `SaltBuilder`, `SeedBuilder`, `SeedBuilder`, `SignatureBuilder`, `SimpleXMLObjectBuilder`, `SpecifiedBuilder`, `SPKIDataBuilder`, `SPKISexpBuilder`, `TransformBuilder`, `TransformsBuilder`, `TransformsBuilder`, `X509CertificateBuilder`, `X509CRLBuilder`, `X509DataBuilder`, `X509DigestBuilder`, `X509IssuerNameBuilder`, `X509IssuerSerialBuilder`, `X509SerialNumberBuilder`, `X509SKIBuilder`, `X509SubjectNameBuilder`, `XPathBuilder`, `XSAnyBuilder`, `XSBase64BinaryBuilder`, `XSBooleanBuilder`, `XSDateTimeBuilder`, `XSIntegerBuilder`, `XSQNameBuilder`, `XSStringBuilder`, `XSURIBuilder`, `YBuilder`

public abstract class AbstractXMLObjectBuilder<XMLObjectType extends XMLObject> extends Object implements XMLObjectBuilder<XMLObjectType>
Base implementation for XMLObject builders. Note: This class only works with `AbstractXMLObject`s

## Constructor Summary

Constructors
Constructor
Description
`AbstractXMLObjectBuilder()`

## Method Summary

Modifier and Type
Method
Description
`abstract XMLObjectType`
`buildObject(String namespaceURI, String localName, String namespacePrefix)`
Creates an XMLObject with a given fully qualified name.
`XMLObjectType`
`buildObject(String namespaceURI, String localName, String namespacePrefix, QName schemaType)`
Creates an XMLObject with a given fully qualified name.
`XMLObjectType`
`buildObject(QName objectName)`
Creates an XMLObject with a given fully qualified name.
`XMLObjectType`
`buildObject(QName objectName, QName schemaType)`
Creates an XMLObject with a given fully qualified name and schema type.
`XMLObjectType`
`buildObject(Element element)`
Creates an XMLObject using information from the given DOM element.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AbstractXMLObjectBuilder

public AbstractXMLObjectBuilder()

## Method Details

### buildObject

@Nonnull public XMLObjectType buildObject(@Nonnull QName objectName)
Creates an XMLObject with a given fully qualified name.

Specified by:
  `buildObject` in interface `XMLObjectBuilder<XMLObjectType extends XMLObject>`
Parameters:
  `objectName` - fully qualified name of the object
Returns:
  the constructed XMLObject

### buildObject

@Nonnull public XMLObjectType buildObject(@Nonnull QName objectName, @Nullable QName schemaType)
Creates an XMLObject with a given fully qualified name and schema type.

Specified by:
  `buildObject` in interface `XMLObjectBuilder<XMLObjectType extends XMLObject>`
Parameters:
  `objectName` - fully qualified name of the object
  `schemaType` - the schema type of the Element represented by this XMLObject
Returns:
  the constructed XMLObject

### buildObject

@Nonnull public abstract XMLObjectType buildObject(@Nullable String namespaceURI, @Nonnull @NotEmpty String localName, @Nullable String namespacePrefix)
Creates an XMLObject with a given fully qualified name.

Specified by:
  `buildObject` in interface `XMLObjectBuilder<XMLObjectType extends XMLObject>`
Parameters:
  `namespaceURI` - the URI of the namespace the Element represented by this XMLObject will be in
  `localName` - the local name of the Element represented by this XMLObject
  `namespacePrefix` - the namespace prefix of the Element represented by this XMLObject
Returns:
  the constructed XMLObject

### buildObject

@Nonnull public XMLObjectType buildObject(@Nullable String namespaceURI, @Nonnull String localName, @Nullable String namespacePrefix, @Nullable QName schemaType)
Creates an XMLObject with a given fully qualified name.

Specified by:
  `buildObject` in interface `XMLObjectBuilder<XMLObjectType extends XMLObject>`
Parameters:
  `namespaceURI` - the URI of the namespace the Element represented by this XMLObject will be in
  `localName` - the local name of the Element represented by this XMLObject
  `namespacePrefix` - the namespace prefix of the Element represented by this XMLObject
  `schemaType` - the schema type of the Element represented by this XMLObject
Returns:
  the constructed XMLObject

### buildObject

@Nonnull public XMLObjectType buildObject(@Nonnull Element element)
Creates an XMLObject using information from the given DOM element. This method must set the QName for the Element QName within the constructed XMLObject. This method is used by `AbstractXMLObjectUnmarshaller`.

Specified by:
  `buildObject` in interface `XMLObjectBuilder<XMLObjectType extends XMLObject>`
Parameters:
  `element` - the DOM Element containing information about the object to be built.
Returns:
  the constructed XMLObject