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
>
>
>

Odpovedet emailem