package org.openrdf.sail.rdbms.managers;
import java.sql.SQLException;
import java.util.Map;
import info.aduna.collections.LRUMap;
import org.openrdf.sail.rdbms.model.RdbmsURI;
public class PredicateManager {
private UriManager uris;
private Map<Number, String> predicates = new LRUMap<Number, String>(64);
public void setUriManager(UriManager uris) {
this.uris = uris;
}
public Number getIdOfPredicate(RdbmsURI uri)
throws SQLException, InterruptedException
{
Number id = uris.getInternalId(uri);
synchronized (predicates) {
predicates.put(id, uri.stringValue());
}
return id;
}
public String getPredicateUri(Number id) {
synchronized (predicates) {
return predicates.get(id);
}
}
public void remove(Number id) {
synchronized (predicates) {
predicates.remove(id);
}
}
}