1 // Copyright 2020 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.base.supplier; 6 7 import org.chromium.base.lifetime.Destroyable; 8 9 /** 10 * An {@link ObservableSupplier} that may be destroyed by anyone with a reference to the object. 11 * This is useful if the class that constructs the object implementing this interface is not 12 * responsible for its cleanup. For example, this may be useful when constructing an object 13 * using the factory pattern. 14 * 15 * @param <E> The type of the wrapped object. 16 */ 17 public interface DestroyableObservableSupplier<E> extends ObservableSupplier<E>, Destroyable {} 18