001package arez.spy; 002 003import grim.annotations.OmitType; 004 005/** 006 * Returning the value of an ObservableValue. 007 * 008 * @param <T> The type of the ObservableValue value. 009 */ 010@OmitType( unless = "arez.enable_property_introspection" ) 011@FunctionalInterface 012public interface PropertyAccessor<T> 013{ 014 /** 015 * Return the value of an ObservableValue. 016 * 017 * @return the value of an ObservableValue. 018 * @throws Throwable if unable to retrieve value. 019 */ 020 T get() 021 throws Throwable; 022}