Dne 9.6.2011 09:15, Libor Jelinek napsal(a):
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

Nechápu jakým způsobem jste vlastně k tomuhle problému přišel. Pokud mám metodu která s objektem pracuje a pak si musím na začátku zkontrolovat, jestli mi někdo nepředal null. Ale v průběhu metody nejde nijak zvenku znullovat objekt, na který držím referenci.

--
Martin Beránek

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem