public class ForkParser extends AbstractParser
Modifier and Type | Field and Description |
---|---|
private int |
currentlyInUse |
private java.util.List<java.lang.String> |
java
Java command line
|
private java.lang.ClassLoader |
loader |
private Parser |
parser |
private java.util.Queue<ForkClient> |
pool |
private int |
poolSize
Process pool size
|
private static long |
serialVersionUID
Serial version UID
|
Constructor and Description |
---|
ForkParser() |
ForkParser(java.lang.ClassLoader loader) |
ForkParser(java.lang.ClassLoader loader,
Parser parser) |
Modifier and Type | Method and Description |
---|---|
private ForkClient |
acquireClient() |
void |
close() |
java.lang.String |
getJavaCommand()
Deprecated.
since 1.8
|
java.util.List<java.lang.String> |
getJavaCommandAsList()
Returns the command used to start the forked server process.
|
int |
getPoolSize()
Returns the size of the process pool.
|
java.util.Set<MediaType> |
getSupportedTypes(ParseContext context)
Returns the set of media types supported by this parser when used
with the given parse context.
|
void |
parse(java.io.InputStream stream,
org.xml.sax.ContentHandler handler,
Metadata metadata,
ParseContext context)
Parses a document stream into a sequence of XHTML SAX events.
|
private void |
releaseClient(ForkClient client,
boolean alive) |
void |
setJavaCommand(java.util.List<java.lang.String> java)
Sets the command used to start the forked server process.
|
void |
setJavaCommand(java.lang.String java)
Deprecated.
since 1.8
|
void |
setPoolSize(int poolSize)
Sets the size of the process pool.
|
parse
private static final long serialVersionUID
private final java.lang.ClassLoader loader
private final Parser parser
private java.util.List<java.lang.String> java
private int poolSize
private int currentlyInUse
private final java.util.Queue<ForkClient> pool
public ForkParser(java.lang.ClassLoader loader, Parser parser)
loader
- The ClassLoader to useparser
- the parser to delegate to. This one cannot be another ForkParserpublic ForkParser(java.lang.ClassLoader loader)
public ForkParser()
public int getPoolSize()
public void setPoolSize(int poolSize)
poolSize
- process pool size@Deprecated public java.lang.String getJavaCommand()
getJavaCommandAsList()
public java.util.List<java.lang.String> getJavaCommandAsList()
public void setJavaCommand(java.util.List<java.lang.String> java)
java
- java command line@Deprecated public void setJavaCommand(java.lang.String java)
java
- java command linesetJavaCommand(List)
public java.util.Set<MediaType> getSupportedTypes(ParseContext context)
Parser
context
- parse contextpublic void parse(java.io.InputStream stream, org.xml.sax.ContentHandler handler, Metadata metadata, ParseContext context) throws java.io.IOException, org.xml.sax.SAXException, TikaException
Parser
The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.
Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.
stream
- the document stream (input)handler
- handler for the XHTML SAX events (output)metadata
- document metadata (input and output)context
- parse contextjava.io.IOException
- if the document stream could not be readorg.xml.sax.SAXException
- if the SAX events could not be processedTikaException
- if the document could not be parsedpublic void close()
private ForkClient acquireClient() throws java.io.IOException, TikaException
java.io.IOException
TikaException
private void releaseClient(ForkClient client, boolean alive)