edu.vt.marian.search
Interface ClassManager

All Known Subinterfaces:
LinkClassManager, NodeClassManager

public abstract interface ClassManager

A class manager (sometimes called a class factory) is an object within MARIAN that is responsible for creating, storing, and searching on all digital information objects within some MARIAN class. All class managers are either link class managers or node (DigInfObj) managers. It is in the latter two classes that all the interesting methods get defined.

Two aspects of class management are hidden within these three simple interfaces: caching and subclass management.

Caching is an aspect of the search methods. We expect search requests to be repeated in the context of real running digital library systems. We take advantage of this and speed things up by providing a cache of match sets in each manager indexed by search description.

Subclass management occurs when a MARIAN class is defined as a superclass of other MARIAN classes. In this case, the manager for the superclass is responsible to take all requests, pass them to each subclass, and assemble their responses together with any response from objects of this class proper. At the current stage of implementation (MARIAN v.2.1), class managers are implemented as either subclass managers or managers of objects. In otherwords, managers for superclasses do not "own" any objects of their own, and classes that directly manage objects do not have subclasses. This may change in later development.

JDK Version : 1.1.5

See Also:
NodeClassManager, LinkClassManager

Field Summary
static int ALREADY_EXISTS
           
static int NO_SUCH_OBJECT
          Return codes specific to class managers.
 
Method Summary
 long classSize()
          How many objects are in this class?
 

Field Detail

NO_SUCH_OBJECT

public static final int NO_SUCH_OBJECT
Return codes specific to class managers.

ALREADY_EXISTS

public static final int ALREADY_EXISTS
Method Detail

classSize

public long classSize()
How many objects are in this class?