# 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 Details

### 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