private void initializeMappingTable ( ) { for ( TaskBase taskClassObject : taskClassObjects ) { Class < ? extends TaskBase > claz = taskClassObject . getClass ( ) ; for ( Method method : claz . getDeclaredMethods ( ) ) { for ( Annotation annotation : method . getAnnotations ( ) ) { if ( annotation instanceof Task ) { String methodName = ( ( Task ) annotation ) . name ( ) ; String methodVersion = ( ( Task ) annotation ) . version ( ) ; String key = getKey ( methodName , methodVersion ) ; if ( ! methodMap . containsKey ( key ) ) { methodMap . put ( key , method ) ; objectMap . put ( key , taskClassObject ) ; } else { // duplicate name--version pair throw new DuplicateTaskAnnotationException ( methodName , methodVersion ) ; } } } } } }
Creates the table mapping method names and versions to Method objects and corresponding TaskBase objects