Sha256: 5c0c3f275890cbf5bf6c5760875537c45d7f9bbda18a5982c675c54d9f537379
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
module Pacer::Pipes class ExpandablePipe < RubyPipe def initialize super() @queue = java.util.LinkedList.new end def add(element, metadata = nil, path = nil) @queue.add [element, metadata, path] end def metadata @metadata end def next super rescue NativeException => e if e.cause.getClass == Pacer::NoSuchElementException.getClass raise e.cause else raise e end ensure @path = @next_path @metadata = @next_metadata end protected def processNextStart if @queue.isEmpty @next_metadata = nil r = @starts.next if @starts.respond_to? :getPath @next_path = @starts.getPath else @next_path = java.util.ArrayList.new end r else element, @next_metadata, @next_path = @queue.remove element end rescue NativeException => e if e.cause.getClass == Pacer::NoSuchElementException.getClass raise e.cause else raise e end end def getPathToHere path = java.util.ArrayList.new if @path @path.each do |e| path.add e end end path end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pacer-0.9.1.1-java | lib/pacer/pipe/expandable_pipe.rb |