THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
/** * Interface for classes that take parameters. It provides APIs to set and get parameters. * * @param <T> The class type of WithParams implementation itself. */ @PublicEvolving public interface WithParams<T> { /** Gets a param by name. */ default <V> Param<V> getParam(String name) {...} /** * Sets the value of the given parameter in the user-defined map. * * @param param the parameter * @param value the value * @return the WithParams instance itself */ default <V> T set(Param<V> param, V value) {...} /** * Gets the value of the given parameter. Returns the value from the user-defined map if set(...) has been * explicitly called to set value for this parameter. Otherwise, returns the default value from the definition of * this parameter. * * @param param the parameter * @param <V> the type of the parameter * @return the value of the parameter */ default <V> V get(Param<V> param) {...} /** * Returns an immutable map that contains value for every parameter that meets one of the following conditions: * 1) set(...) has been called to set value for this parameter. * 2) The parameter is a public field of this WithParams instance. This includes public, protected and private fields. And * this also includes fields inherited from its interfaces and super-classes. * * @return an immutable map of parameters and values. */ default Map<Param<?>, Object> getParamMap() {...} /** * A subclass of this interface should override this method to provide a mutable map that can be used to store * parameter values. * * @return a mutable map from param to param value. */ Map<Param<?>, Object> getUserDefinedParamMap(); } |
...