Není pak lepší místo nastavení na null (item = null;) použít např. nějaký null object (item=NullItem)? (např. http://sourcemaking.com/design_patterns/null_object/java-0)
> ------------ Původní zpráva ------------ > Od: Libor Jelinek <[email protected]> > Předmět: Jak co nejlépe zareagovat na znullování objektu? > Datum: 09.6.2011 09:15:56 > ---------------------------------------- > Dobrý den! > Chtěl bych probrat, jak by kdo řešil následující problém ochrany proti > NullPointerException pokud s jednou referenční proměnnou pracuje současně > více částí aplikace (více Swing formulářů nebo JPA perzisence a JavaServer > Faces web GUI současně apod.). > > OrderItem item = new OrderItem(); > > *// V nějaké vrstvě se při vytváření položky nastaví nějaké hodnoty* > item.setPN(123); > item.setQty(2); > > *// V jiné vrstvě uživatel smaže položku. Reference je na null.* > item = null; > > *// Další vrstva to neví a zavolá, což **skončí chybou NullPointerException* > item.getPN();** > > Jak k tomu co nejlépe přistoupit? Mě napadají tak dvě možnosti: > 1. Do do getter metod přidat kontrolu na na null a v tom případě vrátit např > "-1". > 2. Oznamovat si změny např. beanovským PropertyChangeListener, což by ale > hodně zkomplikovalo kód. > > Budu rád za Vaše názory. > Libor > > >
