org.eclipse.xtext.util
Class PolymorphicDispatcher<RT>
java.lang.Object
org.eclipse.xtext.util.PolymorphicDispatcher<RT>
public class PolymorphicDispatcher<RT>
- extends java.lang.Object
- Author:
- Sven Efftinge - Initial contribution and API
Constructor Summary |
PolymorphicDispatcher(java.util.List<? extends java.lang.Object> targets,
com.google.common.base.Predicate<java.lang.reflect.Method> methodFilter)
|
PolymorphicDispatcher(java.util.List<? extends java.lang.Object> targets,
com.google.common.base.Predicate<java.lang.reflect.Method> methodFilter,
PolymorphicDispatcher.ErrorHandler<RT> handler)
|
PolymorphicDispatcher(java.lang.String methodName,
int minParams,
int maxParams,
java.util.List<? extends java.lang.Object> targets)
|
PolymorphicDispatcher(java.lang.String methodName,
int minParams,
int maxParams,
java.util.List<? extends java.lang.Object> targets,
PolymorphicDispatcher.ErrorHandler<RT> handler)
|
PolymorphicDispatcher(java.lang.String methodName,
java.util.List<? extends java.lang.Object> targets)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PolymorphicDispatcher
public PolymorphicDispatcher(java.lang.String methodName,
java.util.List<? extends java.lang.Object> targets)
PolymorphicDispatcher
public PolymorphicDispatcher(java.lang.String methodName,
int minParams,
int maxParams,
java.util.List<? extends java.lang.Object> targets)
PolymorphicDispatcher
public PolymorphicDispatcher(java.lang.String methodName,
int minParams,
int maxParams,
java.util.List<? extends java.lang.Object> targets,
PolymorphicDispatcher.ErrorHandler<RT> handler)
PolymorphicDispatcher
public PolymorphicDispatcher(java.util.List<? extends java.lang.Object> targets,
com.google.common.base.Predicate<java.lang.reflect.Method> methodFilter)
PolymorphicDispatcher
public PolymorphicDispatcher(java.util.List<? extends java.lang.Object> targets,
com.google.common.base.Predicate<java.lang.reflect.Method> methodFilter,
PolymorphicDispatcher.ErrorHandler<RT> handler)
createForSingleTarget
public static <T> PolymorphicDispatcher<T> createForSingleTarget(java.lang.String methodName,
java.lang.Object singleTarget)
createForSingleTarget
public static <T> PolymorphicDispatcher<T> createForSingleTarget(java.lang.String methodName,
int min,
int max,
java.lang.Object singleTarget)
createForSingleTarget
public static <T> PolymorphicDispatcher<T> createForSingleTarget(com.google.common.base.Predicate<java.lang.reflect.Method> methodFilter,
java.lang.Object singleTarget)
createForVarTarget
public static <T> PolymorphicDispatcher<T> createForVarTarget(java.lang.String methodName,
java.lang.Object... targets)
compare
protected int compare(PolymorphicDispatcher.MethodDesc o1,
PolymorphicDispatcher.MethodDesc o2)
invoke
public RT invoke(java.lang.Object... params)
handleNoSuchMethod
protected RT handleNoSuchMethod(java.lang.Object... params)
handleAmbigousMethods
protected RT handleAmbigousMethods(java.util.List<PolymorphicDispatcher.MethodDesc> result,
java.lang.Object... params)
getDefaultClass
protected java.lang.Class<?> getDefaultClass(int paramIndex)
- Returns:
createMethodDesc
protected PolymorphicDispatcher.MethodDesc createMethodDesc(java.lang.Object target,
java.lang.reflect.Method method)