Whitelisted Objects/Classes

Instances of classes listed here can be used in calculation logics. If you use any other, you get the "Unexpected type" error message.

Any instance of a Java Enum is allowed generically (that's why enum types like ApprovalState or LookupTableType aren't repeated in the "General Type Objects" list below); their Class objects still need to be whitelisted separately (see "Classes") to allow static access such as MyEnum.CONST or MyEnum.values().

General Type Objects

  • ActionItemApi

  • ActionItemApi.ActionItemBuilder

  • AdaptiveHistogram

  • AttributedResult

  • BandByOptions

  • BitSet

  • Boolean

  • BoMTreeRecord

  • byte[]

  • Calendar

  • CalculationOutput

  • CalculationResult

  • Cartesian

  • CategoryIndexer

  • CategoryIndexer.Category

  • ChainedJobInfo

  • ChartOptions

  • ClaimContext

  • ClassifierResult

  • Closure

  • Clusterer

  • ClustererResult

  • Collection

  • com.google.common.collect.Iterables$

  • CompensationStructure

  • CompensationStructure.Item

  • ContextParameter

  • ContractStructure

  • ContractStructure.Item

  • CreationWorkflowDefinition

  • CreationWorkflowStepDefinition

  • CustomerGroup

  • CustomFormApi

  • CustomFormApi.CustomFormBuilder

  • CustomFormApi.DocumentActionApi

  • CustomFormApi.OperationsApi

  • CustomFormApi.RecalculateApi

  • CustomFormApi.UpdateApi

  • CustomFormApi.WorkflowActionApi

  • DatamartContext

  • DatamartContext.Calendar

  • DatamartContext.Column

  • DatamartContext.DataLoader

  • DatamartContext.Query

  • DatamartContext.SqlQuery

  • DatamartContext.Table

  • DatamartQueryResult

  • DatamartRowSet

  • DataProfilerResult

  • Date

  • DateTime

  • DateTime.Property

  • DateTimeFormatter

  • DateTimeZone

  • DecoratedResult

  • DistFormulaContext

  • DMCalendar.TimeDim

  • DMCalendar.TimePeriod

  • DMDataSlice

  • DmFilter

  • double[]

  • Duration

  • Enum

  • Exception

  • ExecRequest

  • Expression

  • Exprs

  • Filter

  • Future

  • GPathResult

  • Groups

  • Groups.GroupingSets

  • Groups.GroupingSetsBuilder

  • GStringImpl

  • int[]

  • IRebateRecordGroupManager

  • IRebateRecordManager

  • ISandboxAPI

  • ItemRecommendation

  • ItemSummaryQuery

  • Iterator

  • LibraryMethod

  • Locale

  • LocalDate

  • LocalTime

  • long[]

  • Map

  • Map.Entry

  • Matcher

  • MathContext

  • Matrix2D

  • ModelCalculationFormulaContext

  • ModelContext

  • ModelEvaluationFormulaContext

  • ModelEvaluator

  • ModelFilterTreesContextReadOnly

  • ModelFilterTreesContextReadOnly.FilterTree

  • ModelFilterTreesContextReadOnly.FilterTreeNode

  • ModelFilterTreesContextReadWrite.NodeSpec

  • ModelFormulaContext

  • ModelFormulaContext.TreeNode

  • ModelLookupTablesContextReadOnly

  • ModelLookupTablesContextReadOnly.ModelLookupTable

  • ModelParallelCalculationFormulaInitContext

  • ModelParallelCalculationFormulaItemContext

  • ModelParallelCalculationFormulaItemContext.CalculationItem

  • ModelParallelCalculationFormulaSummaryContext

  • ModelPMMLContext

  • ModelPMMLContext.PMMLEvaluator

  • ModelSchedulesContextReadOnly

  • ModelSchedulesContextReadOnly.ModelSchedule

  • ModelSchedulesContextReadWrite.NewScheduleBuilder

  • MultiKey

  • NaiveBayesClassifier

  • NearestNeighbours

  • NearestNeighboursResult

  • net.pricefx.server.util.metamodel.Query

  • net.pricefx.server.util.metamodel.Schema

  • Node

  • NotificationApi

  • Number

  • Object[]

  • Orders

  • Orders.Order

  • org.apache.metamodel.query.Query (and sibling classes in that package)

  • org.apache.metamodel.schema.Column

  • org.apache.metamodel.schema.Table

  • Pattern

  • PayoutRecordManager

  • PE

  • PE.CrossPE

  • Period

  • PipelineStage

  • PipelineStage.ResultStream

  • PipelineStage.ResultStream.ResultRow

  • Portlet

  • PriceElasticityCalculation

  • PriceElasticityCalculationResult

  • PricingPlanApi

  • PricingPlanApi.KpiBuilder

  • ProductGroup

  • ProductReferenceRecord

  • QueryApi

  • QuoteStructure

  • QuoteStructure.Item

  • Random

  • RContext

  • RebateAgreementStructure

  • RebateAgreementStructure.Item

  • Regression

  • RegressionResult

  • ResultChart.ControllerOptions

  • ResultCompensationRecord

  • ResultDashboard

  • ResultHighchart.ContextMenu

  • ResultHighchart.ContextMenuItem

  • ResultHighchart.OnPointClick

  • ResultHighchart.TriggerEvent

  • ResultMatrix.BackEndAction

  • ResultMatrix.Cell

  • ResultMatrix.OnRowSelection

  • ResultMatrix.OnRowSelection.TriggerEvent

  • REXP

  • ReviewByUserGroups

  • ReviewUserGroupsParallelSubStep

  • ReviewUserGroupsSequentialSubSteps

  • ReviewUserGroupSubStep

  • SandboxScriptBase

  • ScrollableResults

  • SellerGroup

  • SellerReference

  • SimpleDateFormat

  • SplicingOptions

  • StreamResults

  • String

  • StringBuffer

  • StringBuilder

  • SummaryCalculableObjectItem

  • SystemPortlet

  • TableContext

  • Tables

  • Tables.Columns

  • Tables.Table

  • TemporalUnit

  • TieredValue

  • TieredValue.Tier

  • TimeoutException

  • TreeClassifier

  • UUID

  • WindowFunction

  • WindowFunction.Frame

  • WindowFunction.Frame.Exclusion

  • WindowFunction.Frame.From

  • WindowFunction.Frame.To

  • WorkflowInfo

  • WorkflowStepInfo

  • WrappedResult

Input Builders

  • ButtonInputBuilder

  • CollapseInputBuilder

  • ConfigurationWizardPopupInputBuilder

  • ConfiguratorInputBuilder

  • ConfiguratorTableInputBuilder

  • CustomerInputBuilder

  • CustomFormCalculationProcessor

  • CustomFormListPopupInputBuilder

  • CustomFormPopupInputBuilder

  • DashboardInputsInputBuilder

  • DashboardPopupInputBuilder

  • DateRangeInputBuilder

  • DmFilterBuilder

  • DmFilterBuilderMultiple

  • DMFieldInputBuilder

  • DmQueryBuilderDimOptionBuilder

  • DmQueryBuilderInputBuilder

  • DmQueryFilterBuilderInputBuilder

  • DMSourceInputBuilder

  • FilterBuilderInputBuilder

  • InputBuilderFactory

  • InputMatrixInputBuilder

  • MultiTierInputBuilder

  • OptionInputBuilder

  • PCGroupInputBuilder

  • ProductInputBuilder

  • QapiFilterStageInputBuilder

  • RangeSliderInputBuilder

  • RowInputBuilder

  • SellerInputBuilder

  • SimpleInputBuilder

  • SliderInputBuilder

  • StringInputBuilder

  • TreeInputBuilder

  • VLookupBuilder

Workflow & Form Objects

In workflow logics, custom form logics, or in libraries:

  • DashboardExecution

  • FormActionApi

  • FormChange

  • FormInitApi

  • FormLayout

  • FormLayoutNode

  • FormValueOptionsApi

  • InsertWorkflowStepsDTO

  • ResultMatrixFilterBuilder

  • WorkflowDTO

  • WorkflowDTO.ApprovalStepDTO

  • WorkflowDTO.WatcherStepDTO

Domain Objects

Domain objects (Product, Customer, PriceRecord...) are converted into a map.

Classes

These classes are whitelisted, so that you can call static methods on them (e.g. MyClass.someStaticMethod() or referencing an enum constant).

  • ActionItem.ActionItemStatus

  • AggregateFunctionType

  • ApprovalState

  • ArrayList

  • BigDecimal

  • Boolean

  • Calendar

  • CalculationFlowTimeUnit

  • CalculationResultType

  • CalculationStatus

  • ChainedJobInfo

  • CheckedStrategy

  • ClaimLineItem.ValidationState

  • ClaimStatus

  • Closure

  • CompensationRecordStatus

  • CompensationStatus

  • CompensationStructure

  • ConfiguratorEntry

  • ConfiguratorEntryArray

  • ContractStructure

  • CRStatus

  • CustomerGroup

  • CustomFormStatus

  • DataType

  • Date

  • DateRangeInputBuilder.Period

  • DateTime

  • DateTimeFormatter

  • DateTimeZone

  • DmFilter

  • DMCalendar

  • DMDataSlice

  • DMFieldInputBuilder.FieldKind

  • net.pricefx.domain.util.DateTime (a different class from Joda's DateTime, above)

  • Duration

  • ExecRequestImpl

  • FieldFormatType

  • FieldType

  • Filter

  • InputButtonAction

  • InputType

  • InputWidth

  • Integer

  • ItemRecommendation

  • JobStatusTracker.TrackerStatus

  • JobStatusTracker.TrackerType

  • LinkedHashMap

  • LinkedHashSet

  • LocalDate

  • LocalDateTime

  • Locale

  • LocalTime

  • LookupTableType

  • LookupTableValueType

  • Math

  • Matrix2D

  • MatrixableCalculableObject.ListType

  • ModelFilterTreesContextReadWrite.NodeSpec

  • ModelParallelCalculationFormulaSummaryContext.CalculationItem.Status

  • ModelSchedulesContextReadOnly.PeriodUnit

  • Node

  • OperatorType (org.apache.metamodel.query.OperatorType)

  • Pattern

  • Period

  • PriceFxException

  • ProductBoMEntry.EntryType

  • ProductGroup

  • QapiDatamart.Options

  • QuoteStructure

  • RangeSliderInputBuilder.FormatType

  • RebateAgreementStatus

  • RebateAgreementStructure

  • RebateRecordStatus

  • ResultMatrix

  • RoundingMode

  • SellerGroup

  • SimpleDateFormat

  • String

  • StringBuffer

  • StringBuilder

  • SystemPortlet

  • TieredValue

  • TieredValueSortType

  • TieredValueValidationType

  • TimedObjectStatus

  • TimeoutException

  • TimePeriod

  • TimeUnit

  • UUID

  • Workflow.WorkflowStatus

Additionally, any class recognized by Pricefx's internal BuilderExtensions helper (covers various builder classes dynamically rather than by a fixed list) is also allowed.

Special Cases

These types are allowed and are subject to some other internal processing.

  • ChartBuilderResult

  • DMField (converted to a map)

  • FormulaElementResult (converted to a map)

  • JsonNode (Jackson node, converted via the JSON mapper)

  • LocalDateTime (converted to a java.util.Date)


See also: Groovy Sandbox