Sha256: ece6e8b7a7aa9479ea4a87a5255c1aed169f838092d5d65989bbd91767017d13

Contents?: true

Size: 1.15 KB

Versions: 30

Compression:

Stored size: 1.15 KB

Contents

module Pacer::Wrappers
  class IndexWrapper
    attr_reader :index, :graph, :element_type

    def initialize(graph, index, element_type)
      @index = index
      @graph = graph
      @element_type = element_type
    end

    def name
      index.index_name
    end

    def wrapper
      WrapperSelector.build graph, element_type
    end

    def first(key, value, extensions = nil)
      e = index.get(key, value).first
      if e
        e = wrapper.new graph, e
        e = e.add_extensions extensions if extensions
      end
      e
    end

    def all(key, value, extensions = nil)
      iter = index.get(key, value)
      if graph or extensions
        pipe = Pacer::Pipes::WrappingPipe.new graph, element_type, extensions
        pipe.setStarts iter.iterator
        pipe
      else
        iter
      end
    end

    def put(key, value, element)
      if element.is_a? ElementWrapper
        element = element.element
      end

      index.put key.to_s, value, element
    end

    def remove(key, value, element)
      if element.is_a? ElementWrapper
        element = element.element
      end

      index.remove key.to_s, value, element
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
pacer-2.0.24-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.22-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.20-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.19-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.18-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.17-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.16-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.15-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.14-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.13-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.12-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.10-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.10.pre-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.8-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.6-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.4.pre-java lib/pacer/wrappers/index_wrapper.rb
pacer-2.0.0.pre-java lib/pacer/wrappers/index_wrapper.rb
pacer-1.6.0-java lib/pacer/wrappers/index_wrapper.rb
pacer-1.5.4-java lib/pacer/wrappers/index_wrapper.rb
pacer-1.5.3-java lib/pacer/wrappers/index_wrapper.rb