KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > saxon > pull > PullSource


1 package net.sf.saxon.pull;
2
3 import javax.xml.transform.Source JavaDoc;
4
5 /**
6  * A PullSource is a JAXP Source that encapsulates a PullProvider - that is, an object
7  * that supplies an XML document as a sequence of events that are read under the control
8  * of the recipient. Note that although PullSource implements the JAXP Source interface,
9  * it is not necessarily acceptable to every JAXP implementation that accepts a Source
10  * as input: Source is essentially a marker interface and users of Source objects need
11  * to understand the individual implementation.
12  */

13
14 public class PullSource implements Source JavaDoc {
15
16     private String JavaDoc systemId;
17     private PullProvider provider;
18
19     /**
20      * Create a PullSource based on a supplied PullProvider
21      */

22
23     public PullSource(PullProvider provider) {
24         this.provider = provider;
25         if (provider.getSourceLocator() != null) {
26             systemId = provider.getSourceLocator().getSystemId();
27         }
28     }
29
30     /**
31      * Get the PullProvider
32      */

33
34     public PullProvider getPullProvider() {
35         return provider;
36     }
37
38     /**
39      * Set the system identifier for this Source.
40      * <p/>
41      * <p>The system identifier is optional if the source does not
42      * get its data from a URL, but it may still be useful to provide one.
43      * The application can use a system identifier, for example, to resolve
44      * relative URIs and to include in error messages and warnings.</p>
45      *
46      * @param systemId The system identifier as a URL string.
47      */

48     public void setSystemId(String JavaDoc systemId) {
49         this.systemId = systemId;
50     }
51
52     /**
53      * Get the system identifier that was set with setSystemId.
54      *
55      * @return The system identifier that was set with setSystemId, or null
56      * if setSystemId was not called.
57      */

58     public String JavaDoc getSystemId() {
59         return systemId;
60     }
61 }
62
Popular Tags