Package net.sf.saxon.pull

## Class PullSource

- java.lang.Object
- - net.sf.saxon.pull.PullSource

- All Implemented Interfaces:
    `javax.xml.transform.Source`

      public class PullSource
      extends java.lang.Object
      implements javax.xml.transform.Source

  A PullSource is a JAXP Source that encapsulates a PullProvider - that is, an object that supplies an XML document as a sequence of events that are read under the control of the recipient. Note that although PullSource implements the JAXP Source interface, it is not necessarily acceptable to every JAXP implementation that accepts a Source as input: Source is essentially a marker interface and users of Source objects need to understand the individual implementation.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PullSource​(PullProvider provider)` | Create a PullSource based on a supplied PullProvider

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PullProvider` | `getPullProvider()` | Get the PullProvider
    `java.lang.String` | `getSystemId()` | Get the system identifier that was set with setSystemId.
    `void` | `setSystemId​(java.lang.String systemId)` | Set the system identifier for this Source.

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

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

    - ### Methods inherited from interface javax.xml.transform.Source

      `isEmpty`

- - ### Constructor Detail

    - #### PullSource

          public PullSource​(PullProvider provider)

      Create a PullSource based on a supplied PullProvider
      Parameters:
        `provider` - the underlying PullProvider

  - ### Method Detail

    - #### getPullProvider

          public PullProvider getPullProvider()

      Get the PullProvider
      Returns:
        the underlying PullProvider

    - #### setSystemId

          public void setSystemId​(java.lang.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.

      Specified by:
        `setSystemId` in interface `javax.xml.transform.Source`
      Parameters:
        `systemId` - The system identifier as a URL string.

    - #### getSystemId

          public java.lang.String getSystemId()

      Get the system identifier that was set with setSystemId.
      Specified by:
        `getSystemId` in interface `javax.xml.transform.Source`
      Returns:
        The system identifier that was set with setSystemId, or null if setSystemId was not called.