org.aspectbench.tm.runtime.internal
Class IndexTreeMap

java.lang.Object
  extended by org.aspectbench.tm.runtime.internal.IndexTreeMap
All Implemented Interfaces:
IndexTree

public class IndexTreeMap
extends java.lang.Object
implements IndexTree

A class implementing an index tree with fully collectable indices, as well as methods to easily add and get values. Note that keys for all levels must be specified, there is no way to iterate over a keyset.

Author:
Pavel Avgustinov

Constructor Summary
IndexTreeMap(int depth)
           
 
Method Summary
 java.util.Iterator get(java.lang.Object[] keys)
          Get an iterator over all values associated with a particular set of keys.
 void insert(java.lang.Object[] keys, MaybeWeakRef value)
          Insert a particular ITDBinding into the IndexTree, at a leaf given by the set of keys.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexTreeMap

public IndexTreeMap(int depth)
Method Detail

get

public java.util.Iterator get(java.lang.Object[] keys)
Get an iterator over all values associated with a particular set of keys. For performance, lots of runtime checks are omitted -- keys is assumed to have the right size, we assume things are appropriately castable etc. Since this is an internal runtime class, we don't expect people who don't abide by the contracts to use it.

Specified by:
get in interface IndexTree

insert

public void insert(java.lang.Object[] keys,
                   MaybeWeakRef value)
Insert a particular ITDBinding into the IndexTree, at a leaf given by the set of keys. Maps that currently don't exist are created.

Specified by:
insert in interface IndexTree