package org.hypergraphdb.util;
public class KeyMapResolver<Key, Value> implements RefResolver<Key, Value>
{
private RefResolver<Key, Key> keyMap;
private RefResolver<Key, Value> refResolver;
public KeyMapResolver(RefResolver<Key, Key> keyMap, RefResolver<Key, Value> refResolver)
{
this.keyMap = keyMap;
this.refResolver = refResolver;
}
public Value resolve(Key key)
{
Key realKey = keyMap.resolve(key);
if (realKey == null)
realKey = key;
return refResolver.resolve(realKey);
}
}