Package org.apache.any23.filter
Class ExtractionContextBlocker
- java.lang.Object
-
- org.apache.any23.filter.ExtractionContextBlocker
-
- All Implemented Interfaces:
AutoCloseable,TripleHandler
public class ExtractionContextBlocker extends Object implements TripleHandler
A wrapper around aTripleHandlerthat can block and unblock calls to the handler, either for the entire document, or for individualExtractionContexts. A document is initially blocked and must be explicitly unblocked. Contexts are initially unblocked and must be explicitly blocked. Unblocking a document unblocks all contexts as well. This class it thread-safe.- Author:
- Richard Cyganiak (richard@cyganiak.de)
-
-
Constructor Summary
Constructors Constructor Description ExtractionContextBlocker(TripleHandler wrapped)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidblockContext(ExtractionContext context)voidclose()Will be called last and exactly once.voidcloseContext(ExtractionContext context)Informs the handler that no more triples will come from a previously opened context.voidendDocument(org.eclipse.rdf4j.model.IRI documentIRI)Informs the handler that the end of the document has been reached.booleanisDocBlocked()voidopenContext(ExtractionContext context)Informs the handler that a new context has been established.voidreceiveNamespace(String prefix, String uri, ExtractionContext context)Invoked with a currently open context, notifies the detection of a namespace.voidreceiveTriple(org.eclipse.rdf4j.model.Resource s, org.eclipse.rdf4j.model.IRI p, org.eclipse.rdf4j.model.Value o, org.eclipse.rdf4j.model.IRI g, ExtractionContext context)Invoked with a currently open context, notifies the detection of a triple.voidsetContentLength(long contentLength)Sets the length of the content to be processed.voidstartDocument(org.eclipse.rdf4j.model.IRI documentIRI)voidunblockContext(ExtractionContext context)voidunblockDocument()
-
-
-
Constructor Detail
-
ExtractionContextBlocker
public ExtractionContextBlocker(TripleHandler wrapped)
-
-
Method Detail
-
isDocBlocked
public boolean isDocBlocked()
-
blockContext
public void blockContext(ExtractionContext context)
-
unblockContext
public void unblockContext(ExtractionContext context)
-
startDocument
public void startDocument(org.eclipse.rdf4j.model.IRI documentIRI) throws TripleHandlerException- Specified by:
startDocumentin interfaceTripleHandler- Throws:
TripleHandlerException
-
openContext
public void openContext(ExtractionContext context) throws TripleHandlerException
Description copied from interface:TripleHandlerInforms the handler that a new context has been established. Contexts are not guaranteed to receive any triples, so they might be closed without any triple.- Specified by:
openContextin interfaceTripleHandler- Parameters:
context- an instantiatedExtractionContext- Throws:
TripleHandlerException- if there is an errr opening theExtractionContext
-
closeContext
public void closeContext(ExtractionContext context)
Description copied from interface:TripleHandlerInforms the handler that no more triples will come from a previously opened context. All contexts are guaranteed to be closed before the final close(). The document context for each document is guaranteed to be closed after all local contexts of that document.- Specified by:
closeContextin interfaceTripleHandler- Parameters:
context- the context to be closed.
-
unblockDocument
public void unblockDocument()
-
receiveTriple
public void receiveTriple(org.eclipse.rdf4j.model.Resource s, org.eclipse.rdf4j.model.IRI p, org.eclipse.rdf4j.model.Value o, org.eclipse.rdf4j.model.IRI g, ExtractionContext context) throws TripleHandlerExceptionDescription copied from interface:TripleHandlerInvoked with a currently open context, notifies the detection of a triple.- Specified by:
receiveTriplein interfaceTripleHandler- Parameters:
s- triple subject, cannot benull.p- triple predicate, cannot benull.o- triple object, cannot benull.g- triple graph, can benull.context- extraction context.- Throws:
TripleHandlerException- if there is an error receiving the triple.
-
receiveNamespace
public void receiveNamespace(String prefix, String uri, ExtractionContext context) throws TripleHandlerException
Description copied from interface:TripleHandlerInvoked with a currently open context, notifies the detection of a namespace.- Specified by:
receiveNamespacein interfaceTripleHandler- Parameters:
prefix- namespace prefix.uri- namespace IRI.context- namespace context.- Throws:
TripleHandlerException- if there is an error receiving the namespace.
-
close
public void close() throws TripleHandlerExceptionDescription copied from interface:TripleHandlerWill be called last and exactly once.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceTripleHandler- Throws:
TripleHandlerException- if there is an error closing theTripleHandlerimplementation.
-
endDocument
public void endDocument(org.eclipse.rdf4j.model.IRI documentIRI) throws TripleHandlerExceptionDescription copied from interface:TripleHandlerInforms the handler that the end of the document has been reached.- Specified by:
endDocumentin interfaceTripleHandler- Parameters:
documentIRI- document IRI.- Throws:
TripleHandlerException- if there is an error ending the document.
-
setContentLength
public void setContentLength(long contentLength)
Description copied from interface:TripleHandlerSets the length of the content to be processed.- Specified by:
setContentLengthin interfaceTripleHandler- Parameters:
contentLength- length of the content being processed.
-
-