Class ContextParameter

  • All Implemented Interfaces:
    Serializable

    public class ContextParameter
    extends Object
    implements Serializable
    This class represents the input parameter, the input field. So you can use it to set its label, default value, if required, etc.
    See Also:
    Serialized Form
    • Constructor Detail

      • ContextParameter

        public ContextParameter()
      • ContextParameter

        public ContextParameter​(InputType type,
                                String name,
                                Date targetDate,
                                PersistedObjectService objService)
      • ContextParameter

        public ContextParameter​(LookupTable lt,
                                Date targetDate)
      • ContextParameter

        public ContextParameter​(LookupTable lt,
                                Date targetDate,
                                String defaultValue)
      • ContextParameter

        public ContextParameter​(String name,
                                DMFieldCollection fc,
                                String field,
                                String defaultValue)
    • Method Detail

      • updateFromFormulaInputDescriptor

        public void updateFromFormulaInputDescriptor​(FormulaInputDescriptor fid)
      • addParameterConfigEntry

        public void addParameterConfigEntry​(String key,
                                            Object value)
      • updateWithLookupTable

        public void updateWithLookupTable​(LookupTable lt)
        This is a convenience method to update a ContextParameter with a new version of the same lookup table This can happen e.g. if a quote is worked on a while and passes a validity date border or an old quote is copied
        Parameters:
        lt -
      • isLookupType

        public boolean isLookupType()
      • isCustomerParam

        public final boolean isCustomerParam()
      • isProductParam

        public final boolean isProductParam()
      • isProductGroupParam

        public final boolean isProductGroupParam()
      • isMatrixParam

        public final boolean isMatrixParam()
      • isOptionParam

        public final boolean isOptionParam()
      • isOptionsParam

        public final boolean isOptionsParam()
      • isHiddenParam

        public final boolean isHiddenParam()
      • isRequired

        public Boolean isRequired()
      • setRequired

        public ContextParameter setRequired​(Boolean required)
        Sets, if it's mandatory for the input parameter to have a value. The value can be either entered by user or a default value. If the input value is required, but not provided, then it's usually somehow expressed on the screen (usually exclamation mark).

        In case of Quote, all required fields must be populated, otherwise you cannot submit the Quote for approval.

        Parameters:
        required - If the input value will be required or not.
      • getName

        public String getName()
      • getLabel

        public String getLabel()
      • setLabel

        public ContextParameter setLabel​(String label)
        Sets the label of the input parameter to the given text.
        Parameters:
        label - The text to be displayed as label of the input field.
      • getLabelTranslations

        public String getLabelTranslations()
      • getParameterGroup

        public String getParameterGroup()
      • setParameterGroup

        public ContextParameter setParameterGroup​(String parameterGroup)
        Allows you to create collapsible sections that organize inputs in the UI. You can assign parameterGroup to each parameter and they will get categorized. The order of parameter groups (sections) is based on the order in which they are "created" (declared) when the logic is executed. There is one default group for all those that do not have parameterGroup assigned.

        This is supported for Quotes, Contracts and Rebate Agreements (not for Configurators).

      • getURL

        public String getURL()
      • getType

        public String getType()
      • getInputType

        public InputType getInputType()
      • getValueHint

        public String getValueHint()
      • getValueOptions

        public String[] getValueOptions()
      • setValueOptions

        public ContextParameter setValueOptions​(String[] valueOptions)
        Sets list of options used in the dropdown input field. This works only for input parameters created via api.option() and api.options()

        Example:

         api.option("Country")
         // ...
         api.getParameter("Country").setValueOptions(["USA", "DE"])
         
        Parameters:
        valueOptions -
      • getLookupTableId

        public String getLookupTableId()
      • getValue

        public Object getValue()
      • setValue

        public ContextParameter setValue​(Object value)
        Set initial/default value of the input parameter.

        Important: this makes sense only during the SyntaxCheck execution mode. You cannot set the initial value of input field later during regular execution.

        Parameters:
        value -
      • getReadOnly

        public Boolean getReadOnly()
      • setConfigParameter

        public ContextParameter setConfigParameter​(String paramName,
                                                   Object value)
        Adds additional configuration parameter/option to the input. These options modifies, how the input field behaves.

        You can use following paramName and their values

        • inputType - e.g. "range", ...
        • formatType - e.g. "PERCENT" (the input will be formatted with % sign and the value returned will be 0..1 instead of 0..100), ...
        • from - the minimum value of the allowed value range. Works only for inputType "range".
        • to - the maximum value of the allowed value range. Works only for inputType "range".
        • labels - labels to be used for the options, e.g. ["USA":"United States of America, "DE":"Germany]
        Parameters:
        paramName -
        value -
        Returns:
        See Also:
        addParameterConfigEntry(String, Object)
      • clearConfigParameter

        public void clearConfigParameter​(String paramName)
      • getFormattingOptions

        public Map<String,​Object> getFormattingOptions()
      • setFormattingOptions

        public void setFormattingOptions​(Map<String,​Object> formattingOptions)
      • getAddUnknownValues

        public Boolean getAddUnknownValues()
      • getTypedId

        public String getTypedId()
      • getAlwaysEditable

        public Boolean getAlwaysEditable()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getObjectService

        public PersistedObjectService getObjectService()