private static Set < Parameter < ? > > getParametersFromPublicFields ( Class < ? > type ) { Set < Parameter < ? > > params = new HashSet <> ( ) ; try { Field [ ] fields = type . getFields ( ) ; for ( Field field : fields ) { if ( field . getType ( ) . isAssignableFrom ( Parameter . class ) ) { params . add ( ( Parameter < ? > ) field . get ( null ) ) ; } } } catch ( IllegalArgumentException | IllegalAccessException ex ) { throw new RuntimeException ( "Unable to access fields of " + type . getName ( ) , ex ) ; } return ImmutableSet . copyOf ( params ) ; }
Get all parameters defined as public static fields in the given type .