JMMF API
pre-release v0.5

fr.umlv.jmmf.reflect
Class DAG

java.lang.Object
  |
  +--fr.umlv.jmmf.reflect.DAG

public final class DAG
extends java.lang.Object

associative dag. Class,argIndex -> Class. This dag is reflection of the inheritance dag. TO DO LIST : Some Multiple Method Matching don't work well.

Version:
0.4
Author:
Remi Forax

Field Summary
static java.lang.Class MULTIPLE_CLASSES
           
 
Constructor Summary
DAG(TypeOracle oracle, int argLength)
          create a DAG.
 
Method Summary
 void add(java.lang.Class clazz, int argIndex)
          add a class to the DAG, this class is a possible argument with index argIndex.
 void endsConstruction()
          after this method is call, the add method is disabled, only the get method works.
 java.lang.Class get(java.lang.Class clazz, int argIndex)
           
 boolean isPath(java.lang.Class a, java.lang.Class b)
          return true if there is a path in the dag that begin at the entry of the class a and end at the entry of the class b. the classes a and b must be already known.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MULTIPLE_CLASSES

public static final java.lang.Class MULTIPLE_CLASSES
Constructor Detail

DAG

public DAG(TypeOracle oracle,
           int argLength)
create a DAG.
Method Detail

endsConstruction

public void endsConstruction()
after this method is call, the add method is disabled, only the get method works.
See Also:
add

add

public void add(java.lang.Class clazz,
                int argIndex)
add a class to the DAG, this class is a possible argument with index argIndex.

isPath

public boolean isPath(java.lang.Class a,
                      java.lang.Class b)
return true if there is a path in the dag that begin at the entry of the class a and end at the entry of the class b. the classes a and b must be already known.

get

public java.lang.Class get(java.lang.Class clazz,
                           int argIndex)
Returns:
a class, null or MULTIPLE_CLASSES.

JMMF API
pre-release v0.5

Rémi Forax 1999,2000 Université de Marne la Vallée