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

    Fields
    Modifier and Type
    Field
    Description
    protected BlockingQueue<org.apache.jena.sparql.engine.binding.Binding>
     
    protected boolean
     
    protected org.apache.jena.riot.Lang
     
    protected OutputStream
     
    static final org.apache.jena.sparql.engine.binding.Binding
     
    protected List<org.apache.jena.sparql.core.Var>
     
    protected Thread
     
    protected Throwable
     

    Fields inherited from class org.aksw.commons.util.lifecycle.LifeCycleBase

    state
  • Constructor Summary

    Constructors
    Constructor
    Description
    SinkStreamingBinding(OutputStream out, List<org.apache.jena.sparql.core.Var> resultVars, org.apache.jena.riot.Lang lang)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    void
     
    void
     
    void
     
    protected void
    sendActual(org.apache.jena.sparql.engine.binding.Binding item)
     
    protected void
     

    Methods inherited from class org.aksw.jena_sparql_api.rx.io.resultset.SinkStreamingBase

    send

    Methods inherited from class org.aksw.commons.util.lifecycle.LifeCycleBase

    expectStarted, finish, start

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.aksw.jena_sparql_api.rx.io.resultset.SinkStreaming

    finish, start
  • Field Details

    • out

      protected OutputStream out
    • resultVars

      protected List<org.apache.jena.sparql.core.Var> resultVars
    • lang

      protected org.apache.jena.riot.Lang lang
    • blockingQueue

      protected BlockingQueue<org.apache.jena.sparql.engine.binding.Binding> blockingQueue
    • thread

      protected volatile Thread thread
    • threadException

      protected Throwable 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:
      startActual in class SinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
    • sendActual

      protected void sendActual(org.apache.jena.sparql.engine.binding.Binding item)
      Specified by:
      sendActual in class SinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>
    • finishActual

      public void finishActual()
      Overrides:
      finishActual in class SinkStreamingBase<org.apache.jena.sparql.engine.binding.Binding>