/**
*
*/
package ecologylab.bigsemantics.seeding;
import java.util.ArrayList;
import ecologylab.bigsemantics.metadata.builtins.DocumentClosure;
import ecologylab.bigsemantics.metadata.builtins.TextClipping;
import ecologylab.collections.Scope;
/**
* Encapsulates application-specific funtionality that must be associated with each Seed.
*
* @author andruid
*
*/
abstract public class SeedPeer<SP extends SeedPeer>
{
Seed seed;
SP ancestor;
protected ArrayList<SP> kids = new ArrayList<SP>(0);
/**
*
*/
public SeedPeer(Seed seed)
{
this.seed = seed;
}
public void addKid(SP kid)
{
kids.add(kid);
}
public void addThisToParent()
{
if (ancestor != null)
ancestor.addKid((SP) this);
}
public void refreshScreenSurrogatesVisibility()
{
}
abstract public void notifyInterface(Scope scope, String key);
abstract public void addToIndex(DocumentClosure documentClosure);
abstract public void addToIndexI(DocumentClosure imageClosure);
abstract public void addToIndexT(TextClipping textClipping);
// abstract public void addToIndexS(S surrogate);
}