Class ContextParameter
- Object
-
- 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 Summary
Constructors Constructor Description ContextParameter()
ContextParameter(String name, DMFieldCollection fc, String field, String defaultValue)
ContextParameter(InputType type, String name, Object value)
ContextParameter(InputType type, String name, Date targetDate, PersistedObjectService objService)
ContextParameter(LookupTable lt, Date targetDate)
ContextParameter(LookupTable lt, Date targetDate, String defaultValue)
-
Method Summary
-
-
-
Method Detail
-
updateFromFormulaInputDescriptor
public void updateFromFormulaInputDescriptor(FormulaInputDescriptor fid)
-
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()
-
setLabelTranslationsFromMap
public ContextParameter setLabelTranslationsFromMap(Map<String,String> translations)
-
setLabelTranslations
public ContextParameter setLabelTranslations(String labelTranslations)
-
setFilter
public ContextParameter setFilter(Map<String,Object> filter)
-
setFilters
public ContextParameter setFilters(Filter... filters)
-
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()
-
setURL
public ContextParameter setURL(String url)
-
getType
public String getType()
-
getInputType
public InputType getInputType()
-
applyType
public ContextParameter applyType(InputType inputType)
-
getValueHint
public String getValueHint()
-
setValueHint
public ContextParameter setValueHint(String hint)
-
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 viaapi.option()
andapi.options()
Example:
api.option("Country") // ... api.getParameter("Country").setValueOptions(["USA", "DE"])
- Parameters:
valueOptions
-
-
setValueOptions
public ContextParameter setValueOptions(List<String> 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()
-
setReadOnly
public ContextParameter setReadOnly(Boolean readOnly)
-
setParameterConfig
public ContextParameter setParameterConfig(Map<String,Object> parameterConfig)
-
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)
-
setFormattingOption
public ContextParameter setFormattingOption(String optionName, Object value)
-
getAddUnknownValues
public Boolean getAddUnknownValues()
-
setAddUnknownValues
public ContextParameter setAddUnknownValues(Boolean addUnknownValues)
-
getTypedId
public String getTypedId()
-
setTypedId
public ContextParameter setTypedId(String typedId)
-
getAlwaysEditable
public Boolean getAlwaysEditable()
-
setAlwaysEditable
public ContextParameter setAlwaysEditable(Boolean alwaysEditable)
-
addInput
public void addInput(ContextParameter contextParameter)
Adds a nested input. This input can be of any type. This is intended to be used when the parent input is of type @link InputType#ROW} or typeInputType.COLLAPSE
. Depending on the parent type, it is also expected that the added input will have a flex attribute.- Parameters:
contextParameter
- the input to add
-
getInputs
public List<ContextParameter> getInputs()
-
copyWithoutValue
public ContextParameter copyWithoutValue()
-
update
public void update(ContextParameter cp)
-
getObjectService
public PersistedObjectService getObjectService()
-
-