JMMF API
pre-release v0.4
< A B C D E F G H I K L M N O P Q R S T U V W _

<

() - Static method in class fr.umlv.jmmf.reflect.MultiMethod
 

A

ACC_ABSTRACT - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_FINAL - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_INTERFACE - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_NATIVE - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_PRIVATE - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_PROTECTED - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_PUBLIC - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_STATIC - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_SUPER - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
ACC_SYNCHRONIZED - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
access_flags - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
access_flags - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
adaptee - Variable in class fr.umlv.jmmf.adapter.AdapterFactory.Handler
 
adapteeMultiMethods - Variable in class fr.umlv.jmmf.adapter.AdapterFactory
 
Adapter - interface fr.umlv.jmmf.adapter.Adapter.
interface for all generic adapter.
AdapterFactory - class fr.umlv.jmmf.adapter.AdapterFactory.
a factory for a generated specialized adapter.
AdapterFactory.Handler - class fr.umlv.jmmf.adapter.AdapterFactory.Handler.
 
AdapterFactory.Handler(AdapterFactory, Object, MethodMapping) - Constructor for class fr.umlv.jmmf.adapter.AdapterFactory.Handler
 
AdapterFactory.MultiMethodItem - class fr.umlv.jmmf.adapter.AdapterFactory.MultiMethodItem.
 
AdapterFactory.MultiMethodItem(Object) - Constructor for class fr.umlv.jmmf.adapter.AdapterFactory.MultiMethodItem
 
AdapterFactory.MultiMethodItem(Object, MultiMethod, int) - Constructor for class fr.umlv.jmmf.adapter.AdapterFactory.MultiMethodItem
 
AdapterFactory() - Constructor for class fr.umlv.jmmf.adapter.AdapterFactory
construct a default adapter factory.
AdapterFactory(Class) - Constructor for class fr.umlv.jmmf.adapter.AdapterFactory
construct an adapter factory where all generated adapters implements the class take as argument.
add(Class[], int) - Method in class fr.umlv.jmmf.util.BitSetDAG
.
add(Class, int) - Method in class fr.umlv.jmmf.util.DAG
add a class to the DAG, this class is a possible argument with index argIndex.
add(Class, int, int) - Method in class fr.umlv.jmmf.util.BitSetDAG
.
add(Class, Object) - Method in class fr.umlv.jmmf.util.SimpleClassTree
add a property for a specific class.
add(Class, Object) - Method in class fr.umlv.jmmf.util.PropertiesClassTree
add a property for a specified class. multiple properties may be associated to one class. all property are present once.
addBit(int, int) - Method in class fr.umlv.jmmf.util.BitSetDAG.Entry
 
addChild(BitSetDAG.Entry) - Method in class fr.umlv.jmmf.util.BitSetDAG.Entry
 
addChild(DAG.Entry) - Method in class fr.umlv.jmmf.util.DAG.Entry
add a child to the current entry.
addChild(PropertiesClassTree.Entry) - Method in class fr.umlv.jmmf.util.PropertiesClassTree.Entry
 
addChild(SimpleClassTree.Entry) - Method in class fr.umlv.jmmf.util.SimpleClassTree.Entry
 
addClass(String) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
addConstant(BytecodeGenerator.CONSTANT) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
addInterface(Class) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
add an interface for all generated adapter.
addInterface(Class, Class) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
add an interface for all adapter for which the adaptee implements adapteeClass.
addMethod(String, Class[], Class, int) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
addMultiMethods(Object) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
add all multimethods contained in the bean.
addMultiMethods(Object, int) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
add all multimethods contained in the bean.
addName(String) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
addNotify(List) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
addNotify(List) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT
 
addNotify(List) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class
 
addToParentEntry(BitSetDAG.Entry, Class) - Method in class fr.umlv.jmmf.util.BitSetDAG
 
addToParentEntry(DAG.Entry, Class) - Method in class fr.umlv.jmmf.util.DAG
add the current entry into the DAG and init it's attributes.
argLength - Variable in class fr.umlv.jmmf.util.BitSetDAG
 
argLength - Variable in class fr.umlv.jmmf.util.DAG
 
args - Variable in class fr.umlv.jmmf.reflect.MultiMethod.Nuplet
 
arrayOfObject - Static variable in class fr.umlv.jmmf.util.PropertiesClassTree
 
asMethod() - Method in class fr.umlv.jmmf.reflect.MultiMethod
return a Java Method object that corresponding to the current multi-method. this method is dynamically generated.
asMethod(ClassLoader) - Method in class fr.umlv.jmmf.reflect.MultiMethod
return a Java Method object that corresponding to the current multi-method. this method is dynamically generated.

B

bean - Variable in class fr.umlv.jmmf.adapter.AdapterFactory.MultiMethodItem
 
bean - Variable in class fr.umlv.jmmf.matcher.PatternMatcher
 
bits - Variable in class fr.umlv.jmmf.util.BitSetDAG.Entry
 
BitSetDAG - class fr.umlv.jmmf.util.BitSetDAG.
associative dag.
BitSetDAG.Entry - class fr.umlv.jmmf.util.BitSetDAG.Entry.
 
BitSetDAG.Entry(BitSetDAG) - Constructor for class fr.umlv.jmmf.util.BitSetDAG.Entry
 
BitSetDAG(int, int) - Constructor for class fr.umlv.jmmf.util.BitSetDAG
 
BytecodeGenerator - class fr.umlv.jmmf.reflect.BytecodeGenerator.
a class to generate some simple sample of bytecode.
BytecodeGenerator.CONSTANT - class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT.
 
BytecodeGenerator.CONSTANT_Class - class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class.
 
BytecodeGenerator.CONSTANT_Class(BytecodeGenerator.CONSTANT_Utf8) - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class
 
BytecodeGenerator.CONSTANT_Class(String) - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class
 
BytecodeGenerator.CONSTANT_Utf8 - class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Utf8.
 
BytecodeGenerator.CONSTANT_Utf8(String) - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Utf8
 
BytecodeGenerator.CONSTANT() - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT
 
BytecodeGenerator.METHOD - class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD.
 
BytecodeGenerator.METHOD(BytecodeGenerator.CONSTANT_Utf8, BytecodeGenerator.CONSTANT_Utf8) - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
BytecodeGenerator.METHOD(String, String) - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
BytecodeGenerator() - Constructor for class fr.umlv.jmmf.reflect.BytecodeGenerator
 

C

children - Variable in class fr.umlv.jmmf.util.BitSetDAG.Entry
 
children - Variable in class fr.umlv.jmmf.util.DAG.Entry
 
children - Variable in class fr.umlv.jmmf.util.SimpleClassTree.Entry
 
children - Variable in class fr.umlv.jmmf.util.PropertiesClassTree.Entry
 
ClassCollector - class fr.umlv.jmmf.util.ClassCollector.
 
ClassCollector.ClassListener - interface fr.umlv.jmmf.util.ClassCollector.ClassListener.
 
ClassCollector.ThreadCollector - class fr.umlv.jmmf.util.ClassCollector.ThreadCollector.
 
ClassCollector.ThreadCollector(ClassCollector) - Constructor for class fr.umlv.jmmf.util.ClassCollector.ThreadCollector
 
ClassCollector() - Constructor for class fr.umlv.jmmf.util.ClassCollector
 
classes - Variable in class fr.umlv.jmmf.util.BitSetDAG
 
classes - Variable in class fr.umlv.jmmf.util.DAG
 
classes - Variable in class fr.umlv.jmmf.util.DAG.Entry
 
classes - Variable in class fr.umlv.jmmf.util.SimpleClassTree
 
classes - Variable in class fr.umlv.jmmf.util.PropertiesClassTree
 
classes(int) - Method in class fr.umlv.jmmf.util.BitSetDAG
 
classIndex - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
classLoader - Variable in class fr.umlv.jmmf.reflect.InterfaceGenerator
 
classUnload() - Method in interface fr.umlv.jmmf.util.ClassCollector.ClassListener
call when the referenced class is unloaded.
clone() - Method in class fr.umlv.jmmf.util.NameLengthPair
create a new NameLengthPair object.
code - Static variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
computeParameterTypes() - Method in class fr.umlv.jmmf.reflect.MultiMethod
compute parameter types.
computeReturnType() - Method in class fr.umlv.jmmf.reflect.MultiMethod
compute return type.
create(Object) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
generate a specialized adapter.
create(String, Class[], Class) - Method in class fr.umlv.jmmf.reflect.InterfaceGenerator
 
create(String, String, Class[], Class) - Method in class fr.umlv.jmmf.reflect.InterfaceGenerator
 
createBytecode() - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
createEntry(Class) - Method in class fr.umlv.jmmf.util.BitSetDAG
.
createEntry(Class) - Method in class fr.umlv.jmmf.util.DAG
create or get an entry for the class clazz. if the corresponding entry already exist, the entry is returned else entry is first created else returned. this algorithm is done in all class inheritance DAG until the corresponding entry exist or the class Object is found. unlike to the Java inheritance DAG, the parent class of an interface is the Object class.
createEntry(Class) - Method in class fr.umlv.jmmf.util.SimpleClassTree
create recursivly un-existent entry for a class and all it superclasses.
createEntry(Class) - Method in class fr.umlv.jmmf.util.PropertiesClassTree
create recursivly un-existent entry for a class and all it superclasses.
createNuplets(BitSetDAG, int, BitSet, Class[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod
create all possible arrays of arguments with the closing types and fill the inheritance dag with the closing type.
createReference(Class, ClassCollector.ClassListener) - Method in class fr.umlv.jmmf.util.ClassCollector
 

D

dag - Variable in class fr.umlv.jmmf.reflect.MultiMethod
pre-process to speed-up method binding. the dag find the closing type for any type. nuplets is an hash map of all scheme of closing types.
DAG - class fr.umlv.jmmf.util.DAG.
associative dag.
DAG._VOID_CLASS - class fr.umlv.jmmf.util.DAG._VOID_CLASS.
 
DAG._VOID_CLASS() - Constructor for class fr.umlv.jmmf.util.DAG._VOID_CLASS
 
DAG.Entry - class fr.umlv.jmmf.util.DAG.Entry.
inner class, cause Entry must knows the DAG argLength attribute.
DAG.Entry(DAG) - Constructor for class fr.umlv.jmmf.util.DAG.Entry
 
DAG.State - class fr.umlv.jmmf.util.DAG.State.
 
DAG.State() - Constructor for class fr.umlv.jmmf.util.DAG.State
 
DAG(int) - Constructor for class fr.umlv.jmmf.util.DAG
create a DAG.
defineClass(String, byte[]) - Method in class fr.umlv.jmmf.reflect.InterfaceGenerator.SpecificClassLoader
 
descriptor - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 

E

e - Variable in class fr.umlv.jmmf.matcher.MatchingMethodInvocationException
 
emptyProperties - Static variable in class fr.umlv.jmmf.util.PropertiesClassTree
 
endsConstruction() - Method in class fr.umlv.jmmf.util.DAG
after this method is call, the add method is disabled, only the get method works.
equals(Object) - Method in class fr.umlv.jmmf.reflect.MultiMethod.Nuplet
 
equals(Object) - Method in class fr.umlv.jmmf.util.NameLengthPair
 

F

fillClassRepresentation(Class, StringBuffer) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
fr.umlv.jmmf.adapter - package fr.umlv.jmmf.adapter
This package contains the class AdapterFactory.
fr.umlv.jmmf.matcher - package fr.umlv.jmmf.matcher
This package contains the class PatternMatcher.
fr.umlv.jmmf.reflect - package fr.umlv.jmmf.reflect
This package contains the class MultiMethod that implements the multi-polymorphism mecanism.
fr.umlv.jmmf.util - package fr.umlv.jmmf.util
This is an Utilities package.

G

get(Class) - Method in class fr.umlv.jmmf.util.SimpleClassTree
return a property for a class.
get(Class) - Method in class fr.umlv.jmmf.util.PropertiesClassTree
return an array of all properties for a class.
get(Class, int) - Method in class fr.umlv.jmmf.util.BitSetDAG
.
get(Class, int) - Method in class fr.umlv.jmmf.util.DAG
 
get(int) - Method in class fr.umlv.jmmf.util.WeakClassArray
return the class contained in the array
get(String) - Method in interface fr.umlv.jmmf.adapter.Test.StringMap
 
getAdaptee() - Method in interface fr.umlv.jmmf.adapter.Adapter
return the object wrapped by the adapter.
getAssignableMethods(Method[], Class[]) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
return all methods that could be called with this parameter types.
getClassLoader() - Method in class fr.umlv.jmmf.reflect.InterfaceGenerator
 
getClassName() - Static method in class fr.umlv.jmmf.reflect.InterfaceGenerator
 
getDeclaringClass() - Method in class fr.umlv.jmmf.reflect.MultiMethod
return class that contains all methods of the current multi-method.
getInterfaces(Class) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
 
getMethod(Class[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod
return the best method.
getMethod(Method[], Class[]) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
return the best method that match with parameter types.
getMethods(Class, String) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
return all methods named name in class clazz.
getMethods(Class, String, int) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
return all methods named name in class clazz and a number of parameter equals to length.
getMultiMethodName(String, Class) - Method in interface fr.umlv.jmmf.adapter.MethodMapping
return the name of a multi-method for a given method name.
getMultiMethods(Class) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
return all the multi-methods contains in the class.
getName() - Method in class fr.umlv.jmmf.reflect.MultiMethod
return the name of the current multi-method.
getParameterTypes() - Method in class fr.umlv.jmmf.reflect.MultiMethod
return the parameter types of the current method. a parameter type is the lowest common subtype of all parameter types of the methods that composed the multi-method.
getReturnType() - Method in class fr.umlv.jmmf.reflect.MultiMethod
return the return type of the current method. a return type is the lowest common subtype of all return types of the methods that composed the multi-method.
getState(DAG.Entry, int) - Method in class fr.umlv.jmmf.util.DAG
get the current state for an argIndex of an entry.
getTargetException() - Method in class fr.umlv.jmmf.matcher.MatchingMethodInvocationException
get the exception thrown in the matching method.

H

hashCode() - Method in class fr.umlv.jmmf.reflect.MultiMethod.Nuplet
 
hashCode() - Method in class fr.umlv.jmmf.util.NameLengthPair
 

I

index - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT
 
init(DAG.Entry) - Method in class fr.umlv.jmmf.util.DAG.Entry
init the current entry, called after the first creation of the Entry object. this method is called once by parent. this method is used by addToParentEntry.
init(int) - Method in class fr.umlv.jmmf.reflect.MultiMethod
initialize all transient strutures.
init(String, int) - Method in class fr.umlv.jmmf.util.NameLengthPair
The pair is a mutable object to avoid object allocation.
interfaceCreated - Static variable in class fr.umlv.jmmf.reflect.InterfaceGenerator
 
InterfaceGenerator - class fr.umlv.jmmf.reflect.InterfaceGenerator.
create dynamically an interface with one method.
InterfaceGenerator.SpecificClassLoader - class fr.umlv.jmmf.reflect.InterfaceGenerator.SpecificClassLoader.
 
InterfaceGenerator.SpecificClassLoader(ClassLoader) - Constructor for class fr.umlv.jmmf.reflect.InterfaceGenerator.SpecificClassLoader
 
InterfaceGenerator(ClassLoader) - Constructor for class fr.umlv.jmmf.reflect.InterfaceGenerator
 
interfaces - Variable in class fr.umlv.jmmf.adapter.AdapterFactory
 
invocationOption - Variable in class fr.umlv.jmmf.adapter.AdapterFactory.MultiMethodItem
 
invoke(Object, Method, Object[]) - Method in class fr.umlv.jmmf.adapter.AdapterFactory.Handler
 
invoke(Object, Method, Object[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod.Handler
 
invoke(Object, Object[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod
call the best method of the multi-method according to the type of all items if args array on a specified target object.
invoke(Object, Object[], Class[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod
call the best method of the multi-method according to the type of all items if args array on a specified target object.
isBestMethod(BitSetDAG, Class[], Class[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod
 
isKeepAdapteeInterfaces() - Method in class fr.umlv.jmmf.adapter.AdapterFactory
get the keepAdapteeInterfaces flag. if this flag is true, the interfaces of the adaptee is implemented by the generic adapter.
isMultiplePropagationSources(SimpleClassTree.Entry, SimpleClassTree.Entry) - Static method in class fr.umlv.jmmf.util.SimpleClassTree
 
isPath(BitSetDAG.Entry, BitSetDAG.Entry) - Method in class fr.umlv.jmmf.util.BitSetDAG
 
isPath(Class, Class) - Method in class fr.umlv.jmmf.util.BitSetDAG
 
isPath(Class, Class) - Method in class fr.umlv.jmmf.util.DAG
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.
isPath(DAG.Entry, DAG.Entry) - Method in class fr.umlv.jmmf.util.DAG
see isPath(Class, Class) cause isPath() is called in propagate method, operation number must be the minorOp. if this method is called directly, the minorOp must be incremented.

K

keepAdapteeInterfaces - Variable in class fr.umlv.jmmf.adapter.AdapterFactory
 

L

length - Variable in class fr.umlv.jmmf.util.NameLengthPair
 

M

m(Test.A, Test.E) - Method in class fr.umlv.jmmf.util.Test
 
m(Test.C, Test.E) - Method in class fr.umlv.jmmf.util.Test
 
m(Test.C, Test.F) - Method in class fr.umlv.jmmf.util.Test
 
m(Test.D, Test.F) - Method in class fr.umlv.jmmf.util.Test
 
m(Test.I, Test.E) - Method in class fr.umlv.jmmf.util.Test
 
main(String[]) - Static method in class fr.umlv.jmmf.adapter.Test
 
main(String[]) - Static method in class fr.umlv.jmmf.util.Test
 
majorOp - Variable in class fr.umlv.jmmf.util.DAG
 
majorOp - Variable in class fr.umlv.jmmf.util.DAG.Entry
 
map - Variable in class fr.umlv.jmmf.util.ClassCollector
 
mapping - Variable in class fr.umlv.jmmf.adapter.AdapterFactory.Handler
 
match(String, Object) - Method in class fr.umlv.jmmf.matcher.PatternMatcher
lookup the best method in the multi-method named name and invoke it.
match(String, Object[]) - Method in class fr.umlv.jmmf.matcher.PatternMatcher
lookup the best method in the multi-method named name and invoke it.
match(String, Object[], Class[]) - Method in class fr.umlv.jmmf.matcher.PatternMatcher
lookup the best method in the multi-method named name and invoke it.
MatchingMethodInvocationException - exception fr.umlv.jmmf.matcher.MatchingMethodInvocationException.
This class is the same of InvocationTargetException but extends RuntimeException.
MatchingMethodInvocationException(Exception) - Constructor for class fr.umlv.jmmf.matcher.MatchingMethodInvocationException
construct the MatchingMethodInvocationException with the matching method exception.
methodLength - Variable in class fr.umlv.jmmf.util.BitSetDAG
 
MethodMapping - interface fr.umlv.jmmf.adapter.MethodMapping.
interface that discribe mapping between a method and a multi-method.
MethodMappingSupport - class fr.umlv.jmmf.adapter.MethodMappingSupport.
 
MethodMappingSupport() - Constructor for class fr.umlv.jmmf.adapter.MethodMappingSupport
 
methods - Variable in class fr.umlv.jmmf.reflect.MultiMethod
 
methods - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
minorOp - Variable in class fr.umlv.jmmf.util.DAG
 
minorOp - Variable in class fr.umlv.jmmf.util.DAG.Entry
 
mm - Variable in class fr.umlv.jmmf.adapter.AdapterFactory.MultiMethodItem
 
MultiMethod - class fr.umlv.jmmf.reflect.MultiMethod.
an implementation of the multi-method.
MultiMethod.Handler - class fr.umlv.jmmf.reflect.MultiMethod.Handler.
handler use to create a method representation of the multi-method.
MultiMethod.Handler(MultiMethod) - Constructor for class fr.umlv.jmmf.reflect.MultiMethod.Handler
 
MultiMethod.Nuplet - class fr.umlv.jmmf.reflect.MultiMethod.Nuplet.
 
MultiMethod.Nuplet() - Constructor for class fr.umlv.jmmf.reflect.MultiMethod.Nuplet
 
MultiMethod.Nuplet(Class[]) - Constructor for class fr.umlv.jmmf.reflect.MultiMethod.Nuplet
 
MultiMethod(Class, String, int) - Constructor for class fr.umlv.jmmf.reflect.MultiMethod
construct a multi-method by taking all method named name in class clazz.
MultiMethod(Method[]) - Constructor for class fr.umlv.jmmf.reflect.MultiMethod
The name of the multi-method is the name of the first method of the array.
MultiMethod(Method[], String) - Constructor for class fr.umlv.jmmf.reflect.MultiMethod
construct a multi-method with a name and a methods array. all method must be declared in th same class.
multimethods - Variable in class fr.umlv.jmmf.adapter.AdapterFactory
 
multimethods - Variable in class fr.umlv.jmmf.matcher.PatternMatcher
 
MultiMethodUtilities - class fr.umlv.jmmf.reflect.MultiMethodUtilities.
Support class for multi-method implementation.
MultiMethodUtilities() - Constructor for class fr.umlv.jmmf.reflect.MultiMethodUtilities
avoid to create a MultiMethodUtilities object.
MULTIPLE_CLASSES - Static variable in class fr.umlv.jmmf.util.DAG
 
MULTIPLE_METHOD_MATCHING - Static variable in class fr.umlv.jmmf.reflect.MultiMethod
 
MultipleMatchingMethodsException - exception fr.umlv.jmmf.reflect.MultipleMatchingMethodsException.
Exception thrown if multiple matching methods could be called with the given parameter types.
MultipleMatchingMethodsException(String) - Constructor for class fr.umlv.jmmf.reflect.MultipleMatchingMethodsException
construct a MultipleMatchingMethodException with a message.

N

name - Variable in class fr.umlv.jmmf.reflect.MultiMethod
 
name - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
name - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Utf8
 
name - Variable in class fr.umlv.jmmf.util.NameLengthPair
 
NameLengthPair - class fr.umlv.jmmf.util.NameLengthPair.
Pair composed by the method name and number of parameters.
NameLengthPair() - Constructor for class fr.umlv.jmmf.util.NameLengthPair
Default constructor.
NameLengthPair(String, int) - Constructor for class fr.umlv.jmmf.util.NameLengthPair
construct a pair with a name and a number of parameters.
NoMatchingMethodException - exception fr.umlv.jmmf.reflect.NoMatchingMethodException.
Exception thrown if no matching method could be called with the given parameter types.
NoMatchingMethodException(String) - Constructor for class fr.umlv.jmmf.reflect.NoMatchingMethodException
construct a NoMatchingMethodException with a message.
nuplets - Variable in class fr.umlv.jmmf.reflect.MultiMethod
 

O

OBJECT_CLASS - Static variable in class fr.umlv.jmmf.util.BitSetDAG
 
OBJECT_CLASS - Static variable in class fr.umlv.jmmf.util.DAG
 
OBJECT_CLASS - Static variable in class fr.umlv.jmmf.util.SimpleClassTree
 
ObjectClass - Static variable in class fr.umlv.jmmf.reflect.MultiMethodUtilities
 
operation - Variable in class fr.umlv.jmmf.util.BitSetDAG
 
operation - Variable in class fr.umlv.jmmf.util.BitSetDAG.Entry
 

P

parameterTypes - Variable in class fr.umlv.jmmf.reflect.MultiMethod
 
PatternMatcher - class fr.umlv.jmmf.matcher.PatternMatcher.
class Test extends PatternMatcher {   interface Tree {}   class Leaf implements Tree {     int value;   }   class Node implements Tree {     Tree left,right;   }   public int sum(Node node)   { return sum(left)+sum(right); }   public int sum(Leaf leaf)   { return value; }   public int sum(Tree tree)   { return ((Integer)match("sum",tree)).intValue(); }   public static void main(String[] args) {     Tree tree=new Node(new Node(new Leaf(1),new Leaf(3)),new Leaf(7));     System.out.println("sum "+sum(tree));   } }
PatternMatcher() - Constructor for class fr.umlv.jmmf.matcher.PatternMatcher
create a pattern matcher component.
PatternMatcher(Object) - Constructor for class fr.umlv.jmmf.matcher.PatternMatcher
create a pattern matcher component on a bean object.
pgcd(Class, Class) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
find the common subtype of two classes.
pgcdClass(Class, Class) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
 
pgcdClassInterface(Class, Class) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
b must be an interface, and a a class.
pgcdInterface(Class, Class) - Static method in class fr.umlv.jmmf.reflect.MultiMethodUtilities
b and a must be interfaces.
pool - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
print(Object) - Static method in class fr.umlv.jmmf.util.Test
 
print(Object[]) - Static method in class fr.umlv.jmmf.util.Test
 
printStackTrace() - Method in class fr.umlv.jmmf.matcher.MatchingMethodInvocationException
prints the stack trace of the thrown target exception.
printStackTrace(PrintStream) - Method in class fr.umlv.jmmf.matcher.MatchingMethodInvocationException
prints the stack trace of the thrown target exception to the specified print stream.
printStackTrace(PrintWriter) - Method in class fr.umlv.jmmf.matcher.MatchingMethodInvocationException
prints the stack trace of the thrown target exception to the specified print writer.
processMultiMethod(Class) - Method in class fr.umlv.jmmf.matcher.PatternMatcher
process introspection to find the multi-methods.
propagate(BitSetDAG.Entry, int, int) - Method in class fr.umlv.jmmf.util.BitSetDAG
 
propagate(DAG.Entry, int, Class, DAG.State) - Method in class fr.umlv.jmmf.util.DAG
propagate a class and a state through the DAG. if this method is called directly, the majorOp must be incremented before.
propagateToChildren(SimpleClassTree.Entry, SimpleClassTree.Entry, Object) - Method in class fr.umlv.jmmf.util.SimpleClassTree
propagate a property to all subclasse of the curent entry class.
properties - Variable in class fr.umlv.jmmf.util.PropertiesClassTree.Entry
 
PropertiesClassTree - class fr.umlv.jmmf.util.PropertiesClassTree.
associative tree.
PropertiesClassTree.Entry - class fr.umlv.jmmf.util.PropertiesClassTree.Entry.
 
PropertiesClassTree.Entry(PropertiesClassTree) - Constructor for class fr.umlv.jmmf.util.PropertiesClassTree.Entry
 
PropertiesClassTree() - Constructor for class fr.umlv.jmmf.util.PropertiesClassTree
 
property - Variable in class fr.umlv.jmmf.util.SimpleClassTree.Entry
 
put(String, int) - Method in interface fr.umlv.jmmf.adapter.Test.StringMap
 
putMultiMethodInCache(Class) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
 

Q

queue - Variable in class fr.umlv.jmmf.util.ClassCollector
 

R

refs - Variable in class fr.umlv.jmmf.util.WeakClassArray
 
reify() - Method in class fr.umlv.jmmf.util.PropertiesClassTree
transform all set of properties in an array of properties.
reify(PropertiesClassTree.Entry, Set) - Method in class fr.umlv.jmmf.util.PropertiesClassTree
add a set of properties to an entry and reify it.
removeChildrenFromUnreified(PropertiesClassTree.Entry) - Method in class fr.umlv.jmmf.util.PropertiesClassTree
remove all sub-classes (children entry) of one entry from the unreified entries.
returnType - Variable in class fr.umlv.jmmf.reflect.MultiMethod
 
run() - Method in class fr.umlv.jmmf.util.ClassCollector.ThreadCollector
 

S

SEND_ADAPTEE - Static variable in class fr.umlv.jmmf.adapter.AdapterFactory
 
SEND_ADAPTER - Static variable in class fr.umlv.jmmf.adapter.AdapterFactory
 
SEND_NONE - Static variable in class fr.umlv.jmmf.adapter.AdapterFactory
 
set(Class, int) - Method in class fr.umlv.jmmf.util.WeakClassArray
set the class clazz at array index index.
set(int, Class, DAG.State) - Method in class fr.umlv.jmmf.util.DAG.Entry
set a class and state for a specified argument (by its index). this method is used by add and propagate !!!
setAccessFlags(int) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
setAccessFlags(int) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
setBitSets(BitSet[]) - Method in class fr.umlv.jmmf.util.BitSetDAG.Entry
 
setClass(String) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
setKeepAdapteeInterfaces(boolean) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
set the keepAdapteeInterfaces flag. if this flag is true, the interfaces of the adaptee is implemented by the generic adapter.
sets - Variable in class fr.umlv.jmmf.util.BitSetDAG
 
setState(DAG.Entry, int, DAG.State) - Method in class fr.umlv.jmmf.util.DAG
set the current state for an argIndex of an entry.
setSuperclass(String) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator
 
shift(Object[], Object) - Static method in class fr.umlv.jmmf.adapter.AdapterFactory
shift an array to the right and add an object in first position of the new array.
SimpleClassTree - class fr.umlv.jmmf.util.SimpleClassTree.
associative tree.
SimpleClassTree.Entry - class fr.umlv.jmmf.util.SimpleClassTree.Entry.
 
SimpleClassTree.Entry(SimpleClassTree) - Constructor for class fr.umlv.jmmf.util.SimpleClassTree.Entry
 
SimpleClassTree() - Constructor for class fr.umlv.jmmf.util.SimpleClassTree
 
source - Variable in class fr.umlv.jmmf.util.SimpleClassTree.Entry
 
STATE_COPY - Static variable in class fr.umlv.jmmf.util.DAG
current class value is a copy of a parent entry.
STATE_MULTIPLE - Static variable in class fr.umlv.jmmf.util.DAG
there is no current class value, because two or more parent have different class value.
STATE_SET - Static variable in class fr.umlv.jmmf.util.DAG
current class value is the same of the current class.
states - Variable in class fr.umlv.jmmf.util.DAG
 
superclassIndex - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator
 

T

tag() - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT
 
tag() - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Utf8
 
tag() - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class
 
Test - class fr.umlv.jmmf.adapter.Test.
 
Test - class fr.umlv.jmmf.util.Test.
 
Test.A - class fr.umlv.jmmf.util.Test.A.
 
Test.A() - Constructor for class fr.umlv.jmmf.util.Test.A
 
Test.B - class fr.umlv.jmmf.util.Test.B.
 
Test.B() - Constructor for class fr.umlv.jmmf.util.Test.B
 
Test.C - class fr.umlv.jmmf.util.Test.C.
 
Test.C() - Constructor for class fr.umlv.jmmf.util.Test.C
 
Test.D - class fr.umlv.jmmf.util.Test.D.
 
Test.D() - Constructor for class fr.umlv.jmmf.util.Test.D
 
Test.E - class fr.umlv.jmmf.util.Test.E.
 
Test.E() - Constructor for class fr.umlv.jmmf.util.Test.E
 
Test.F - class fr.umlv.jmmf.util.Test.F.
 
Test.F() - Constructor for class fr.umlv.jmmf.util.Test.F
 
Test.G - class fr.umlv.jmmf.util.Test.G.
 
Test.G() - Constructor for class fr.umlv.jmmf.util.Test.G
 
Test.I - interface fr.umlv.jmmf.util.Test.I.
 
Test.J - interface fr.umlv.jmmf.util.Test.J.
 
Test.StringMap - interface fr.umlv.jmmf.adapter.Test.StringMap.
 
Test() - Constructor for class fr.umlv.jmmf.adapter.Test
 
Test() - Constructor for class fr.umlv.jmmf.util.Test
 
thread - Variable in class fr.umlv.jmmf.util.ClassCollector
 
toSet() - Method in class fr.umlv.jmmf.util.PropertiesClassTree.Entry
 
toString() - Method in class fr.umlv.jmmf.reflect.MultiMethod
return a string representation of the multi-method.
toString() - Method in class fr.umlv.jmmf.util.NameLengthPair
 
type - Variable in class fr.umlv.jmmf.adapter.AdapterFactory
 

U

unambiguize(BitSetDAG, BitSet) - Method in class fr.umlv.jmmf.reflect.MultiMethod
 
unreifiedEntries - Variable in class fr.umlv.jmmf.util.PropertiesClassTree
 
utf8 - Variable in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class
 

V

verifyDeclaringClasses() - Method in class fr.umlv.jmmf.reflect.MultiMethod
verify that all methods of the current multi-method is declared in the same classes.
verifyParameterLength(int) - Method in class fr.umlv.jmmf.reflect.MultiMethod
compute parameter number and verify that all methods have the same number of parameters

W

WeakClassArray - class fr.umlv.jmmf.util.WeakClassArray.
an array of class that use weak references to store classes.
WeakClassArray(Class[]) - Constructor for class fr.umlv.jmmf.util.WeakClassArray
create an array of weak reference on class.
WeakClassArray(int) - Constructor for class fr.umlv.jmmf.util.WeakClassArray
create an array that contains no class.
wrapp(Class[]) - Method in class fr.umlv.jmmf.reflect.MultiMethod.Nuplet
 
wrappResult(Object) - Method in class fr.umlv.jmmf.adapter.AdapterFactory
 
write(DataOutput) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.METHOD
 
write(DataOutput) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT
 
write(DataOutput) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Utf8
 
write(DataOutput) - Method in class fr.umlv.jmmf.reflect.BytecodeGenerator.CONSTANT_Class
 

_

_no_method() - Static method in class fr.umlv.jmmf.reflect.MultiMethod
 
_nuplet - Variable in class fr.umlv.jmmf.reflect.MultiMethod
 
_pair - Variable in class fr.umlv.jmmf.matcher.PatternMatcher
 

< A B C D E F G H I K L M N O P Q R S T U V W _
JMMF API
pre-release v0.4

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