001package org.galaxyproject.gxformat2.v19_09.utils; 002 003import java.util.Optional; 004 005public class OptionalLoader<T> implements Loader<Optional<T>> { 006 private final Loader<T> itemLoader; 007 008 public OptionalLoader(Loader<T> itemLoader) { 009 this.itemLoader = itemLoader; 010 } 011 012 public Optional<T> load( 013 final Object doc, 014 final String baseUri, 015 final LoadingOptions loadingOptions, 016 final String docRoot) { 017 if (doc == null) { 018 return Optional.empty(); 019 } 020 return Optional.of(itemLoader.load(doc, baseUri, loadingOptions, docRoot)); 021 } 022}