только проанализировать исходный файл java?Как получить имя параметра метода из класса java?
или другие решения?
только проанализировать исходный файл java?Как получить имя параметра метода из класса java?
или другие решения?
Разбор javadocs, вероятно, лучший выбор, если у вас есть такие.
Если вы этого не сделаете, это источник java. если у вас нет источника java или javadocs, вам не повезло.
Я не уверен, понимаю ли вы ваш вопрос ... Было бы легче дать ответ, если бы ваш вопрос был длиннее и что-то рассказывал о том, что вы пытаетесь сделать.
Скомпилированные файлы классов могут содержать имена параметров, но обычно это не так, а для интерфейсов они никогда не делают. См. Мой вопрос Preserving parameter/argument names in compiled java classes и многочисленные ансеры для получения дополнительной информации.
Я считаю, что вы можете получить информацию из анализатора аннотаций в javac
(apt
в JDK5).
Если у вас есть только файлы классов, тогда они должны будут иметь отладочную информацию, включаемую для включения имен параметров. Тогда, я думаю, вы могли бы разбирать файлы классов, скажем, с ASM объекта.
найденный проект paranamer может решить эту проблему.
Прецедент:
Method method = Foo.class.getMethod(...); Paranamer paranamer = new CachingParanamer(); String[] parameterNames = paranamer.lookupParameterNames(method)
Проект дома: http://paranamer.codehaus.org