package org.vertexium.sql;
import org.vertexium.GraphMetadataEntry;
import org.vertexium.GraphMetadataStore;
import org.vertexium.sql.collections.SqlMap;
import org.vertexium.util.ConvertingIterable;
import java.util.Map;
public class SqlGraphMetadataStore extends GraphMetadataStore {
private final SqlMap<Object> metadata;
public SqlGraphMetadataStore(SqlMap<Object> metadata) {
this.metadata = metadata;
}
@Override
public Object getMetadata(String key) {
return metadata.get(key);
}
@Override
public Iterable<GraphMetadataEntry> getMetadata() {
return new ConvertingIterable<Map.Entry<String, Object>, GraphMetadataEntry>(metadata.entrySet()) {
@Override
protected GraphMetadataEntry convert(Map.Entry<String, Object> o) {
return new GraphMetadataEntry(o.getKey(), o.getValue());
}
};
}
@Override
public void setMetadata(String key, Object value) {
metadata.put(key, value);
}
}