package ru.vyarus.dropwizard.guice.module.installer.option; import ru.vyarus.dropwizard.guice.module.context.option.Option; import ru.vyarus.dropwizard.guice.module.context.option.Options; /** * Base class implementing options support for installers. May be used instead of directly implementing * {@link WithOptions}. * * @author Vyacheslav Rusakov * @since 20.08.2016 */ public abstract class InstallerOptionsSupport implements WithOptions { private Options options; @Override public void setOptions(final Options options) { this.options = options; } /** * @param option option enum * @param <V> option value type * @param <T> helper type to define option * @return assigned option value or default value * @see Option for more info about options * @see Options#get(java.lang.Enum) for details * @see ru.vyarus.dropwizard.guice.GuiceyOptions for options example */ protected <V, T extends Enum & Option> V option(final T option) { return options.get(option); } }