Package net.shibboleth.shared.xml.impl

# Class BasicParserPool.DocumentBuilderProxy

java.lang.Object
javax.xml.parsers.DocumentBuilder
net.shibboleth.shared.xml.impl.BasicParserPool.DocumentBuilderProxy

Enclosing class:
  BasicParserPool

protected class BasicParserPool.DocumentBuilderProxy extends DocumentBuilder
A proxy that prevents the manages document builders retrieved from the parser pool.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final DocumentBuilder`
`builder`
Builder being proxied.
`private final ParserPool`
`owningPool`
Pool that owns this parser.
`private boolean`
`returned`
Track accounting state of whether this builder has been returned to the owning pool.

## Constructor Summary

Constructors
Constructor
Description
`DocumentBuilderProxy(DocumentBuilder target, BasicParserPool owner)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`checkValidState()`
Check whether the parser is in a valid and usable state, and if not, throw a runtime exception.
`DOMImplementation`
`getDOMImplementation()`
`protected ParserPool`
`getOwningPool()`
Gets the pool that owns this parser.
`protected DocumentBuilder`
`getProxiedBuilder()`
Gets the proxied document builder.
`Schema`
`getSchema()`
`boolean`
`isNamespaceAware()`
`protected boolean`
`isReturned()`
Check accounting state as to whether this parser has been returned to the owning pool.
`boolean`
`isValidating()`
`boolean`
`isXIncludeAware()`
`Document`
`newDocument()`
`Document`
`parse(File f)`
`Document`
`parse(InputStream is)`
`Document`
`parse(InputStream is, String systemId)`
`Document`
`parse(String uri)`
`Document`
`parse(InputSource is)`
`void`
`reset()`
`void`
`setEntityResolver(EntityResolver er)`
`void`
`setErrorHandler(ErrorHandler eh)`
`protected void`
`setReturned(boolean isReturned)`
Set accounting state as to whether this parser has been returned to the owning pool.

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

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

## Field Details

### builder

@Nonnull private final DocumentBuilder builder
Builder being proxied.

### owningPool

@Nonnull private final ParserPool owningPool
Pool that owns this parser.

### returned

private boolean returned
Track accounting state of whether this builder has been returned to the owning pool.

## Constructor Details

### DocumentBuilderProxy

public DocumentBuilderProxy(@Nonnull DocumentBuilder target, @Nonnull BasicParserPool owner)
Constructor.

Parameters:
  `target` - document builder to proxy
  `owner` - the owning pool

## Method Details

### getDOMImplementation

public DOMImplementation getDOMImplementation()

Specified by:
  `getDOMImplementation` in class `DocumentBuilder`

### getSchema

public Schema getSchema()

Overrides:
  `getSchema` in class `DocumentBuilder`

### isNamespaceAware

public boolean isNamespaceAware()

Specified by:
  `isNamespaceAware` in class `DocumentBuilder`

### isValidating

public boolean isValidating()

Specified by:
  `isValidating` in class `DocumentBuilder`

### isXIncludeAware

public boolean isXIncludeAware()

Overrides:
  `isXIncludeAware` in class `DocumentBuilder`

### newDocument

public Document newDocument()

Specified by:
  `newDocument` in class `DocumentBuilder`

### parse

public Document parse(File f) throws SAXException, IOException

Overrides:
  `parse` in class `DocumentBuilder`
Throws:
  `SAXException`
  `IOException`

### parse

public Document parse(InputSource is) throws SAXException, IOException

Specified by:
  `parse` in class `DocumentBuilder`
Throws:
  `SAXException`
  `IOException`

### parse

public Document parse(InputStream is) throws SAXException, IOException

Overrides:
  `parse` in class `DocumentBuilder`
Throws:
  `SAXException`
  `IOException`

### parse

public Document parse(InputStream is, String systemId) throws SAXException, IOException

Overrides:
  `parse` in class `DocumentBuilder`
Throws:
  `SAXException`
  `IOException`

### parse

public Document parse(String uri) throws SAXException, IOException

Overrides:
  `parse` in class `DocumentBuilder`
Throws:
  `SAXException`
  `IOException`

### reset

public void reset()

Overrides:
  `reset` in class `DocumentBuilder`

### setEntityResolver

public void setEntityResolver(EntityResolver er)

Specified by:
  `setEntityResolver` in class `DocumentBuilder`

### setErrorHandler

public void setErrorHandler(ErrorHandler eh)

Specified by:
  `setErrorHandler` in class `DocumentBuilder`

### getOwningPool

@Nonnull protected ParserPool getOwningPool()
Gets the pool that owns this parser.

Returns:
  pool that owns this parser

### getProxiedBuilder

@Nonnull protected DocumentBuilder getProxiedBuilder()
Gets the proxied document builder.

Returns:
  proxied document builder

### isReturned

protected boolean isReturned()
Check accounting state as to whether this parser has been returned to the owning pool.

Returns:
  true if parser has been returned to the owning pool, otherwise false

### setReturned

protected void setReturned(boolean isReturned)
Set accounting state as to whether this parser has been returned to the owning pool.

Parameters:
  `isReturned` - set true to indicate that parser has been returned to the owning pool

### checkValidState

protected void checkValidState()
Check whether the parser is in a valid and usable state, and if not, throw a runtime exception.