次のコードを検討してください。
public void broadcast(FacesEvent event)
throws AbortProcessingException {
if(!(event instanceof WrapperEvent)) {
super.broadcast(event);
return;
}
// Sets up the correct context and fire our wrapped event.
GridWrapperEvent revent = (GridWrapperEvent)event; // FindBugs is complaining here
int oldRowIndex = getRowIndex();
int oldColumnIndex = getColumnIndex();
boolean oldClientIdRewritting = clientIdRewritting;
setClientIdRewritting(revent.isClientIdRewritting());
setActiveCell(revent.getRowIndex(), revent.getColumnIndex());
FacesEvent rowEvent = revent.getFacesEvent();
rowEvent.getComponent().broadcast(rowEvent);
setActiveCell(oldRowIndex, oldColumnIndex);
setClientIdRewritting(oldClientIdRewritting);
}
FindBugsはコメントされた行について不平を言っています。それについて私にできることはありますか?これはFindBugsが言うことです:
未チェック/未確認のキャスト このキャストはチェックされておらず、キャスト元のタイプのすべてのインスタンスをキャスト先のタイプにキャストできるわけではありません。プログラムロジックがこのキャストが失敗しないことを保証することを確認してください。