Class SinkStreamingBinding
java.lang.Object
org.aksw.commons.util.lifecycle.LifeCycleBase
org.aksw.jena_sparql_api.rx.io.resultset.SinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
org.aksw.jena_sparql_api.rx.io.resultset.SinkStreamingBinding
- All Implemented Interfaces:
AutoCloseable,org.aksw.commons.util.lifecycle.LifeCycle,SinkStreaming<org.apache.jena.sparql.engine.binding.Binding>,org.apache.jena.atlas.lib.Closeable,org.apache.jena.atlas.lib.Sink<org.apache.jena.sparql.engine.binding.Binding>
public class SinkStreamingBinding
extends SinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
A sink for writing out bindings as a result set using
ResultSetMgr
Internally uses a ResultSet that is backed by a Flowable<Binding>.
Calling send(binding) publishes to that flowable and thus makes a new binding available in the result set.
As the ResultSet blocks until items become available the ResultSetWriter runs in a another thread
Uses a PublishSubject wrapped with ugly synchronization- Author:
- raven
-
Nested Class Summary
Nested classes/interfaces inherited from class org.aksw.commons.util.lifecycle.LifeCycleBase
org.aksw.commons.util.lifecycle.LifeCycleBase.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BlockingQueue<org.apache.jena.sparql.engine.binding.Binding>protected booleanprotected org.apache.jena.riot.Langprotected OutputStreamstatic final org.apache.jena.sparql.engine.binding.Bindingprotected List<org.apache.jena.sparql.core.Var>protected Threadprotected ThrowableFields inherited from class org.aksw.commons.util.lifecycle.LifeCycleBase
state -
Constructor Summary
ConstructorsConstructorDescriptionSinkStreamingBinding(OutputStream out, List<org.apache.jena.sparql.core.Var> resultVars, org.apache.jena.riot.Lang lang) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidclose()voidvoidflush()protected voidsendActual(org.apache.jena.sparql.engine.binding.Binding item) protected voidMethods inherited from class org.aksw.jena_sparql_api.rx.io.resultset.SinkStreamingBase
sendMethods inherited from class org.aksw.commons.util.lifecycle.LifeCycleBase
expectStarted, finish, startMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.aksw.jena_sparql_api.rx.io.resultset.SinkStreaming
finish, start
-
Field Details
-
out
-
resultVars
-
lang
protected org.apache.jena.riot.Lang lang -
blockingQueue
-
thread
-
threadException
-
closed
protected boolean closed -
POISON
public static final org.apache.jena.sparql.engine.binding.Binding POISON
-
-
Constructor Details
-
SinkStreamingBinding
public SinkStreamingBinding(OutputStream out, List<org.apache.jena.sparql.core.Var> resultVars, org.apache.jena.riot.Lang lang)
-
-
Method Details
-
flush
public void flush() -
checkThread
protected void checkThread() -
close
public void close() -
startActual
protected void startActual()- Overrides:
startActualin classSinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
-
sendActual
protected void sendActual(org.apache.jena.sparql.engine.binding.Binding item) - Specified by:
sendActualin classSinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
-
finishActual
public void finishActual()- Overrides:
finishActualin classSinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
-