private static List < IParameter > createList ( Method method ) { List < IParameter > parameters = new ArrayList < IParameter > ( ) ; Class < ? > paramTypes [ ] = method . getParameterTypes ( ) ; Annotation [ ] [ ] methodAnnotations = method . getParameterAnnotations ( ) ; for ( int i = 0 ; i < methodAnnotations . length ; i ++ ) { // defaults boolean paramRequired = true ; String paramName = "" ; Class < ? > paramClass = paramTypes [ i ] ; for ( Annotation a : methodAnnotations [ i ] ) { if ( a instanceof Binder ) { paramName = ( ( Binder ) a ) . name ( ) ; paramRequired = ( ( Binder ) a ) . required ( ) ; break ; } // else if (a instanceof Environment) { // paramName = ((Environment) a).name(); // paramRequired = ((Environment) a).required(); // break; // } } parameters . add ( Parameter . create ( paramName , paramClass , paramRequired ) ) ; } return parameters ; }
Creates the list of BinderVariables given a method obtained through reflection .