<ExpressionTypes.h> - Collection of Expression Enums

Collection of Expression enumerations. More...

Header: #include <ExpressionTypes.h>

Types

enum class ArcadeExpressionReturnType { Automatic, Number, String, Dictionary, Any, Boolean }
enum class ArcadeProfile { Restricted, Unrestricted, Alias, AttributeRuleCalculation, AttributeRuleConstraint, …, QuickCapture }

Detailed Description

Type Documentation

[since Esri::ArcGISRuntime 100.11] enum class ArcadeExpressionReturnType

The expected type of the result calculated by an expression described within an ArcadeExpression.

The ArcadeExpressionReturnType can be one of:

ConstantValueDescription
ArcadeExpressionReturnType::Automatic0The return type of the expression will be automatically determined based on the script calculation. The return type is determined by the return value of the script. Different paths through the script might result in different result types. For example, depending on input values, it might return a number, a string, a date or an array.
ArcadeExpressionReturnType::Number1The return type is expected to be a floating-point number.
ArcadeExpressionReturnType::String2The return type is expected to be a string.
ArcadeExpressionReturnType::Dictionary3The return type is expected to be a dictionary of key/value pairs.
ArcadeExpressionReturnType::Any4The return type is expected to be any of the other ArcadeExpressionReturnType types. 'Any' implies that the application evaluating the expression will need to check the result for its type and use the value appropriately.
ArcadeExpressionReturnType::Boolean5The return type is expected to be a boolean value of true or false.

This enum was introduced or modified in Esri::ArcGISRuntime 100.11.

[since Esri::ArcGISRuntime 100.14] enum class ArcadeProfile

The execution context a script will run under.

The Arcade profile specifies the context under which a script should be executed. This allows the script writer to program against a set of known profile variables and functionality restrictions that are appropriate for their use case. This includes the set of expected return types.

Usage of restricted functionality (e.g. FeatureSets) while working in the labeling profile results in an error. Often the restrictions are applied due to performance considerations.

Currently this API does not check the required profile variables are present for evaluation within a certain profile, nor does it check the return type is the expected type. We provide ArcadeEvaluationResult::castTo(ArcadeExpressionReturnType) function to convert the type of the evaluation result using Arcade casting rules.

The ArcadeProfile can be one of:

ConstantValueDescription
ArcadeProfile::Restricted0Usage of any optional feature is blocked. Prefer this as your default.
ArcadeProfile::Unrestricted1All optional functionality is allowed. The default profile due to compatibility reasons, prefer ArcadeProfile.restricted as default.
ArcadeProfile::Alias2Alias profile. Alias profile functionality restrictions apply, only Alias profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::AttributeRuleCalculation3Attribute Rule Calculation profile. Attribute Rule Calculation profile functionality restrictions apply, only Attribute Rule Calculation profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::AttributeRuleConstraint4Attribute Rule Constraint profile. Attribute Rule Constraint profile functionality restrictions apply, only Attribute Rule Constraint profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::AttributeRuleValidation5Attribute Rule Validation profile. Attribute Rule profile functionality restrictions apply, only Attribute Rule profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Constraint6Constraint profile. Constraint profile functionality restrictions apply, only Constraint profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::DashboardFormatting7Dashboard Formatting profile. Dashboard Formatting profile functionality restrictions apply, only Dashboard Formatting profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::DashboardData8Dashboard Data profile. Dashboard Data profile functionality restrictions apply, only Dashboard Data profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::DictionaryRenderer9Dictionary Renderer profile. Dictionary Renderer profile functionality restrictions apply, only Dictionary Renderer profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::FeatureZ10Feature Z profile. Feature Z profile functionality restrictions apply, only Feature Z profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::FieldCalculation11Field Calculation profile. Field Calculation profile functionality restrictions apply, only Field Calculation profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::FieldMapping12Field Mapping profile. Field Mapping profile functionality restrictions apply, only Field Mapping profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Geoanalytics13Geoanalytics profile. Geoanalytics profile functionality restrictions apply, only Geoanalytics profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Labeling14Labeling profile. Labeling profile functionality restrictions apply, only Labeling profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Layout15Layout profile. Layout profile functionality restrictions apply, only Layout profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::MeasureVisualization16Measure Visualization profile. Measure Visualization profile functionality restrictions apply, only Measure Visualization profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Popup17Popup profile. Popup functionality profile restrictions apply, only Popup profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Velocity18Velocity profile. Velocity profile functionality restrictions apply, only Velocity profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Visualization19Visualization profile. Visualization profile functionality restrictions apply, only Visualization profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::GeotriggerNotification20Geotrigger Notification profile. Geotrigger Notification profile functionality restrictions apply, only Geotrigger Notification profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::FormCalculation21Form Calculation profile. Form Calculation profile functionality restrictions apply, only Form Calculation profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::Task22Task profile. Task profile functionality restrictions apply, only Task profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::PopupElement23Popup Element profile. Popup Element profile functionality restrictions apply, only Popup Element profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::LocationUpdateConstraint24Location Update Constraint profile. Location Update Constraint profile functionality restrictions apply, only Location Update Constraint profile variables should be made available. See Arcade profile documentation.
ArcadeProfile::QuickCapture25Quick Capture profile. Quick Capture functionality restrictions apply, only Quick Capture variables should be made available. See Arcade profile documentation.

This enum was introduced or modified in Esri::ArcGISRuntime 100.14.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.