001    package org.nakedobjects.applib.events;
002    
003    import org.nakedobjects.applib.Identifier;
004    
005    
006    /**
007     * Represents an access (reading) of a property.
008     * 
009     * <p>
010     * Analogous to {@link PropertyModifyEvent}, however the {@link #getReason()} will always be <tt>null</tt>.
011     * (If access is not allowed then a {@link PropertyVisibilityEvent} would have been fired).
012     */
013    public class PropertyAccessEvent extends AccessEvent {
014    
015        private static final long serialVersionUID = 1L;
016    
017        public PropertyAccessEvent(final Object source, final Identifier propertyIdentifier, final Object value) {
018            super(source, propertyIdentifier);
019            this.value = value;
020        }
021    
022        private final Object value;
023    
024        public Object getValue() {
025            return value;
026        }
027    
028    }