//(c): Tuomas J. Lukka, Tuukka Hastrup and Matti J. Katila package org.fenfire; import java.util.Set; import com.hp.hpl.mesa.rdf.jena.model.*; import com.hp.hpl.mesa.rdf.jena.common.*; /** A ZZ space - a set of nodes and connections. * @diagram zzstruct * @diagram delta */ public interface Space { String rcsid = "$Id: Space.java,v 1.1 2003/03/26 23:48:14 mudyc Exp $"; /** There are many plases where model is needed * and this provides it. */ Model getModel(); /** Get a node by its ID. * @diagram zzstruct */ RDFNode getNode(String urn); /** Get the node representing a given global identity. * @diagram zzstruct */ RDFNode getIdentity(String s); /** Get the canonical node representing a given node's * global identity. * @diagram zzstruct */ // XXX RDFNode getIdentity(RDFNode node); /** Get the clone dimension of this space. * @diagram zzstruct */ // XXX Property getCloneDim(); /** Clone a node. * @param nodeToClone The node to clone * @param cloneInSlice A node of the slice the clone should be in. * May be null. */ // XXX RDFNode zzclone(RDFNode nodeToClone, RDFNode cloneInSlice); RDFNode zzclone(RDFNode nodeToClone); /** Create a new span containing the given character. * The node argument is for use when the space is in several * slices and it is desirable to separate the texts somewhat. */ // TextSpan getNewSpan(RDFNode node, char ch); /** Create a new node connected to the home slice. * Defined to be equivalent to N(getHomeNode()). * @diagram zzstruct */ // XXX RDFNode N(); // Delegated from RDFNode /** Create a new node in the same slice as the given node. * @diagram zzstruct */ // XXX RDFNode N(RDFNode inSlice); /** Create a new node in the same slice as the given node, * and connect it in the direction given. * @param o The observer to call when s(inSlice, dim, dir) would not * return the node created by this call any more. * @diagram zzstruct */ /* RDFNode N(RDFNode inSlice, Dim dim, int dir, Obs o); RDFNode N(RDFNode inSlice, RDFNode dim, int dir, Obs o); */ /** Delete a given node. * @diagram zzstruct */ // XXX void delete(RDFNode node); /** Whether a node with the given ID exists in this space. * @diagram zzstruct */ boolean exists(String id); /** Get the instance of mediaserver associated with this space. * May return null. * @deprecated Will be abstracted to an object that produces spans * on request. */ org.nongnu.storm.Mediaserver getMediaserver(); /** Get the node representing the given mediaserver block * in the same slice as node. * May return null. */ // XXX RDFNode getMSBlockNode(String msid, RDFNode node); // XXX ObsTrigger getObsTrigger(); NodeTexter getNodeTexter(); JavaObjector getJavaObjector(); }