JMMF API
pre-release v0.6

fr.umlv.jmmf.reflect
Class MultiMethodFactory

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

public class MultiMethodFactory
extends java.lang.Object

Factory class for multi-method implementation.

Version:
0.6.2
Author:
Remi Forax

Constructor Summary
MultiMethodFactory(MultiMethodModel model)
          Construct a multi-method factory with a multi-method model.
 
Method Summary
 MultiConstructor create(java.lang.Class clazz, int length)
          construct a multi-constructor by taking all constructors with argLength parameter(s) in class clazz.
 MultiMethod create(java.lang.Class clazz, java.lang.String name, int length)
          construct a multi-method by taking all method named name with argLength parameter(s) in class clazz.
static MultiMethodFactory getDefaultFactory()
          return the default factory instance.
 MultiMethodModel getModel()
          return the model of all multi-methods created with this factory.
 MultiMethod[] getMultiMethods(java.lang.Class clazz)
          return all the multi-methods contains in the class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiMethodFactory

public MultiMethodFactory(MultiMethodModel model)
Construct a multi-method factory with a multi-method model. All multi-method created with this factory have the same multi-method model.
Parameters:
model - model of all multi-method created with this factory.
Method Detail

getModel

public MultiMethodModel getModel()
return the model of all multi-methods created with this factory.

create

public MultiMethod create(java.lang.Class clazz,
                          java.lang.String name,
                          int length)
construct a multi-method by taking all method named name with argLength parameter(s) in class clazz.
Parameters:
clazz - class which owns the named methods.
name - name of the methods.
argLenth - number of parameters.
Throws:
java.lang.IllegalArgumentException - if the class clazz contains no method named name or all methods found don't have the same number of parameters.

create

public MultiConstructor create(java.lang.Class clazz,
                               int length)
construct a multi-constructor by taking all constructors with argLength parameter(s) in class clazz.
Parameters:
clazz - class which owns the named methods.
argLenth - number of parameters.
Throws:
java.lang.IllegalArgumentException - if the class clazz contains no constructor with argLength parameters.

getMultiMethods

public MultiMethod[] getMultiMethods(java.lang.Class clazz)
return all the multi-methods contains in the class.
Parameters:
clazz - hosted class of all multi-methods.
See Also:
MultiMethod

getDefaultFactory

public static MultiMethodFactory getDefaultFactory()
return the default factory instance.

JMMF API
pre-release v0.6

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