Class PullSource

  • All Implemented Interfaces:
    javax.xml.transform.Source, ActiveSource

    public class PullSource
    extends java.lang.Object
    implements ActiveSource
    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
      void deliver​(Receiver receiver, ParseOptions options)
      Deliver the content of the source to a supplied Receiver.
      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.
      • deliver

        public void deliver​(Receiver receiver,
                            ParseOptions options)
                     throws XPathException
        Description copied from interface: ActiveSource
        Deliver the content of the source to a supplied Receiver.

        For many (but not all) implementations of Source, this method consumes the source and can therefore only be called once.

        Specified by:
        deliver in interface ActiveSource
        Parameters:
        receiver - the receiver to which events representing the parsed XML document will be sent
        options - options for parsing the source
        Throws:
        XPathException - if parsing fails for any reason. The detailed diagnostics will have been sent to the error reporter.