XStreamとJavaを使用して、オブジェクトとXML要求、およびXML応答とオブジェクトを変換することを計画しています。XMLはHTTP/HTTPSを介して流れます。応答側では、あるJavaクラスにマップされるように見える「成功」応答、または別のJavaクラスにマップされるように見える「失敗」応答を取得できます。
たとえば、「ファイルリスト」リクエストの場合、肯定的な応答を受け取ることができます。
<?xml version="1.0" encoding="UTF-8"?>
<response>
<success>true</success>
<files>
<file>[...]</file>
<file>[...]</file>
<file>[...]</file>
</files>
</response>
または私は否定的な応答を得ることができます例えば、
<?xml version="1.0" encoding="UTF-8"?>
<response>
<success>false</success>
<error>
<errorCode>-502</errorCode>
<systemMessage>[...]AuthenticationException</systemMessage>
<userMessage>Not authenticated</userMessage>
</error>
</response>
これを処理するには、両方の場合に1つのクラスにフィールドを含める必要がありますか、それともXStreamを使用して2つの潜在的なクラスの1つを「条件付きで」作成する必要がありますか?
同じオブジェクトに両方の応答ケースのフィールドがある場合は、次のようになります。
Class Response {
boolean success;
ArrayList<File> files;
ResponseError error;
[...]
}
Class File {
String name;
long size;
[...]
}
Class ResponseError {
int errorCode;
String systemMessage;
String userMessage;
[...]
}
「成功またはエラーの場合にXStreamを使用して、さまざまなオブジェクトを作成する」とはどのようなものかわかりません。どういうわけかそれを行うことは可能ですか?それは良い方法ですか、それとも悪い方法ですか?
とにかく、この成功と失敗の応答のケースに対処するためにXStreamを使用して処理する方法についてのアドバイスをいただければ幸いです。前もって感謝します!