Class: MapDB::DB

Inherits:
Object
  • Object
show all
Defined in:
lib/sekka/jruby_mapdb.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dbname = nil, treename = nil) ⇒ DB

Returns a new instance of DB.



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/sekka/jruby_mapdb.rb', line 79

def initialize(dbname=nil,treename=nil)
  @tree = nil
  if dbname.nil?
    @type = :MemoryDB
    @mapdb = OrgMapdb::DBMaker.
               memoryDB().
               closeOnJvmShutdown().
               make()
  else
    @type = :FileDB
    @mapdb = OrgMapdb::DBMaker.
               fileDB(Java::JavaIo::File.new("#{dbname}")).
               fileMmapEnableIfSupported().
               closeOnJvmShutdown().
               make()
  end
  if treename.nil?
    raise ArgumentError("require treename.")
  end
  tree = @mapdb.treeMap("#{treename}").
           keySerializer(OrgMapdb::Serializer.STRING).
           valueSerializer(OrgMapdb::Serializer.STRING).
           createOrOpen()
  @tree = MapDB::Tree.new(tree)
end

Instance Attribute Details

#mapdbObject (readonly)

Returns the value of attribute mapdb.



78
79
80
# File 'lib/sekka/jruby_mapdb.rb', line 78

def mapdb
  @mapdb
end

#typeObject (readonly)

Returns the value of attribute type.



78
79
80
# File 'lib/sekka/jruby_mapdb.rb', line 78

def type
  @type
end

Instance Method Details

#closeObject



109
110
111
# File 'lib/sekka/jruby_mapdb.rb', line 109

def close
  @mapdb.close
end

#getTreeObject



105
106
107
# File 'lib/sekka/jruby_mapdb.rb', line 105

def getTree()
  return @tree
end