com.partnersoft.v3x.apps.Propagate
Class MappingLookupDatabase

java.lang.Object
  extended by org.jcon.data.LookupDatabase
      extended by com.partnersoft.v3x.apps.Propagate.MappingLookupDatabase
All Implemented Interfaces:
java.io.Serializable

public class MappingLookupDatabase
extends LookupDatabase

This subclass of LookupDatabase helps when mapping old keys to new ones. Swapping of keys is done using a HashMap, then the request is passed to another LookupDatabase.

See Also:
Serialized Form

Constructor Summary
MappingLookupDatabase(LookupDatabase subDatabase, java.util.Map mapping)
           
 
Method Summary
 void addIndex(java.lang.String className, LookupIndex index)
          Creates an object set by adding a classname/index mapping.
 void addIndex(java.lang.String className, LookupIndex index, java.util.Set lookupSet)
          Creates an object set by adding a classname/index mapping, and supplies the set of objects for that mapping too.
 void addObject(java.lang.Object ob)
          Adds an object to the database.
 boolean contains(java.lang.Object ob)
          True if object is in the database, and can therefore be looked up.
 java.lang.Object keyOf(java.lang.Object victim)
          Returns the lookup key of an object.
 java.lang.Object lookupObject(java.lang.Class classy, java.lang.Object parameter)
          Looks up an object based on its class and a parameter.
 LookupReference referenceFor(java.lang.Object ob)
          Returns a LookupReference for an object.
 java.util.Iterator validObjectsFor(java.lang.Class classy)
          Returns valid object set for a registered class.
 java.util.Iterator validObjectsFor(java.lang.String classname)
          Returns valid object set for a registered class by class name.
 
Methods inherited from class org.jcon.data.LookupDatabase
lookup, lookupObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MappingLookupDatabase

public MappingLookupDatabase(LookupDatabase subDatabase,
                             java.util.Map mapping)
Method Detail

addIndex

public void addIndex(java.lang.String className,
                     LookupIndex index)
Creates an object set by adding a classname/index mapping.

Overrides:
addIndex in class LookupDatabase

addIndex

public void addIndex(java.lang.String className,
                     LookupIndex index,
                     java.util.Set lookupSet)
Creates an object set by adding a classname/index mapping, and supplies the set of objects for that mapping too.

Overrides:
addIndex in class LookupDatabase

addObject

public void addObject(java.lang.Object ob)
Adds an object to the database. It must fall into one of a previously- defined object set; i.e., you must have called addIndex() already with one of its ancestor classes.

Overrides:
addObject in class LookupDatabase

validObjectsFor

public java.util.Iterator validObjectsFor(java.lang.Class classy)
Returns valid object set for a registered class.

Overrides:
validObjectsFor in class LookupDatabase

validObjectsFor

public java.util.Iterator validObjectsFor(java.lang.String classname)
Returns valid object set for a registered class by class name.

Overrides:
validObjectsFor in class LookupDatabase

lookupObject

public java.lang.Object lookupObject(java.lang.Class classy,
                                     java.lang.Object parameter)
                              throws LookupFailedException
Looks up an object based on its class and a parameter. If the parameter is in the mapping, the mapped version is used instead; otherwise it's passed through unmolested.

Overrides:
lookupObject in class LookupDatabase
Throws:
LookupFailedException

keyOf

public java.lang.Object keyOf(java.lang.Object victim)
Returns the lookup key of an object. (does not currently do a reverse mapping)

Overrides:
keyOf in class LookupDatabase

contains

public boolean contains(java.lang.Object ob)
True if object is in the database, and can therefore be looked up.

Overrides:
contains in class LookupDatabase

referenceFor

public LookupReference referenceFor(java.lang.Object ob)
Returns a LookupReference for an object.

Overrides:
referenceFor in class LookupDatabase