JUtil

net.cscott.jutil
Class Indexer<T>

java.lang.Object
  extended by net.cscott.jutil.Indexer<T>

public abstract class Indexer<T>
extends Object

Indexer is an object for extracting unique indices for a set of objects. It is commonly generated by Factories for some class of objects, which can then generate and store unique integers in the objects that they are used to construct. This way auxilliary data structures can efficiently index objects that belong to a common Factory without that data-structure needing an explict dependency on that particular Factory or Object type.

Version:
$Id: Indexer.java,v 1.2 2006-10-30 19:58:05 cananian Exp $
Author:
Felix S. Klock II

Constructor Summary
Indexer()
           
 
Method Summary
 T getByID(int id)
          Provides a reverse mapping for the index returned by getID.
abstract  int getID(T o)
          Returns the "small" integer uniquely associated with o in this.
 boolean implementsReverseMapping()
          Tells user whether this particular Indexer implements the getByID() method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Indexer

public Indexer()
Method Detail

getID

public abstract int getID(T o)
Returns the "small" integer uniquely associated with o in this.
requires: o is a member of the set of objects indexed by this
effects: returns the integer uniquely associated with o from a densely-packed, non-negative set of integers whose smallest element is close to zero.


getByID

public T getByID(int id)
Provides a reverse mapping for the index returned by getID. The constraint is that getByID(getID(o)) must equal o for all objects indexed by this.

Throws:
UnsupportedOperationException - if this functionality is not supported by this.

implementsReverseMapping

public boolean implementsReverseMapping()
Tells user whether this particular Indexer implements the getByID() method.


JUtil

Copyright (c) 2006 C. Scott Ananian