Class ConfiguratorEntry

Object
AbstractPortletDto
ConfiguratorEntry
All Implemented Interfaces:
Serializable, Portlet, ComplexCalculationResult

public class ConfiguratorEntry extends AbstractPortletDto implements ComplexCalculationResult
This class is used to transport a configurator entry.

Example:


 def opts = ["Europe", "USA"]
 def configurationEntry = api.createConfiguratorEntry(InputType.OPTION, "Sales_Org_inline_01")
 def contextParameter = configurationEntry.getFirstInput()
 contextParameter.setValueOptions(opts)
 
Author:
cat
See Also:
  • Constructor Details

    • ConfiguratorEntry

      public ConfiguratorEntry()
      Creates an empty configurator entry object. Must be filled with input parameters by calling createParameter on the object. Example:
      
       def cStartDate = input.CStartDate
       def configurationEntry = api.createConfiguratorEntry().createParameter(startDate, {cStartDate})
       
  • Method Details

    • getInputs

      public List<ContextParameter> getInputs()
      Gets the list of context parameters.
      Returns:
      the list of context parameters, or null if no context parameters were previously added
    • getFirstInput

      public ContextParameter getFirstInput()
      Gets the first context parameter. Example:
      
       api.logInfo("fist input value",configuratorEntry.getFirstInput().getValue())
       
      Returns:
      the first context parameter, or null if no context parameter was previously added
    • setInputs

      public void setInputs(List<ContextParameter> inputs)
      Sets the list of context parameters.
      Parameters:
      inputs - a list of context parameters. Can be null.
      See Also:
    • getMessage

      public String getMessage()
      Gets the message.
      Returns:
      the message, or null if it was not set
    • setMessage

      public void setMessage(String message)
      Sets a message that will appear on top of the configuration entry. You may use HTML markup. Example:
      
       entry.setMessage("<BR /><Center><B><Font Size='3'>Competitor Price Information</Font></B></Center></BR/ >")
       
      Parameters:
      message - the text to display as message
    • setHiddenActions

      public void setHiddenActions(InputButtonAction... hiddenActions)
      Hides all or specified buttons from the pop-up Configurator.

      Example – hides all buttons:

      
       import net.pricefx.common.api.InputButtonAction
      
       def ce = api.createConfiguratorEntry()
       ce.setHiddenActions(InputButtonAction.ALL)
       return ce
       
      Parameters:
      hiddenActions - Specify the button you want to hide. See InputButtonAction for possible values.
      Since:
      6.1.0 - Vesper
      See Also:
    • getHiddenActions

      public List<InputButtonAction> getHiddenActions()
      Retrieves a list of hidden pop-up Configurator buttons.
      Returns:
      the list of hidden InputButtonAction
      Since:
      6.1.0 - Vesper
      See Also:
    • createParameter

      public ContextParameter createParameter(InputType type, String name)
      Creates a parameter and adds it to the list of inputs. The parameter will be created without target date. If the FormulaEngineContext is set and contains the parameter with the name, it will be used to set the value of the context parameter by retrieving a parameter from the context with the specified name. Example:
      
       Date targetDate = context == null? new Date() : context.getTargetDate();
       ContextParameter param = ce.createParameter(InputType.OPTION, "Customer_inline_01");
       
      Parameters:
      type - Input type of the parameter.
      name - Name of the parameter.
      Returns:
      the context parameter
    • createParameter

      public ContextParameter createParameter(InputType type, String name, Date targetDate)
      Creates a parameter and adds it to the list of inputs. If the FormulaEngineContext is set and contains the parameter with the name, it will be used to set the value of the context parameter by retrieving a parameter from the context with the specified name.
      Parameters:
      type - Input type of the parameter.
      name - Name of the parameter.
      targetDate - Target date for the input parameter (not applicable to all input types).
      Returns:
      the context parameter
      See Also:
    • createParameter

      public ConfiguratorEntry createParameter(ContextParameter input, Closure defaultValue)
      Creates a parameter and adds it to the list of inputs. If the FormulaEngineContext is set and contains the parameter with the name, it will be used to set the value of the context parameter by retrieving a parameter from the context with the specified name. If the FormulaEngineContext is not set, or no parameter that matches the name of the input is found in the context, then defaultValue from the closure will be used. Example:
      
       ContextParameter contextParameter = api.inputBuilderFactory()
                                              ... (other methods from the builder)
                                             .buildContextParameter()
       ConfiguratorEntry configuratorEntry = api.createConfiguratorEntry().createParameter(contextParameter, { "hop" })
       
      Parameters:
      input - the input element to add
      defaultValue - the value to be used if nothing is selected in the input
      Returns:
      this ConfiguratorEntry object instance
    • createParameter

      public ConfiguratorEntry createParameter(ContextParameter input)
      Creates a parameter and adds it to the list of inputs. If the FormulaEngineContext is set and contains the parameter with the name, it will be used to set the value of the context parameter by retrieving a parameter from the context with the specified name. Example:
      
       ContextParameter contextParameter = api.inputBuilderFactory()
                                              ... (other methods from the builder)
                                             .buildContextParameter()
       ConfiguratorEntry configuratorEntry = api.createConfiguratorEntry().createParameter(contextParameter)
       
      Parameters:
      input - the input element to add
      Returns:
      this ConfiguratorEntry object instance
    • addParameter

      @Deprecated public ConfiguratorEntry addParameter(ContextParameter input)
      Deprecated.
      Prefer createParameter(ContextParameter) that ensures the input value is initialised
      Adds a parameter to the list of parameters of this object without setting its value from the formula context. In general, it is prefered to directly use createParameter(ContextParameter). Example:
      
       ContextParameter contextParameter = api.inputBuilderFactory()
                                              ... (other methods from the builder)
                                             .buildContextParameter()
       ConfiguratorEntry configuratorEntry = api.createConfiguratorEntry().addParameter(contextParameter)
       
      Parameters:
      input - The ContextParameter to add (f.e an input)
      Returns:
      this ConfiguratorEntry object instance
    • getAdditionalConfig

      public Map<String,String> getAdditionalConfig()
      Gets the Map of additional configurations
      Returns:
      the additional config, or null, if nothing was set
    • setAdditionalConfig

      public void setAdditionalConfig(Map<String,String> additionalConfig)
      Sets all the additional configurations at once
      Parameters:
      additionalConfig - a map of additional configuration
      See Also:
    • addAdditionalConfigValue

      public void addAdditionalConfigValue(String name, String value)
      Sets an additional configuration pair.

      Example:

      
       def invoicePriceBoundaries = api.createConfiguratorEntry()
       invoicePriceBoundaries.addAdditionalConfigValue("groupLabel", "Business Rules")
       invoicePriceBoundaries.addAdditionalConfigValue("showInSectionsPanel", "true")
       
      Parameters:
      name - the name of the configuration key. Possible key names:
      • layout (enum)
      • - default: vertical
      • groupLabel (String)
      • recalculateParentEntityOnConfirm (Boolean) - default: false
      value - the value of the configuration key
    • getResultType

      public String getResultType()
      The CalculationResultType for this class.
      Specified by:
      getResultType in interface ComplexCalculationResult
      Returns:
      CONFIGURATORENTRY
    • setContext

      public void setContext(FormulaEngineContext ctx)
      Sets the FormulaEngineContext. It is use for retrieving values when creating parameters
      Parameters:
      ctx -
    • getObjectService

      public PersistedObjectService getObjectService()