我有寫函數,我遍歷HTTP查詢字符串參數,並通過讀取字符串設置兩個POJO類屬性。一些查詢字符串參數屬於第一類,一些屬於另一類。檢查setter是否被調用?
如:http://example.com?crb=nmsa&cra=jasdlka&....
我讀CRB,CRA等從Map
Pojo pojo = new Pojo();
for (Map.Entry<String, List<String>> queryParameter : queryParamsAndValues.entrySet()) {
System.out.println(queryParameter.getKey() + "/" + queryParameter.getValue());
queryFieldName = QueryFieldName.getLongName(queryParameter
.getKey());
switch (queryFieldName) {
case CREATED_BEFORE:
pojo.setCreatedBefore(queryParameter.getValue()
.get(0));
System.out.println("CREATED BEFORE");
break;
case CREATED_AFTER:
pojo
.setCreatedAfter(queryParameter.getValue().get(0));
System.out.println("CREATED AFTER");
break;
case FILTER_USAGE:
pojo.setFilterUsage(new BigInteger(queryParameter
.getValue().get(0)));
System.out.println("");
break;
case RESULT_CONTENT:
pojo2.setResultContent(new BigInteger(queryParameter
.getValue().get(0)));
System.out.println("Result Content: " + new BigInteger(queryParameter.getValue().get(0)));
break;
case RESPONSE_TYPE:
ResponseTypeInfo resTypeInfo = new ResponseTypeInfo();
resTypeInfo.setResponseTypeValue(new BigInteger(queryParameter.getValue().get(0)));
pojo2.setResponseType(resTypeInfo);
default:
System.out.println("DEFUALT");
}
}
reqPrim.setPojo(pojo);
}else{
reqPrim.setPojo(null);
}
所以pojo
和pojo2
閱讀查詢字符串後正在設置。
現在我想知道是否設置了pojo
的任何屬性。 每當設置pojo
的屬性時,一個選項就是將標誌設置爲真。
有什麼有效的方法嗎?
你可以檢查循環後你pojos的字段是否爲「空」。 – f1sh
這意味着檢查每個字段的分段,這會很麻煩 –
在select..case語句中設置一個標誌 - 或者相當於一個枚舉值爲'pojo','pojo2','both','both' 。或者,使用方面(矯枉過正)。 –