// (c) 2005 Andreas Harth package org.olap4j.driver.olap4ld.linkeddata; import java.util.Iterator; import java.util.List; import org.olap4j.OlapException; import org.semanticweb.yars.nx.Node; /** * Interface for all Iterators that return byte arrays. */ public interface PhysicalOlapIterator extends Iterator<Object> { /** * Initialize iterator. */ public void init() throws Exception; /** * String representation of the operation. */ public String toString(); /** * Close iterator. */ public void close() throws Exception; /** * Vistor pattern: perform visit operation * @param v vistor object * @param obj node for the new tree */ public void accept(LogicalOlapOperatorQueryPlanVisitor v) throws QueryException; /** * Any iterator stores the schema of its output. * * Interface same as for Linked Data Cubes Engine. * * @param restrictions * @return * @throws OlapException */ public List<Node[]> getCubes(Restrictions restrictions) throws OlapException; public List<Node[]> getDimensions(Restrictions restrictions) throws OlapException; public List<Node[]> getMeasures(Restrictions restrictions) throws OlapException; public List<Node[]> getHierarchies(Restrictions restrictions) throws OlapException; public List<Node[]> getLevels(Restrictions restrictions) throws OlapException; public List<Node[]> getMembers(Restrictions restrictions) throws OlapException; }