/** * Binds a list to a specific optional/required Param using ConfigurationModule. * * @param opt target optional/required Param * @param implList List object to be injected * @param <T> type * @return the Configuration module */ public final <T> ConfigurationModule set(final Param<List> opt, final List implList) { final ConfigurationModule c = deepCopy(); c.processSet(opt); c.setParamLists.put(opt, implList); return c; }
/** * Binds a list to a specific optional/required Impl using ConfigurationModule. * * @param opt Target optional/required Impl * @param implList List object to be injected * @param <T> a type * @return the configuration module */ public final <T> ConfigurationModule set(final Impl<List> opt, final List implList) { final ConfigurationModule c = deepCopy(); c.processSet(opt); c.setImplLists.put(opt, implList); return c; }
/** * Binds a set of values to a Param using ConfigurationModule. * * @param opt Target Param * @param values Values to bind to the Param * @param <T> type * @return the Configuration module */ public final <T> ConfigurationModule setMultiple(final Param<T> opt, final String... values) { ConfigurationModule c = deepCopy(); for (final String val : values) { c = c.set(opt, val); } return c; }
/** * Binds a set of values to a Param using ConfigurationModule. * * @param opt Target Param * @param values Values to bind to the Param * @param <T> type * @return the Configuration module */ public final <T> ConfigurationModule setMultiple(final Param<T> opt, final Iterable<String> values) { ConfigurationModule c = deepCopy(); for (final String val : values) { c = c.set(opt, val); } return c; }
public final <T> ConfigurationModule set(final Param<T> opt, final String val) { final ConfigurationModule c = deepCopy(); c.processSet(opt); if (c.builder.setOpts.contains(opt)) { c.setParamSets.put(opt, val); } else { c.setParams.put(opt, val); } return c; }
public final <T> ConfigurationModule set(final Impl<T> opt, final Class<? extends T> impl) { final ConfigurationModule c = deepCopy(); c.processSet(opt); if (c.builder.setOpts.contains(opt)) { c.setImplSets.put(opt, impl); } else { c.setImpls.put(opt, impl); } return c; }
public final <T> ConfigurationModule set(final Impl<T> opt, final String impl) { final ConfigurationModule c = deepCopy(); c.processSet(opt); if (c.builder.setOpts.contains(opt)) { c.setLateImplSets.put(opt, impl); } else { c.setLateImpls.put(opt, impl); } return c; }
@SuppressWarnings({"unchecked", "rawtypes"}) public Configuration build() throws BindException { final ConfigurationModule c = deepCopy();