    001package org.apache.tapestry5.webresources;
    002
    003import java.util.Optional;
    004
    005import org.apache.tapestry5.services.assets.StreamableResource;
    006
    007import com.google.javascript.jscomp.CompilerOptions;
    008
    009/**
    010 * Provide CompilerOptions for the GoogleClosureMinimizer.
    011 * TAP5-2661
    012 *
    013 * @since 5.7
    014 */
    015public interface GoogleClosureMinimizerOptionsProvider
    016{
    017    /**
    018     * Returns the compiler options to be used by GoogleClosureMinimizer.
    019     *
    020     * An empty Optional will result is the StreamableResource to be not minimized.
    021     * @return Optional of the supposed compiler options, or empty to disable minimizer
    022     */
    023    Optional<CompilerOptions> providerOptions(StreamableResource resource);
    024}