package org.xenei.jdbc4sparql.impl.virtual; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.xenei.jdbc4sparql.iface.Catalog; import org.xenei.jdbc4sparql.iface.NameFilter; import org.xenei.jdbc4sparql.iface.Schema; import org.xenei.jdbc4sparql.iface.name.CatalogName; import com.hp.hpl.jena.graph.Node; import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QuerySolution; public class VirtualCatalog implements Catalog { public static final String NAME = ""; private final CatalogName name = new CatalogName(NAME); private Map<String, Schema> schemas; public VirtualCatalog() { schemas = new HashMap<String, Schema>(); schemas.put(VirtualSchema.NAME, new VirtualSchema(this)); } @Override public void close() { schemas = null; } @Override public List<QuerySolution> executeLocalQuery(final Query query) { return null; } @Override public NameFilter<Schema> findSchemas(final String schemaNamePattern) { return new NameFilter<Schema>(schemaNamePattern, schemas.values()); } @Override public CatalogName getName() { return name; } @Override public Schema getSchema(final String schemaName) { return schemas.get(schemaName); } @Override public Set<Schema> getSchemas() { return new HashSet<Schema>(schemas.values()); } @Override public boolean isService() { return false; } @Override public Node getServiceNode() { return null; } @Override public String getShortName() { return getName().getCatalog(); } }