index update now does not require old content for the file (mapOld() removed)
[fedora-idea.git] / platform / lang-impl / src / com / intellij / util / indexing / IndexStorage.java
blob89b1ba2dcc8dce5a43db1a27e7b3bc86099d9fc7
1 package com.intellij.util.indexing;
3 import com.intellij.util.Processor;
4 import org.jetbrains.annotations.NotNull;
6 import java.io.Flushable;
7 import java.util.Collection;
9 /**
10 * @author Eugene Zhuravlev
11 * Date: Dec 10, 2007
13 public interface IndexStorage<Key, Value> extends Flushable{
15 void addValue(Key key, int inputId, Value value) throws StorageException;
17 void removeValue(Key key, int inputId, Value value) throws StorageException;
19 void removeAllValues(Key key, int inputId) throws StorageException;
21 void remove(Key key) throws StorageException;
23 void clear() throws StorageException;
25 @NotNull
26 ValueContainer<Value> read(Key key) throws StorageException;
28 boolean processKeys(Processor<Key> processor) throws StorageException;
30 Collection<Key> getKeys() throws StorageException;
32 void close() throws StorageException;