LazyRef.java
- package swingtree.style;
- import org.jspecify.annotations.Nullable;
- import java.util.Objects;
- final class LazyRef<T>
- {
- private final CacheProducerAndValidator<T> _producerAndValidator;
- private @Nullable T _value;
- LazyRef(CacheProducerAndValidator<T> producerAndValidator) {
- _producerAndValidator = Objects.requireNonNull(producerAndValidator);
- }
- final T getFor(BoxModelConf currentState, ComponentAreas context ) {
- if ( _value == null )
- _value = _producerAndValidator.produce(currentState, context);
- return _value;
- }
- final boolean exists() {
- return _value != null;
- }
- }