// (c) Tuomas J. Lukka package org.fenfire.swamp; import org.fenfire.Obs; /** Refine the Obs interface by defining * set operations for triples. *

* This alters the semantics of Obs a little: * first, if chg() is called, the Obs was removed * and things have been changed so total regeneration * is necessary. * However, if addTriple or rmTriple is called, * the Obs WILL NOT BE REMOVED, but will simply * keep being updated incrementally. *

* This is so that casting a TripleSetObs to Obs will always * yield correct (if inefficient) results. */ public interface TripleSetObs extends Obs { String rcsid = "$Id: TripleSetObs.java,v 1.1 2003/04/27 20:19:25 tjl Exp $"; /** A triple was added or removed. * @param dir 1 if added, -1 if removed. */ void chgTriple(int dir, Object o1, Object o2, Object o3); }