Интерфейс с различными типами параметров и номерами - PullRequest
0 голосов
/ 30 сентября 2011

Я хотел создать общий интерфейс с методом, который я мог бы использовать для преобразования объектов ...

Позвольте мне объяснить.

В GWT, используя GWT-Platform, докладчики имеютвнутренний интерфейс, расширяющий View.Этот интерфейс реализован классом, который создает экран (у докладчиков есть действия с кнопками и т. Д.).

Итак, предположим, что у меня, например, есть докладчик для учетной записи пользователя.Он «представляет» мой пользовательский бин.

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

ОК.Все идет нормально.Я создал интерфейс следующим образом:

public interface ViewBeanConverter<T, U extends View>
{
    public T convert(U u);
}

Он работает для простых представлений, но проблема в том, что иногда мне нужно передавать параметры, которые не находятся в представлении интерфейса, а только в классе презентатора, то естьне имеет смысла быть в поле зрения.

Например, предположим, что bean-компонент собирает пользователя, мне нужен список вещей (первое, что пришло в голову прямо сейчас).А потом, на другом экране, например, бобовому автомобилю, нужен владелец и список запчастей для концерта ... Как я могу справиться с этим?

Я не могу объяснить это правильно, извините за это, нореальная проблема в том, что мне нужно разное количество разных типов параметров ... и мне было интересно, есть ли элегантный способ сделать это.

заранее спасибо.

1 Ответ

1 голос
/ 30 сентября 2011

для различного количества разных типов параметров, используйте var args

public interface ViewBeanConverter<T, V extends View>
{
    public T convert(V v,Object... objects);

}

или просто Map

  public T convert(V v, Map<Object, Object> objects);
...