com.xmlcalabash.io
Class Select

java.lang.Object
  extended by com.xmlcalabash.io.Select
All Implemented Interfaces:
ReadablePipe

public class Select
extends java.lang.Object
implements ReadablePipe

Ideally, I'd like this code to perform the selections in a lazy fashion, but that's hard because it has to be possible to answer questions about how many documents will be returned. So for now, I'm just doing it all up front.

Author:
ndw

Constructor Summary
Select(XProcRuntime runtime, ReadablePipe readFrom, java.lang.String xpathExpr, net.sf.saxon.s9api.XdmNode xpathContext)
          Creates a new instance of Select
 
Method Summary
 void canReadSequence(boolean sequence)
           
 boolean closed()
           
 int documentCount()
           
 DocumentSequence documents()
           
 boolean moreDocuments()
           
 net.sf.saxon.s9api.XdmNode read()
           
 boolean readSequence()
           
 void resetReader()
           
 void setReader(Step step)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Select

public Select(XProcRuntime runtime,
              ReadablePipe readFrom,
              java.lang.String xpathExpr,
              net.sf.saxon.s9api.XdmNode xpathContext)
Creates a new instance of Select

Method Detail

canReadSequence

public void canReadSequence(boolean sequence)
Specified by:
canReadSequence in interface ReadablePipe

readSequence

public boolean readSequence()
Specified by:
readSequence in interface ReadablePipe

resetReader

public void resetReader()
Specified by:
resetReader in interface ReadablePipe

moreDocuments

public boolean moreDocuments()
Specified by:
moreDocuments in interface ReadablePipe

closed

public boolean closed()
Specified by:
closed in interface ReadablePipe

documentCount

public int documentCount()
Specified by:
documentCount in interface ReadablePipe

documents

public DocumentSequence documents()
Specified by:
documents in interface ReadablePipe

setReader

public void setReader(Step step)
Specified by:
setReader in interface ReadablePipe

read

public net.sf.saxon.s9api.XdmNode read()
                                throws net.sf.saxon.s9api.SaxonApiException
Specified by:
read in interface ReadablePipe
Throws:
net.sf.saxon.s9api.SaxonApiException