オブジェクトから抽出されたNULL 値をチェックする解決策がありますが、ここで行っているよりも最善の方法があると思います。だから、コードスニペットで最善の方法を提案してください:)
xml コンテンツをアンマーシャリング メソッドに渡し、unmarshalledValues を null チェック メソッド (つまり ValidateInputFiled ) に渡します。
Contents unmarshalledValues = unmarshalingContent( xml );
inputCheck = ValidateInputField( unmarshalledValues );
以下で説明するように、XML 要素の POJO があります。
@XmlRootElement( name = "contents" )
public class Contents
{
@XmlElement
String A;
@XmlElement
String B;
@XmlElement
String C;
@XmlAttribute
String D;
public String getA()
{
return A;
}
public String getB()
{
return B;
}
public String getC()
{
return C;
}
public String getD()
{
return D;
}
}
以下のように ValidateInputFiled を定義しました
public Boolean ValidateInputField( Contents unmarshalledValues )
{
int checker = 0;
Boolean listCheck = false;
// Extracting unmarshalled values from xml
String A= unmarshalledValues.getA();
String B= unmarshalledValues.getB();
String C = unmarshalledValues.getC();
String D= unmarshalledValues.getD();
if ( A== null || A.isEmpty() )
{
checker++;
}
if ( B== null || B.isEmpty() )
{
checker++;
}
if ( C== null || C.isEmpty() )
{
checker++;
}
if ( D== null || D.isEmpty() )
{
checker++;
}
if ( checker == 0 )
{
listCheck = true;
}
return listCheck;
}
ここでは、各文字列値 (つまり、 A、B、C、D ) の NULL チェックを回避しようとしていますが、コレクションまたはリストを使用して Contents または unmarshalledValues の null チェックを行うことはできますか?