## net.sf.saxon.om
Class DocumentPool

    java.lang.Object
      net.sf.saxon.om.DocumentPool

All Implemented Interfaces:
  Serializable

    public final class DocumentPool

extends Object
implements Serializable

An object representing the collection of documents handled during a single transformation.

The function of allocating document numbers is performed by the DocumentNumberAllocator in the Configuration, not by the DocumentPool. This has a number of effects: in particular it allows operations involving multiple documents (such as generateId() and document()) to occur in a free-standing XPath environment.

See Also:
  Serialized Form

Constructor Summary
`DocumentPool()`

Method Summary
`void` `add(DocumentInfo doc, DocumentURI uri)` Add a document to the pool
`void` `add(DocumentInfo doc, String uri)` Add a document to the pool
`boolean` `contains(DocumentInfo doc)` Determine whether a given document is present in the pool
`DocumentInfo` `discard(DocumentInfo doc)` Release a document from the document pool.
`DocumentInfo` `find(DocumentURI uri)` Get the document with a given document-uri
`DocumentInfo` `find(String uri)` Get the document with a given document-uri
`String` `getDocumentURI(NodeInfo doc)` Get the URI for a given document node, if it is present in the pool.
`boolean` `isMarkedUnavailable(DocumentURI uri)` Ask whether a document URI is in the set of URIs known to be unavailable, because doc-available() has been previously called and has returned false
`void` `markUnavailable(DocumentURI uri)` Add a document URI to the set of URIs known to be unavailable (because doc-available() has returned false

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DocumentPool

    public DocumentPool()

Method Detail

### add

    public void add(DocumentInfo doc,
                    String uri)

  Add a document to the pool

  Parameters:
    `doc` - The DocumentInfo for the document in question
    `uri` - The document-uri property of the document.

### add

    public void add(DocumentInfo doc,
                    DocumentURI uri)

  Add a document to the pool

  Parameters:
    `doc` - The DocumentInfo for the document in question
    `uri` - The document-uri property of the document.

### find

    public DocumentInfo find(String uri)

  Get the document with a given document-uri

  Parameters:
    `uri` - The document-uri property of the document.
  Returns:
    the DocumentInfo with the given document-uri property if it exists, or null if it is not found.

### find

    public DocumentInfo find(DocumentURI uri)

  Get the document with a given document-uri

  Parameters:
    `uri` - The document-uri property of the document.
  Returns:
    the DocumentInfo with the given document-uri property if it exists, or null if it is not found.

### getDocumentURI

    public String getDocumentURI(NodeInfo doc)

  Get the URI for a given document node, if it is present in the pool. This supports the document-uri() function.

  Parameters:
    `doc` - The document node
  Returns:
    The uri of the document node, if present in the pool, or the systemId of the document node otherwise

### contains

    public boolean contains(DocumentInfo doc)

  Determine whether a given document is present in the pool

  Parameters:
    `doc` - the document being sought
  Returns:
    true if the document is present, false otherwise

### discard

    public DocumentInfo discard(DocumentInfo doc)

  Release a document from the document pool. This means that if the same document is loaded again later, the source will need to be re-parsed, and nodes will get new identities.

  Parameters:
    `doc` - the document to be discarded from the pool
  Returns:
    the document supplied in the doc parameter

### markUnavailable

    public void markUnavailable(DocumentURI uri)

  Add a document URI to the set of URIs known to be unavailable (because doc-available() has returned false

  Parameters:
    `uri` - the URI of the unavailable document

### isMarkedUnavailable

    public boolean isMarkedUnavailable(DocumentURI uri)

  Ask whether a document URI is in the set of URIs known to be unavailable, because doc-available() has been previously called and has returned false

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.