package com.revolsys.geometry.graph.attribute; import java.util.function.Function; import com.revolsys.properties.AbstractObjectPropertyProxy; public class FunctionObjectPropertyProxy<O, T> extends AbstractObjectPropertyProxy<T, O> { private final Function<O, T> function; public FunctionObjectPropertyProxy(final Function<O, T> function) { this.function = function; } @Override public T newValue(final O value) { if (value != null && this.function != null) { return this.function.apply(value); } return null; } }