public final ObjectProperty < T > userObjectProperty ( ) { if ( userObject == null ) { userObject = new SimpleObjectProperty < T > ( this , "userObject" ) { //$NON-NLS-1$ @ Override public void set ( T newObject ) { T oldUserObject = get ( ) ; // We do not use .equals() here to allow to reset the object even if is "looks" the same e.g. if it // has some .equals() method implemented which just compares an id/business key. if ( oldUserObject != newObject ) { super . set ( newObject ) ; Calendar calendar = getCalendar ( ) ; if ( calendar != null ) { calendar . fireEvent ( new CalendarEvent ( CalendarEvent . ENTRY_USER_OBJECT_CHANGED , calendar , Entry . this , oldUserObject ) ) ; } } } } ; } return userObject ; }
A property used to store a reference to an optional user object . The user object is usually the reason why the entry was created .