Как я могу динамически обращаться к свойству объекта Java в GWT?

Используя GWT, у меня есть класс Java:

public class Pojo {
  private String name;
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
}

Вышеупомянутый класс является общим для кода на стороне клиента и сервера.

Из кода клиента я хотел бы получить динамический доступ к свойству , То есть я хотел бы написать метод со следующей сигнатурой:

public String getProperty(Object o, String propertyName)

, чтобы работал следующий код:

Pojo pojo = new Pojo();
pojo.setName("Joe");
getProperty(pojo, "name");    // this should return "Joe"

Отражение Java явно отсутствует. И я попробовал следующий метод JSNI:

public static native String getProperty(Object o, String name) /*-{
  return o[name];
}-*/;

Но это не работает.

Специальный синтаксис для доступа к объектам Java из JavaScript также нельзя использовать, так как я хочу, чтобы это было динамическим.

Есть какие-нибудь идеи о том, как я могу это сделать?

Для полноты я также хочу иметь возможность динамически устанавливать свойство.

РЕДАКТИРОВАТЬ: ответ blwy10 был отличным советом, чтобы заставить меня искать с помощью " GWT отражение "вместо того, чтобы с терминами, как" Это идеальный кандидат на сервис-ориентированную архитектуру SOA? Я слышал, что сервисы SOA должны быть без сохранения состояния (или это только сервисы RESTful?). Я также слышал, что нецелесообразно передавать один сервис на другой, потому что это увеличивает скрытую сложность, и что вы должны были что-то делать. чтобы сделать эту ситуацию лучше («оркестровка»?). Вышеперечисленные услуги представляются модульными и могут использоваться повторно. Например, будет множество камер, различные типы алгоритмов обнаружения и аномалий транспортных средств, распределенные базы данных и множество клиентов. Мне нужно будет иметь возможность обрабатывать события: например, если я захочу зарегистрироваться в сервисе и получать уведомления всякий раз, когда большой грузовик проезжает эту точку.

Если это не идеально реализовано SOA, то где еще я должен искать. Если это идеально для SOA, то с чего мне начать при разработке этого? (И я начинаю в основном с прочтения страницы SOA Википедии.) Есть ли здесь какие-нибудь хорошие примеры из практики?

5
задан JnBrymn 26 August 2010 в 14:34
поделиться