Module java.xml.crypto
Package javax.xml.crypto.dsig

## Interface XMLObject

All Superinterfaces:
  `XMLStructure`

    public interface XMLObject
    extends XMLStructure

A representation of the XML `Object` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. An `XMLObject` may contain any data and may include optional MIME type, ID, and encoding attributes. The XML Schema Definition is defined as:

     <element name="Object" type="ds:ObjectType"/>
     <complexType name="ObjectType" mixed="true">
       <sequence minOccurs="0" maxOccurs="unbounded">
         <any namespace="##any" processContents="lax"/>
       </sequence>
       <attribute name="Id" type="ID" use="optional"/>
       <attribute name="MimeType" type="string" use="optional"/>
       <attribute name="Encoding" type="anyURI" use="optional"/>
     </complexType>

A `XMLObject` instance may be created by invoking the `newXMLObject` method of the `XMLSignatureFactory` class; for example:

       XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");
       Manifest manifest = fac.newManifest(references);
       List<XMLStructure> content = Collections.singletonList(manifest);
       XMLObject object = factory.newXMLObject(content, "object-1", null, null);

Note that this class is named `XMLObject` rather than `Object` to avoid naming clashes with the existing `java.lang.Object` class.

Since:
  1.6
See Also:
  `XMLSignatureFactory.newXMLObject(List, String, String, String)`

### Field Summary

Fields
`static String` `TYPE` URI that identifies the `Object` element (this can be specified as the value of the `type` parameter of the `Reference` class to identify the referent's type).

### Method Summary

All Methods Instance Methods Abstract Methods
`List<XMLStructure>` `getContent()` Returns an `unmodifiable list` of `XMLStructure`s contained in this `XMLObject`, which represent elements from any namespace.
`String` `getEncoding()` Returns the encoding URI of this `XMLObject`.
`String` `getId()` Returns the Id of this `XMLObject`.
`String` `getMimeType()` Returns the mime type of this `XMLObject`.

### Methods declared in interface javax.xml.crypto.XMLStructure

`isFeatureSupported`

### Field Detail

#### TYPE

    static final String TYPE

URI that identifies the `Object` element (this can be specified as the value of the `type` parameter of the `Reference` class to identify the referent's type).

See Also:
  Constant Field Values

### Method Detail

#### getContent

    List<XMLStructure> getContent()

Returns an `unmodifiable list` of `XMLStructure`s contained in this `XMLObject`, which represent elements from any namespace.

If there is a public subclass representing the type of `XMLStructure`, it is returned as an instance of that class (ex: a `SignatureProperties` element would be returned as an instance of `SignatureProperties`).

Returns:
  an unmodifiable list of `XMLStructure`s (may be empty but never `null`)

#### getId

    String getId()

Returns the Id of this `XMLObject`.

Returns:
  the Id (or `null` if not specified)

#### getMimeType

    String getMimeType()

Returns the mime type of this `XMLObject`. The mime type is an optional attribute which describes the data within this `XMLObject` (independent of its encoding).

Returns:
  the mime type (or `null` if not specified)

#### getEncoding

    String getEncoding()

Returns the encoding URI of this `XMLObject`. The encoding URI identifies the method by which the object is encoded.

Returns:
  the encoding URI (or `null` if not specified)