ODSL Types Reference
ODSL Variable Types Reference
This document provides detailed documentation for all built-in variable types in OpenDataDSL.
Scalar
Description: A scalar is a single value of either string, boolean (true/false) or numeric
Construction:
Properties:
links- Gets linked items
Methods:
isZero()- Checks to see if the value is zero - returns: BooleansetPrecisionScale(scale)- Set the number of decimal places to round to - returns: Scalarscale(Integer) - The number of decimal places to round to
setPrecisionRoundingMode(mode)- Set the rounding mode for numbers - returns: Scalarmode(String) - The rounding mode for numbers, can be one of: [UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, UNNECESSARY]
isMissing()- Checks to see if the value is null or missing - returns: Booleanadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Date
Description: A date variable is a representation of a Date or a Date and Time in the UTC timezone
Construction:
Date(date, format)
Date(date)
Date()
Properties:
timezone- The timezone of this dateyear- Get the yearhour- Get the hour of the day from 0 to 23minute- Get the minute of the hour from 0 to 59second- Get the second of the minute from 0 to 59week- Get the week of the yearmonth- Get the month of the year from 1 to 12millis- in millisday- Get the day of the monthhourlyTenor- Get the absolute hourly tenor from this datehalfHourlyTenor- Get the absolute half hourly tenor from this datedow- Get the name of the day of the week, e.g. MondayiSOYear- Get the ISO week based yearquarter- Get the quarterweekOfMonth- Get the week of the yearmonthName- Get the name of the month, e.g. JANUARYquarterHourlyTenor- Get the absolute quarter hourly tenor from this datelinks- Gets linked items
Methods:
next(Calendar)- Returns a new Date as the next day after this one using the supplied calendar - returns: VoidCalendar(Calendar or Scalar) - The calendar to calculate the next day
next()- Returns a new Date as the next calendar day after this one - returns: Voidprevious()- Returns a new Date as the previous calendar day before this one - returns: Voidprevious(Calendar)- Returns a new Date as the previous day before this one using the supplied calendar - returns: VoidCalendar(Calendar or Scalar) - The calendar to calculate the previous day
dayOfMonth(day, Calendar)- Returns a new Date as the specific day of the month using the supplied calendar - returns: Voidday(Integer) - The day of the month to useCalendar(Calendar or Scalar) - The calendar used, if the day of the month is a holiday, the following non-holiday is used
dayOfMonth(day)- Returns a new Date as the specific day of the month - returns: Voidday(Integer) - The day of the month to use
isAfter(other)- Returns true if this date is after the supplied date - returns: Voidother(Date) - The date to compare against
isBefore(other)- Returns true if this date is before the supplied date - returns: Voidother(Date) - The date to compare against
endOfMonth(Calendar)- Returns a new Date as the end of the month using the supplied calendar - returns: VoidCalendar(Calendar or Scalar) - The calendar to calculate the end of the month
endOfMonth()- Returns a new Date as the end of the month - returns: VoidstartOfMonth()- Returns a new Date as the start of the month - returns: VoidstartOfMonth(Calendar)- Returns a new Date as the start of the month using the supplied calendar - returns: VoidCalendar(Calendar or Scalar) - The calendar to calculate the start of the month
endOfDay()- Returns a new Date as the end of the day - returns: VoidisHoliday(Calendar)- Returns true if this date is a holiday using the supplied calendar - returns: VoidCalendar(Calendar or Scalar) - The calendar to calculate the holiday
inTimezone(timezone)- Returns this date/time in the supplied timezone - returns: Voidtimezone(String id of timezone) - The timezone to convert this date to
startOfDay()- Returns a new Date as the start of the day - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Duration
Description: A duration variable represents a period of time such as 3 days or 4 and a half minutes in ISO 8601 duration format
Construction:
Duration(dur)
Duration(dur, calendar)
Properties:
seconds- Get the number of seconds in this durationyears- Get the number of years in this durationmonths- Get the number of months in this durationdays- Get the number of days in this durationhours- Get the number of hours in this durationminutes- Get the number of minutes in this durationdurationCalendar- Get a calendar representing this durationlinks- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Secret
Description: A secret is a scalar whose value cannot be printed or logged, it only really is useful when used with the Secret Service where secrets can be stored and then retrieved by scripts or workflows. Usually secrets are used to store passwords and database connection information etc.
Construction:
Secret(value)
Properties:
notBefore- Optionally set a date for this secret to start fromexpires- Optionally set a date for this secret to expireenabled- Set this to true to enable this secret, false to diable itid- Get the name of the secretlinks- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: secret
Object
Description: An object is a very versatile variable type that allows you to add any other variables to it including Object variable types. This creates a dynamic JSON type structure
Construction:
Object(type)
Object()
Properties:
access- Get the name of the access data role for this objectversion- The version informationlinks- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: object
SimpleObject
Description: A simplified object which represents a pure JSON object
Construction:
SimpleObject()
Properties:
links- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Calendar
Description: A calendar variable type represents an ODSL Calendar. It is used with timeseries, curves and other time-bound resources
Construction:
Calendar(code)
Properties:
name- Get the name of the underlying ODSL Calendarrules- Get the rules for this Calendarcode- Get the code of the underlying ODSL Calendartimezone- Get the timezone of the Calendar - only supported on Intraday calendarssetUseHolidays- Tells this intraday calendar to use holidays as full days, i.e. for off-peak calendarsversion- The version informationlinks- Gets linked items
Methods:
next(date)- Gets the next date after the supplied date - returns: Datedate(Date) - The date to use
previous(date)- Gets the previous date before the supplied date - returns: Datedate(Date) - The date to use
addDays(date, days)- Adds the supplied number of days to the supplied date and returns the new date - returns: Datedate(Date) - The date to usedays(Integer) - The number of days to add (can also be negative)
addRule(rule)- Add a holiday rule if this is a holiday calendar - returns: Voidrule(String) - The holiday rule
getHolidaysForYear(year)- Gets a list of holiday dates for the year specified from this calendar - returns: Listyear(Scalar) - year to get holiday dates
includes(date)- Tests to see if the supplied date aligns with this calendar - returns: Booleandate(Date) - The date to check
getNextNonWorkingDay(start)- Returns the next non-working day after the supplied date - returns: Voidstart(Date) - The start date to use
getDatesFrom(start, number)- Gets number+1 list of dates from the supplied start date - returns: Liststart(Date) - The start date for the range of datesnumber(Date) - The number of indexes from the start date to retrieve
getNextWorkingDay(start)- Returns the next working day after the supplied date - returns: Voidstart(Date) - The start date to use
getDates(start, end)- Gets a list of dates from this calendar for the supplied date range - returns: Liststart(Date) - The start date for the range of datesend(Date) - The end date for the range of dates
getLastWorkingDay(start)- Returns the last working day of the week after the supplied date - returns: Voidstart(Date) - The start date to use
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: calendar
ExpiryCalendar
Description: An expiry calendar variable type represents an Expiry Calendar which is a special type of calendar that uses rules to calculate when trading stops for a future price for a particular commodity
Construction:
ExpiryCalendar(code)
ExpiryCalendar(holiday)
ExpiryCalendar(holiday, delivery)
Properties:
name- Get the name of the underlying ODSL Calendarversion- The version informationlinks- Gets linked items
Methods:
addRule(rule)- Adds an expiry rule to this expiry calendar - returns: Voidrule(Scalar(String)) - The rule to add
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: expiry
TimeSeries
Description: Time-indexes data series with associated calendar
Construction:
TimeSeries(calendar, dataType)
TimeSeries(calendar)
TimeSeries(start, Calendar, value)
TimeSeries(start, Calendar, value, dataType)
TimeSeries(start, end, Calendar, value, dataType)
TimeSeries(start, Calendar, intervalPositions, value, dataType, positionCalendar)
Properties:
name- The name of the timeseriesstart- The starting date/time of the timeseriescalendar- The calendar that this timeseries usesvalueType- The value type of the timeseries (TRACKED or BASIC)observed- The observed setting of the timeseries used for aggregatingprecision- The precision configuration for this timeseriessource- The source of this timeseriesunits- The ISO units of this timeseriescurrency- The ISO currency of this timeseriesvalues- The list of time observations for this timeseries, returned as a list of TimeValuestimezone- The timezone of this timeseries, defaults to UTClocalValues- The list of time observations for this timeseries, returned as a list of TimeValues in the local timezone of this TimeSeriesobservations- The list of values for this timeseries, returned as a list of Varstenor- The tenor of this timeseriesobserved- How the data was measured, can be beginning, end, summed, averaged, high or lowdescription- The description of this timeseriesversion- The version informationlinks- Gets linked items
Methods:
add(start, values)- Adds an array of values to the timeseries - returns: Voidstart(Date) - The start date/time of the values to addvalues(Array) - The values to add
add(index, value, status)- Adds a new value to the timeseries - returns: Voidindex(Date) - The date/time of the value to addvalue(Any) - The value to addstatus(String or array) - The status of the value to add
add(index, value)- Adds a new value to the timeseries - returns: Voidindex(Date) - The date/time of the value to addvalue(Any) - The value or values to add
add(other)- Adds a timeseries to this timeseries, each value of the passed in timeseries is applied to this - returns: Voidother(TimeSeries) - The other timeseries to add to this
convert(currency, units)- Convert this timeseries using currency and units - returns: Voidcurrency(String) - The currency to convert tounits(String) - The units to convert to
last(n)- Creates a new TimeSeries using the last n values from this TimeSeries - returns: Voidn(Integer) - The number of observations to extract
from(start)- Creates a new TimeSeries from a specified start date - returns: Voidstart(Date) - The start date for the new Timeseries
range(start, end)- Creates a new TimeSeries from a range of values from this TimeSeries - returns: Voidstart(Date) - The date/time of the start of the range to extractend(Date) - The date/time of the end of the range to extract
getLast(date)- Get the value at the supplied date or the latest value before that date - returns: Vardate(Date) - The index date to use
addValue(value)- Adds a new value to the end of the timeseries using the calendar - returns: Voidvalue(Scalar) - The value or values to add
getLastNValues(n)- Returns a list of the last N values from this TimeSeries - returns: Voidn(Integer) - The number of observations to return, must be 1 or greater
addCheck(check)- Add a quality check directly to this Timeseries - returns: Voidcheck(String) - The text for the check, e.g. 'missing'
withRange(start, end)- Changes this timeseries to match the provided date range - returns: Voidstart(Date) - The date/time of the start of the range to extractend(Date) - The date/time of the end of the range to extract
applyPrecision()- Apply the precision defined to all the observations of this timeseries - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
SmartTimeSeries
Description: A Smart TimeSeries is an expression that is used to build TimeSeries on demand
Construction:
SmartTimeSeries(expression)
SmartTimeSeries(start, calendar, expression)
SmartTimeSeries(base, expression)
Properties:
source- The source of this timeseriesunits- The ISO units of this timeseriescurrency- The ISO currency of this timeseriesvalues- The list of time observations for this timeseries, returned as a list of TimeValuestimezone- The timezone of this timeseries, defaults to UTClocalValues- The list of time observations for this timeseries, returned as a list of TimeValues in the local timezone of this TimeSeriesobservations- The list of values for this timeseries, returned as a list of Varstenor- The tenor of this timeseriesobserved- How the data was measured, can be beginning, end, summed, averaged, high or lowdescription- The description of this timeseriesversion- The version informationlinks- Gets linked items
Methods:
build()- Builds this Smart TimeSeries - returns: TimeSeriesadd(start, values)- Adds an array of values to the timeseries - returns: Voidstart(Date) - The start date/time of the values to addvalues(Array) - The values to add
add(index, value, status)- Adds a new value to the timeseries - returns: Voidindex(Date) - The date/time of the value to addvalue(Any) - The value to addstatus(String or array) - The status of the value to add
add(index, value)- Adds a new value to the timeseries - returns: Voidindex(Date) - The date/time of the value to addvalue(Any) - The value or values to add
add(other)- Adds a timeseries to this timeseries, each value of the passed in timeseries is applied to this - returns: Voidother(TimeSeries) - The other timeseries to add to this
convert(currency, units)- Convert this timeseries using currency and units - returns: Voidcurrency(String) - The currency to convert tounits(String) - The units to convert to
last(n)- Creates a new TimeSeries using the last n values from this TimeSeries - returns: Voidn(Integer) - The number of observations to extract
from(start)- Creates a new TimeSeries from a specified start date - returns: Voidstart(Date) - The start date for the new Timeseries
range(start, end)- Creates a new TimeSeries from a range of values from this TimeSeries - returns: Voidstart(Date) - The date/time of the start of the range to extractend(Date) - The date/time of the end of the range to extract
getLast(date)- Get the value at the supplied date or the latest value before that date - returns: Vardate(Date) - The index date to use
addValue(value)- Adds a new value to the end of the timeseries using the calendar - returns: Voidvalue(Scalar) - The value or values to add
getLastNValues(n)- Returns a list of the last N values from this TimeSeries - returns: Voidn(Integer) - The number of observations to return, must be 1 or greater
addCheck(check)- Add a quality check directly to this Timeseries - returns: Voidcheck(String) - The text for the check, e.g. 'missing'
withRange(start, end)- Changes this timeseries to match the provided date range - returns: Voidstart(Date) - The date/time of the start of the range to extractend(Date) - The date/time of the end of the range to extract
applyPrecision()- Apply the precision defined to all the observations of this timeseries - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
EventTimeSeries
Description: A TimeSeries that is dynamically built from events
Construction:
EventTimeSeries(eventlist, property)
Properties:
event- The name of the eventlist that this TimeSeries uses (in the form objectId:eventListId)property- The name of the property in the event that this TimeSeries uses as the valuefilter- Optional filter used to filter the events used to build this TimeSeriesindex- Optional date field to use for the index used to build this TimeSeries, defaults to startsource- The source of this timeseriesunits- The ISO units of this timeseriescurrency- The ISO currency of this timeseriesvalues- The list of time observations for this timeseries, returned as a list of TimeValuestimezone- The timezone of this timeseries, defaults to UTClocalValues- The list of time observations for this timeseries, returned as a list of TimeValues in the local timezone of this TimeSeriesobservations- The list of values for this timeseries, returned as a list of Varstenor- The tenor of this timeseriesobserved- How the data was measured, can be beginning, end, summed, averaged, high or lowdescription- The description of this timeseriesversion- The version informationlinks- Gets linked items
Methods:
build()- Builds this Event TimeSeries - returns: TimeSeriesadd(start, values)- Adds an array of values to the timeseries - returns: Voidstart(Date) - The start date/time of the values to addvalues(Array) - The values to add
add(index, value, status)- Adds a new value to the timeseries - returns: Voidindex(Date) - The date/time of the value to addvalue(Any) - The value to addstatus(String or array) - The status of the value to add
add(index, value)- Adds a new value to the timeseries - returns: Voidindex(Date) - The date/time of the value to addvalue(Any) - The value or values to add
add(other)- Adds a timeseries to this timeseries, each value of the passed in timeseries is applied to this - returns: Voidother(TimeSeries) - The other timeseries to add to this
convert(currency, units)- Convert this timeseries using currency and units - returns: Voidcurrency(String) - The currency to convert tounits(String) - The units to convert to
last(n)- Creates a new TimeSeries using the last n values from this TimeSeries - returns: Voidn(Integer) - The number of observations to extract
from(start)- Creates a new TimeSeries from a specified start date - returns: Voidstart(Date) - The start date for the new Timeseries
range(start, end)- Creates a new TimeSeries from a range of values from this TimeSeries - returns: Voidstart(Date) - The date/time of the start of the range to extractend(Date) - The date/time of the end of the range to extract
getLast(date)- Get the value at the supplied date or the latest value before that date - returns: Vardate(Date) - The index date to use
addValue(value)- Adds a new value to the end of the timeseries using the calendar - returns: Voidvalue(Scalar) - The value or values to add
getLastNValues(n)- Returns a list of the last N values from this TimeSeries - returns: Voidn(Integer) - The number of observations to return, must be 1 or greater
addCheck(check)- Add a quality check directly to this Timeseries - returns: Voidcheck(String) - The text for the check, e.g. 'missing'
withRange(start, end)- Changes this timeseries to match the provided date range - returns: Voidstart(Date) - The date/time of the start of the range to extractend(Date) - The date/time of the end of the range to extract
applyPrecision()- Apply the precision defined to all the observations of this timeseries - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
Curve
Description: A structure that represents a forward curve with forward contracted delivery periods
Construction:
Curve(ondate)
Properties:
name- The name of the curvedescription- A description of the curveprecision- The precision configuration for this curvesize- The number of contracts on this curveunits- The units of measure for this curvecurrency- The currency of this curvecontracts- Get the forward contracts on this curvetimezone- The timezone for this curveondate- The date for which this curve corresponds toondate- The date for which this curve corresponds toversion- The version informationlinks- Gets linked items
Methods:
add(tenor, value)- Adds a new contract to this curve - returns: Voidtenor(String) - The tenor of the contract to addvalue(Number) - The value of the contract to add
add(contract)- Adds the supplied contract to this curve - returns: Voidcontract(Contract) - The contract to add
add(tenor, value)- Adds a new contract to this curve - returns: Voidtenor(String) - The tenor of the contract to addvalue(Number) - The value of the contract to add
add(contracts)- Adds the supplied contracts to this curve - returns: Voidcontracts(Contracts) - The contracts to add
convert(currency, units)- Convert this curve using currency and units - returns: Voidcurrency(String) - The currency to convert tounits(String) - The units to convert to
contains(tenor)- Checks to see if this curve contains the supplied relative tenor - returns: Booleantenor(String) - The relative tenor to check
addNew(contracts)- Adds the supplied contracts to this curve only if the tenor doesn't already exist on this curve - returns: Voidcontracts(Contracts) - The contracts to add
addNew(contract)- Adds the supplied contract to this curve only if the tenor doesn't already exist on this curve - returns: Voidcontract(Contract) - The contract to add
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
SmartCurve
Description: A Smart Curve is an expression that is used to build curves on demand
Construction:
SmartCurve()
SmartCurve(base, expression)
Properties:
name- The name of the curvedescription- A description of the curvecategory- The category to place this curve incommodity- The commodity for this curvemarket- The market to place this curve inproduct- The product category for this curvepriority- The build priority, 1=high, 2=medium, 3=lowprecision- The precision configuration for this curvescript- The name of the script to use, if empty will use the default #CurveScript scriptunits- The units of this curvecurrency- The currency of this curvebaseCurve- The base curve, referred to as BASE in the formula - it is also used to determine the ondates for this curve formulacacheOptions- The options used to cache this smart curvetimezone- The timezone for this curveexpression- The formula expression to generate this curveversion- The version informationlinks- Gets linked items
Methods:
build(ondate)- Builds this Smart Curve for the supplied date - returns: Curveondate(Date) - The date to build this Smart Curve for
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
EventCurve
Description: A curve that is dynamically built from events
Construction:
EventCurve(eventlist, calendar, property, tenor)
Properties:
event- The name of the eventlist that this Curve uses (in the form objectId:eventListId)property- The name of the property in the event that this Curve uses as the valuetenor- The name of the property in the event that this Curve uses as the tenor/maturity codecalendar- The expiry calendar for this CurveholidayCalendar- The holiday calendar for this Curve - this is used to determine what dates this curve should be published onfilter- Optional filter used to filter the events used to build this Curvesource- Optional source of the events used to build this CurvevalueTransformation- Optional value transformation expression to change all values in the curvesize- The number of contracts on this curveunits- The units of measure for this curvecurrency- The currency of this curvecontracts- Get the forward contracts on this curvetimezone- The timezone for this curveondate- The date for which this curve corresponds toondate- The date for which this curve corresponds toversion- The version informationlinks- Gets linked items
Methods:
build()- Builds this Event Curve - returns: Curveadd(tenor, value)- Adds a new contract to this curve - returns: Voidtenor(String) - The tenor of the contract to addvalue(Number) - The value of the contract to add
add(contract)- Adds the supplied contract to this curve - returns: Voidcontract(Contract) - The contract to add
add(tenor, value)- Adds a new contract to this curve - returns: Voidtenor(String) - The tenor of the contract to addvalue(Number) - The value of the contract to add
add(contracts)- Adds the supplied contracts to this curve - returns: Voidcontracts(Contracts) - The contracts to add
convert(currency, units)- Convert this curve using currency and units - returns: Voidcurrency(String) - The currency to convert tounits(String) - The units to convert to
contains(tenor)- Checks to see if this curve contains the supplied relative tenor - returns: Booleantenor(String) - The relative tenor to check
addNew(contracts)- Adds the supplied contracts to this curve only if the tenor doesn't already exist on this curve - returns: Voidcontracts(Contracts) - The contracts to add
addNew(contract)- Adds the supplied contract to this curve only if the tenor doesn't already exist on this curve - returns: Voidcontract(Contract) - The contract to add
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
Contracts
Description: Contracts are used on a curve as a set of contract objects that represent the future periods and values
Construction:
Properties:
links- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
Contract
Description: A contract is a single future period in time that represents a tradable future contract or a forecasted value on a curve
Construction:
Contract(ondate, tenor, value, start, end)
Contract(ondate, tenor, value)
Contract(ondate, tenor, value, absolute, start, end, expiry)
Properties:
value- Get the value of this contractnext- Get the contract with the same type that is after this one or null if there isn't oneprevious- Get the contract with the same type that is before this one or null if there isn't onestatus- The status information for this contractperiodCodeType- Get the Period Code type for this contractwithin- Gets a list of contracts that are within this contractscalarValue- Get the value of this contract including the configured precisionimmediatelyAfter- Get the contract with the same type that is immediately after this one or null if there isn't oneimmediatelyBefore- Get the contract with the same type that is immediately before this one or null if there isn't oneoverlaps- Gets a list of contracts that are overlapping with this contractondate- Get the CurveDate for this contracttenor- Get the relative tenor code for this contractexpiry- The last trading date for this contractstart- The start of delivery for this contractend- The end of delivery for this contractlinks- Gets linked items
Methods:
isImmediatelyAfter(other)- A test to see if the supplied contract is immediately after this one - returns: Voidother(Contract) - The contract to test against
isOverlapping(other)- A test to see if the this contract is overlapping the supplied contract - returns: Voidother(Contract) - The contract to test if this contract is overlapping
isWithin(other)- A test to see if the this contract is entirely within the supplied contract - returns: Voidother(Contract) - The contract to test if this contract is entirely within
isImmediatelyBefore(other)- A test to see if the supplied contract is immediately before this one - returns: Voidother(Contract) - The contract to test against
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
Event
Description: Event data structure for time-based occurrences
Construction:
Event(time)
Event(ondate, tenor)
Properties:
eventtime- The time of the event messageeventstart- The point in time when the event started/starts - defaults to the time of the event messageeventend- The point in time when the event ended/ends - default to the eventstarttimezone- The timezone of the event messageeventtype- The type of eventevent- The identifier for this group of eventseventid- The unique identifier for this specific eventeventlist- The non-object specific name of this group of eventsstatus- The status of this eventsource- The source of this event, usually nullversion- The version informationlinks- Gets linked items
Methods:
createId()- Creates a unique id for this event based on the event start and end time - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: event
List
Description: A list represents a list of other variables
Construction:
List()
Properties:
name- The name of this listdescription- The description of this listsize- The size of this listlinks- Gets linked items
Methods:
add(element)- Adds a new element to the list - returns: Voidelement(Any) - The variable to add to the list
add(index, element)- Adds a new element to the list at the specified position (0 being first) - returns: Voidindex(Integer) - The position where the element should be added to the listelement(Any) - The variable to add to the list
remove(index)- Removes an element from the list at the specified position (0 being first) - returns: Voidindex(Integer) - The position where the element should be removed from the list
remove(item)- Removes an element from the list - returns: Voiditem(Var) - The item to remove from the list
subList(start, end)- Gets a list from a sublist of this list - returns: Voidstart(Integer) - The first element to get, starting from 0end(Integer) - The last element to get, must be at least 1 higher than the start
addAll(elements)- Adds a list to this list returning a new combined list - returns: Listelements(List) - The list to add to the list
set(index, element)- Replaces the element at the specified position in this list with the specified element - returns: Voidindex(Integer) - The position where the element should be replaced in the listelement(Any) - The variable to replace in the list
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Matrix
Description: A matrix represents a 2-dimensional array of numeric values
Construction:
Matrix(labels, v)
Matrix(labels)
Matrix(labels, v)
Matrix(x, y)
Matrix(y, x, v)
Matrix(labels)
Properties:
name- The name of the matrixdescription- The description of the matrixondate- The valuation date for this matrixxLabels- The column labelsyLabels- The row labelsxSize- The number of columnsySize- The number of rowscurrency- The currency of the values in this matrixunits- The unit of measure for the values in this matrixtimezone- The timezone of this matrix, defaults to UTCprecision- The precision configuration for this matrixversion- The version informationlinks- Gets linked items
Methods:
getValue(y, x)- Gets the value at the specified column and row - returns: Numbery(Number) - The row numberx(Number) - The column number
setValue(x, y, value)- Sets the value at the specified column and row - returns: Matrixx(Number) - The column numbery(Number) - The row numbervalue(Number) - The value to set at the specified column and row
setValue(cell, value)- Sets the value at the specified column and row - returns: Matrixcell(String) - The cell identifier using row:column notationvalue(Number) - The value to set at the specified column and row
subMatrix(rc1, rc2)- Creates a new matrix as a subset of this matrix - returns: Matrixrc1(String) - The top left row and column using row:column notationrc2(String) - The bottom right row and column using row:column notation
subMatrix(y1, x1, y2, x2)- Creates a new matrix as a subset of this matrix - returns: Matrixy1(Integer) - The top row numberx1(Integer) - The left column numbery2(Integer) - The bottom row numberx2(Integer) - The right column number
setLabels(labels)- Sets the labels for the rows and columns of a symmetrical matrix - returns: Matrixlabels(List) - The row and column labels
getColumn(col)- Gets the data for a column - returns: Listcol(Integer) - The column number
getValueAt(y, x)- Gets the value at the specified column and row - returns: Numbery(Number) - The row numberx(Number) - The column number
getRow(col)- Gets the data for a row - returns: Listcol(Integer) - The row number
setValueAt(xl, yl, value)- Sets the value at the specified column and row - returns: Matrixxl(String) - The column labelyl(String) - The row labelvalue(Number) - The value to set at the specified column and row
forwardFill()- Fills null values with the previous value, operates row by row - returns: Voidtranspose()- Returns a 90 degree transposed version of this matrix - returns: MatrixsetXLabels(labels)- Sets the labels for the columns of this matrix - returns: Matrixlabels(List) - The column labels
getColumnForLabel(label)- Gets the column number for the column label of this matrix - returns: Integerlabel(List) - The column label
setColumnData(label, values)- Sets the values for the specified column - returns: Matrixlabel(String) - The column labelvalues(List) - The values to set for the specified column
setColumnData(col, values)- Sets the values for the specified column - returns: Matrixcol(Integer) - The column numbervalues(List) - The values to set for the specified column
setYLabels(labels)- Sets the labels for the rows of this matrix - returns: Matrixlabels(List) - The row labels
getLabelForColumn(col)- Gets the column label for the column number of this matrix (0-based) - returns: Stringcol(Integer) - The column number
setRowData(col, values)- Sets the values for the specified row - returns: Matrixcol(Integer) - The row numbervalues(List) - The values to set for the specified row
setRowData(label, values)- Sets the values for the specified row - returns: Matrixlabel(String) - The row labelvalues(List) - The values to set for the specified row
getRowForLabel(label)- Gets the row number for the row label of this matrix - returns: Integerlabel(List) - The row label
getGroupForRow(row)- Gets the group name for the row number of this matrix (0-based) - returns: Stringrow(Integer) - The group name
getGroupForColumn(col)- Gets the group name for the column number of this matrix (0-based) - returns: Stringcol(Integer) - The group name
getLabelForRow(row)- Gets the row label for the row number of this matrix (0-based) - returns: Stringrow(Integer) - The row number
isSameDimensions(other)- Checks to see if the passed in matrix has the same dimensions as this matrix - returns: Booleanother(Matrix) - The matrix to test against
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: data
Workflow
Description: A workflow represents a set of actions and transitions that form an executable flow diagram
Construction:
Properties:
outputs- Get the list of outputs for this actionexits- Get the list of exit transitions away from this actioninputs- Get the list of inputs for this actionscript- The script textscriptType- The type of this script, e.g. one of [odsl, mustache, py, css, html, js, mjs, cjs]description- A description of what this script doescategory- The category of this script, e.g. ETLfilename- The filename of this scriptoutputFormat- An optional output format, e.g. application/xml, text/html, text/csvversion- The version informationlinks- Gets linked items
Methods:
run(input, output)- Runs the workflow - returns: Voidinput(Object) - The input data that this workflow will useoutput(Object) - The output variable that this workflow will update
run(input, output)- Runs an action - returns: Anyinput(Object) - The input variables to the actionoutput(Object) - The output variables from this action
run()- Runs this script - returns: Voidrun(globalContext)- Runs this script - returns: VoidglobalContext(Boolean) - True to run in the global context, default is false
loadFrom(file)- Load the script from a local file - returns: Voidfile(String) - The fully qualified path and name of the file to load the script from
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: workflow
Action
Description: An action variable is the definition of an action that can be used in a workflow
Construction:
Properties:
outputs- Get the list of outputs for this actionexits- Get the list of exit transitions away from this actioninputs- Get the list of inputs for this actionscript- The script textscriptType- The type of this script, e.g. one of [odsl, mustache, py, css, html, js, mjs, cjs]description- A description of what this script doescategory- The category of this script, e.g. ETLfilename- The filename of this scriptoutputFormat- An optional output format, e.g. application/xml, text/html, text/csvversion- The version informationlinks- Gets linked items
Methods:
run(input, output)- Runs an action - returns: Anyinput(Object) - The input variables to the actionoutput(Object) - The output variables from this action
run()- Runs this script - returns: Voidrun(globalContext)- Runs this script - returns: VoidglobalContext(Boolean) - True to run in the global context, default is false
loadFrom(file)- Load the script from a local file - returns: Voidfile(String) - The fully qualified path and name of the file to load the script from
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: action
Arg
Description: An arg variable is a configuration of an input or output argument of a workflow action
Construction:
Properties:
links- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: workflow
Transition
Description: A transition variable is the definition of a transition that is used in a workflow
Construction:
Properties:
links- Gets linked items
Methods:
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: workflow
Process
Description: A process variable contains all the information to configure and run a process
Construction:
Process()
Properties:
dataPackage- Sets this to be a deployable data packagesproperties- Object user definable propertiesinput- This is the Object input variable used in a workflowworkflow- This is the id of the workflow to runprocessType- This is the type of process, it can be either Ristretto (reduced) or Lungo (long)settings- Settings are a list of variables that are available to the workflow or script when the process is runversion- The version informationlinks- Gets linked items
Methods:
run()- Run this process - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: process
Batch
Description: A batch variable is a custom list variable that contains variables and supplemental information needed to update into the object repository
Construction:
Batch()
Properties:
service- The name of the service for this batchname- The name of this batchloader- The loader for this batchhistory- Indicates that this batch is loading historysize- The size of this listlinks- Gets linked items
Methods:
add(element)- Adds a new element to the list - returns: Voidelement(Any) - The variable to add to the list
add(index, element)- Adds a new element to the list at the specified position (0 being first) - returns: Voidindex(Integer) - The position where the element should be added to the listelement(Any) - The variable to add to the list
remove(index)- Removes an element from the list at the specified position (0 being first) - returns: Voidindex(Integer) - The position where the element should be removed from the list
remove(item)- Removes an element from the list - returns: Voiditem(Var) - The item to remove from the list
subList(start, end)- Gets a list from a sublist of this list - returns: Voidstart(Integer) - The first element to get, starting from 0end(Integer) - The last element to get, must be at least 1 higher than the start
addAll(elements)- Adds a list to this list returning a new combined list - returns: Listelements(List) - The list to add to the list
set(index, element)- Replaces the element at the specified position in this list with the specified element - returns: Voidindex(Integer) - The position where the element should be replaced in the listelement(Any) - The variable to replace in the list
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: batch
Script
Description: A script variable is a wrapper for an ODSL script. It is used by the script service and can also run the script
Construction:
Script()
Properties:
script- The script textscriptType- The type of this script, e.g. one of [odsl, mustache, py, css, html, js, mjs, cjs]description- A description of what this script doescategory- The category of this script, e.g. ETLfilename- The filename of this scriptoutputFormat- An optional output format, e.g. application/xml, text/html, text/csvversion- The version informationlinks- Gets linked items
Methods:
run()- Runs this script - returns: Voidrun(globalContext)- Runs this script - returns: VoidglobalContext(Boolean) - True to run in the global context, default is false
loadFrom(file)- Load the script from a local file - returns: Voidfile(String) - The fully qualified path and name of the file to load the script from
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: script
Report
Description: A report is a configuration containing an expression that can be run to produce a user definable report
Construction:
Report()
Properties:
data- The data produced in this reportscriptVersion- The version of the script that was used to produce this reporterrorMessage- The error message if this report failedstart- The start date used to generate this reportend- The end date used to generate this reportondate- The report publish dateversion- The version informationlinks- Gets linked items
Methods:
build()- Builds this Report - returns: Reportbuild()- Builds this Report - returns: Reportbuild()- Builds this Report - returns: Reportbuild()- Builds this Report - returns: ReportwithFilterOnDateGenerator(service, source, filter, projection)- Use a filter to generate the dates for this report - returns: Voidservice(String) - The service to use with this ondate generatorsource(String) - The source of data to use with this ondate generatorfilter(String) - The filter to useprojection(String) - The projection to use
withAggregationOnDateGenerator(service, source, aggregation)- Use an aggregation pipeline to generate the dates for this report - returns: Voidservice(String) - The service to use with this ondate generatorsource(String) - The source of data to use with this ondate generatoraggregation(String) - The aggregation pipeline
withDistinctOnDateGenerator(service, source, field)- Use a distinct find query to generate the dates for this report - returns: Voidservice(String) - The service to use with this ondate generatorsource(String) - The source of data to use with this ondate generatorfield(String) - The distinct field to use
withDistinctOnDateGenerator(service, source, field, filter)- Use a distinct find query to generate the dates for this report - returns: Voidservice(String) - The service to use with this ondate generatorsource(String) - The source of data to use with this ondate generatorfield(String) - The distinct field to usefilter(String) - The filter to use
withMatrixOnDateGenerator(id)- Use the dates of a matrix to generate the dates for this report - returns: Voidid(String) - The id of the matrix to use for the ondates for this report
withCalendarOnDateGenerator(calendar, start)- Use a calendar to generate the dates for this report - returns: Voidcalendar(String) - The calendar to use to generate the dates, must be minimum dailystart(String) - The start date for the list of dates
withCurveOnDateGenerator(id)- Use the dates of a curve to generate the dates for this report - returns: Voidid(String) - The id of the curve to use for the ondates for this report
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: report
SecurityPolicy
Description: A security policy variable allows you to restrict access to data within any service
Construction:
Properties:
links- Gets linked items
Methods:
removeMember(name)- Remove a member from this policy - returns: Voidname(String) - The email address or security group id to remove
removeMember(name)- Remove a member from this policy - returns: Voidname(String) - The email address or security group id to remove
setFullAccess()- Set this policy to have full access - returns: Voidadd(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: policy
FeaturePolicy
Description: A feature policy determines what a user can see in the web portal
Construction:
FeaturePolicy()
Properties:
features- The features this policy applies tolinks- Gets linked items
Methods:
addMember(name)- Add a member to this policy - returns: Voidname(String) - The email address or security group id to add
removeMember(name)- Remove a member from this policy - returns: Voidname(String) - The email address or security group id to remove
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: policy
Transformer
Description: A wrapper for a data transformer, used with the transformer service
Construction:
Properties:
script- The script textscriptType- The type of this script, e.g. one of [odsl, mustache, py, css, html, js, mjs, cjs]description- A description of what this script doescategory- The category of this script, e.g. ETLfilename- The filename of this scriptoutputFormat- An optional output format, e.g. application/xml, text/html, text/csvversion- The version informationlinks- Gets linked items
Methods:
run()- Runs this script - returns: Voidrun(globalContext)- Runs this script - returns: VoidglobalContext(Boolean) - True to run in the global context, default is false
loadFrom(file)- Load the script from a local file - returns: Voidfile(String) - The fully qualified path and name of the file to load the script from
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: transformer
Extractor
Description: A wrapper for an extractor, used by the extractor service
Construction:
Properties:
script- The script textscriptType- The type of this script, e.g. one of [odsl, mustache, py, css, html, js, mjs, cjs]description- A description of what this script doescategory- The category of this script, e.g. ETLfilename- The filename of this scriptoutputFormat- An optional output format, e.g. application/xml, text/html, text/csvversion- The version informationlinks- Gets linked items
Methods:
run()- Runs this script - returns: Voidrun(globalContext)- Runs this script - returns: VoidglobalContext(Boolean) - True to run in the global context, default is false
loadFrom(file)- Load the script from a local file - returns: Voidfile(String) - The fully qualified path and name of the file to load the script from
add(name, reference)- Adds a linked item - returns: Voidname(String) - The name of the link (must be unique for this item)reference(Reference) - The item to link to
Service where this type is used: extractor