package org.openlca.jsonld; import java.io.Closeable; import java.util.List; import org.openlca.core.model.ModelType; import com.google.gson.JsonObject; public interface EntityStore extends Closeable { /** * Put the given json object of the given type into the store. */ void put(ModelType type, JsonObject object); boolean contains(ModelType type, String refId); List<String> getRefIds(ModelType type); JsonObject get(ModelType type, String refId); void putBin(ModelType type, String refId, String filename, byte[] data); void put(String path, byte[] data); byte[] get(String path); void putContext(); JsonObject getContext(); /** * Returns a list of paths to external (binary) files for a model with the * given type and ID. The returned paths should be directly resolvable so * that a call get(path) on this entity store returns the binary data of * this file. If there are no external files available an empty list should * be returned. */ List<String> getBinFiles(ModelType type, String refId); }