void function ( Object arg0 ) { if ( ! hasChanged ( ) ) return ; Set loc0 ; synchronized ( this ) { loc0 = ( Set ) observers . clone ( ) ; } int loc1 = loc0 . size ( ) ; Iterator loc2 = loc0 . iterator ( ) ; while ( -- loc1 >= 0 ) ( ( Observer ) loc2 . next ( ) ) . update ( this , arg0 ) ; clearChanged ( ) ; }
if the observable has actually changed then tell all observers about it , then reset state to unchanged . note that though the order of notification is unspecified in subclasses , in observable it is in the order of registration . concode_field_sep LinkedHashSet observers concode_elem_sep boolean changed concode_field_sep void deleteObservers concode_elem_sep void addObserver concode_elem_sep boolean hasChanged concode_elem_sep void clearChanged concode_elem_sep int countObservers concode_elem_sep void deleteObserver concode_elem_sep void setChanged