package edu.vt.marian.search; import java.util.*; import java.io.*; import edu.vt.marian.common.*; /** * ClassManager for any class of nodes. * @author Robert France * @see ClassManager * @see LinkClassManager * @see edu.vt.marian.common.InfoDesc * @see WtdObjSet */ public interface NodeClassManager extends ClassManager { /** Create (or find in the local cache) a set of matches to description. @param description An abstract description of a set of nodes in this class, including their "context": significant links with other parts of the collection network. @return A WtdObjSet of instances of this class, weighted by how well they match the description. */ public WtdObjSet match(InfoDesc description); /** Is this the ID of an instance currently in this class? */ public boolean isInClass(FullID id); /** Return the Java Object that implements the instance of this class picked out by id. @param id The FullID for an object of this class. @return the (Java form of the) real object, or 'null' if id does not describe an instance currently in this class. */ public Object idToObject(FullID id); /** Do idToObject() for a bunch of FullIDs. @param ids A Vector of FullIDs for objects of this class. @return A Vector of real (Java) objects, in one-to-one correspondence with their FullIDs in ids. NOTE: Should a FullID in ids not pick out a valid instance of this class, the corresponding element of the return vector is set to 'null'. */ public Vector idsToObjects(Vector ids); }