class FDB::DirectoryPartition

def [](name)

def [](name)
  raise 'Cannot open subspace in the root of a directory partition.'
end

def as_foundationdb_key

def as_foundationdb_key
  raise 'Cannot use the root of a directory partition as a key.'
end

def contains?(key)

def contains?(key)
  raise 'Cannot check whether a key belongs to the root of a directory partition.'
end

def get_layer_for_path(path)

def get_layer_for_path(path)
  if path.length == 0
    @parent_directory_layer
  else
    @directory_layer
  end
end

def initialize(path, prefix, parent_directory_layer)

def initialize(path, prefix, parent_directory_layer)
  directory_layer = DirectoryLayer.new(:node_subspace => Subspace.new([], prefix + "\xfe"), 
                                       :content_subspace => Subspace.new([], prefix))
  directory_layer.send(:path=, path)
  super(path, prefix, directory_layer, 'partition')
  @parent_directory_layer = parent_directory_layer
end

def key

def key
  raise 'Cannot get key for the root of a directory partition.'
end

def pack(tuple)

def pack(tuple)
  raise 'Cannot pack keys using the root of a directory partition.'
end

def range(tuple=[])

def range(tuple=[])
  raise 'Cannot get range for the root of a directory partition.'
end

def subspace(tuple)

def subspace(tuple)
  raise 'Cannot open subspace in the root of a directory partition.'
end

def unpack(key)

def unpack(key)
  raise 'Cannot unpack keys using the root of a directory partition.'
end