Interface Parameters


  • public interface Parameters
    A String-keyed parameter map. The parameter mappings are defined by a synthetic component builder. The CDI container passes the parameter map to functions defined by the same synthetic component builder, whenever it needs to invoke those functions. That is: Parameter values are transferred from the builder to the Parameters-accepting function without a change. For example, if the builder defines an int parameter, it must be looked up as int and cannot be looked up as long.

    Values of primitive types may be looked up either using the primitive type (such as int.class), or using the corresponding wrapper type (Integer.class). The return value is always of the wrapper type, so that null can be returned when the parameter does not exist. Note that this does not apply to arrays of primitive types; an int[] cannot be looked up as Integer[]. This is because arrays are reference types and so null can be returned.

    Class-typed parameters are available as instances of Class, even if an instance of ClassInfo was passed to the builder.

    Annotation-typed parameters are available as instances of the annotation type, even if an instance of AnnotationInfo was passed to the builder.

    • Method Detail

      • get

        <T> T get​(String key,
                  Class<T> type)
        Returns the value of a parameter with given key. The value is expected to be of given type.
        Type Parameters:
        T - the parameter type
        Parameters:
        key - the parameter key; must not be null
        type - the parameter type; must not be null
        Returns:
        the parameter value, or null if parameter with given key does not exist
        Throws:
        ClassCastException - if the parameter exists, but is of a different type
      • get

        <T> T get​(String key,
                  Class<T> type,
                  T defaultValue)
        Returns the value of a parameter with given key. The value is expected to be of given type. If the parameter does not exist, returns defaultValue.
        Type Parameters:
        T - the parameter type
        Parameters:
        key - the parameter key; must not be null
        type - the parameter type; must not be null
        defaultValue - the value to return if parameter with given key does not exist
        Returns:
        the parameter value, or defaultValue if parameter with given key does not exist
        Throws:
        ClassCastException - if the parameter exists, but is of a different type