私はJavaサーバーの部分とFlash/Flexクライアントで構成されたアプリケーションを持っており、どちらもBlazeDS経由で通信します。両方のサイトで同じ型付きオブジェクトを使用するために、私はGAS3コードジェネレータ(flex-mojosで使用)を使用します。Java-Flexリモートアプリケーションでnull可能なIntegerを処理するベストプラクティス?
しかし今、null許容整数を処理するという問題に直面しています。問題は、オプションのオブジェクトBを参照する外部キーIDを含むオブジェクト(A)があることです。 - しかし、私はIDだけをフレックスクライアントに送信します。それは簡単であるJavaサイトで
:
class A {
private Integer bFk;
getter/setter
}
しかし、フレックスクライアント側で、BFKはint型です。 Flash intはnullにはできません。したがって、 リモートメカニズムは、Javaのヌル整数を0に変換します。サーバーに送信した後、Java側でもJava bFkは0になります。 - 0とnullを分ける必要があるので、これは受け入れられません。
私の最初のworkroundはJava側でIntegerではなく、ラッパー/アダプタのように動作し、-1をnullにする内部intをラップする新しいClass NullAbleIDを使用しています(-1実際のIDは負であるため、nullになります)。しかし、これを使用すると、このNullAbleIDクラスによってすべてのJava Integer IDを置き換える必要があることを意味します。
私はこの問題を抱える最初の人ではないと信じているので、一般的な質問のよりよい解決をお願いします。Java - Flexリモーティングシナリオでnullable Integerを表現する方法は?
は(私が質問を認識しています:。flex-null-integerが、それは同じ問題であったとしても、問題は別の主題についてです)
ありがとう:NaNはJava Integerに割り当てることができないため、NaNは機能しません。また、Blaze Source(ブログへのリンク)を変更することも、私の意見ではありません。しかし、とにかくありがとう、それは他の人のために働くかもしれない。 – Ralph