Class PolymorphicDispatcher<RT>


  • public class PolymorphicDispatcher<RT>
    extends java.lang.Object
    • Constructor Detail

      • 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)
    • Method Detail

      • 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)
      • invoke

        public RT invoke​(java.lang.Object... params)
      • handleNoSuchMethod

        protected RT handleNoSuchMethod​(java.lang.Object... params)
      • getDefaultClass

        protected java.lang.Class<?> getDefaultClass​(int paramIndex)
        Returns:
        Void.class