У меня есть Приложение, состоящее из части Java Server и клиента Flash / Flex, оба взаимодействуют через BlazeDS.Чтобы иметь одинаковые типизированные объекты на обоих сайтах, я использую генератор кода GAS3 (используется flex-mojos).
Но теперь я сталкиваюсь с проблемой обработки обнуляемых целых чисел.Проблема в том, что у меня есть объект (A), который содержит идентификатор внешнего ключа, который ссылается на необязательный объект B. - Но я отправляю идентификатор только клиенту flex.
На сайте Java это легко:
class A {
private Integer bFk;
getter/setter
}
Но на стороне гибкого клиента bFk имеет тип int.И Flash int не может быть нулевым.Таким образом, механизм удаленного взаимодействия преобразует нулевое целое число Java в 0. После отправки его обратно на сервер Java bFk становится равным 0 даже на стороне Java.- Это неприемлемо, потому что мне нужно разделить 0 и ноль.
Моя первая рабочая среда - использование не Integer на стороне Java, а нового класса NullAbleID, который работает немного как обертка/ adaptor, который оборачивает внутренний int, где -1 представляет ноль (я могу использовать -1 для ноль, потому что реальный идентификатор будет отрицательным).Но когда я использую это, это означает, что я должен заменить все идентификаторы Java Integer на этот класс NullAbleID.
Поскольку я считаю, что я не первый, кто сталкивается с этой проблемой, я прошу вас найти лучшее решениеобщий вопрос: как представить обнуляемое целое число в сценарии удаленного взаимодействия Java - Flex?
(мне известен вопрос: flex-null-integer , нодаже если это та же проблема, вопрос касается другой темы.)