2012-06-15 3 views
2

Я создаю SDK, который будет распространяться без источника через JAR. Все работает, но дескриптивные имена аргументов, которые я использую в классах интерфейса, теряются в процессе.Включить выбранные исходные файлы в JAR через экспорт Eclipse

Мой интерфейс:

package com.example; 
public interface ExampleInterfaceClass { 
    /** 
    * Method documentation 
    * @param descriptiveParameter a parameter name I want included for anyone implementing this interface from a JAR 
    */ 
    public void DoSomething(int descriptiveParameter); 
} 

Когда я реализовать этот интерфейс с доступным исходным кодом, в 'descriptiveParameter' автоматически генерирует правильно, как 'descriptiveParameter':

public class ExampleImplementor implements ExampleInterfaceClass { 
    @Override 
    public void DoSomething(int descriptiveParameter) { 
     // TODO Auto-generated method stub 
    } 
} 

Однако, когда я реализую от скомпилированный JAR, параметр автоматически генерируется как «arg0»:

public class ExampleImplementFromJAR implements ExampleInterfaceClass { 
    @Override 
    public void DoSomething(int arg0) { 
     // TODO Auto-generated method stub 
    } 
} 

Ряд решений был предложен с помощью таких вопросов, как этот: Preserving parameter/argument names in compiled java classes, но никто не попал в решение, которое позволяет мне 1. Включить описательные параметры в JAR и 2. Скрыть источник из других классов. Есть ли способ включить источник только из моих файлов интерфейса в JAR-файл через экспорт eclipse? Если нет, то какой следующий самый простой способ создать JAR с подмножеством исходных объектов?

ответ

0

Я предполагаю, что это невозможно.

Причина, я думаю, что есть несколько примеров внутри самого Android SDK, где автозаполнения методы получить параметры, названные в arg0, arg1, arg2 и т.д. ...

Я полагаю, что если бы это было возможно носите дескриптивные имена параметров над тем, что они сделали бы это при создании компонентов в официальном Android SDK.

Это, как говорится, моя теория полностью основана на моих собственных наблюдениях при работе с Android SDK/Eclipse, я не читал специально нигде, что это невозможно.

Смежные вопросы