Source (Java SE 12 & JDK 12 )
Keywords: javax.xml.transform.Source interface

Module java.xml
Package javax.xml.transform

## Interface Source

- All Known Implementing Classes:
    `DOMSource`, `SAXSource`, `StAXSource`, `StreamSource`

      public interface Source

  An object that implements this interface contains the information needed to act as source input (XML source or transformation instructions).
  Since:
    1.4

- - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getSystemId()` | Get the system identifier that was set with setSystemId.
    `default boolean` | `isEmpty()` | Indicates whether the `Source` object is empty.
    `void` | `setSystemId​(String systemId)` | Set the system identifier for this Source.

- - ### Method Detail

    - #### setSystemId

          void setSystemId​(String systemId)

      Set the system identifier for this Source.

      The system identifier is optional if the source does not get its data from a URL, but it may still be useful to provide one. The application can use a system identifier, for example, to resolve relative URIs and to include in error messages and warnings.

      Parameters:
        `systemId` - The system identifier as a URL string.

    - #### getSystemId

          String getSystemId()

      Get the system identifier that was set with setSystemId.
      Returns:
        The system identifier that was set with setSystemId, or null if setSystemId was not called.

    - #### isEmpty

          default boolean isEmpty()

      Indicates whether the `Source` object is empty. Empty means that there is no input available from this Source.
      Implementation Requirements:
        The default implementation of this method throws `UnsupportedOperationException`.
      Returns:
        true if the `Source` object is empty, false otherwise