package com.revolsys.value; import com.revolsys.io.BaseCloseable; public class ValueCloseable<T> implements BaseCloseable { private final ValueHolder<T> valueHolder; private final T originalValue; public ValueCloseable(final ValueHolder<T> valueHolder, final T newValue) { this.valueHolder = valueHolder; this.originalValue = valueHolder.setValue(newValue); } @Override public void close() { this.valueHolder.setValue(this.originalValue); } @Override public String toString() { return this.valueHolder.toString(); } }