Skip to main content
Hitachi Vantara Lumada and Pentaho Documentation

QuantitativeMapping

pentaho.visual.role.QuantitativeMapping

An optional base class for quantitative visual role mappings.

This visual role mapping type has a levels with a single value, "quantitative".

AMD Module

require(["{pentaho.type.Factory} pentaho/visual/role/quantitative"], function(QuantitativeMapping) { /* code goes here */ });

Extends

Constructor

Name Description
new QuantitativeMapping()
 
Abstract

Members

Name Description
$references : Array.<Object>

Gets the references to this container, or null, if none.

$uid : string

Gets the unique identifier of the instance.

$version : number

Gets the current version of the instance.

attributes : pentaho.type.List.<pentaho.visual.role.MappingAttribute>

Gets or sets the attributes of the visual role mapping.

base : function
 
Protected

If a method has been overridden, then the base method provides access to the overridden method.

changeset : pentaho.type.changes.Changeset

Gets the changeset of this instance in the ambient transaction, if any, or null.

isMapped : boolean

Gets a value that indicates if the mapping has any attributes.

isValid : boolean

Determines if this value is a valid instance of its type.

isVisualKey : boolean

Gets whether the visual role is considered a visual key according to the mapping's current state.

key : string

Gets the key of the complex value.

level : string

Gets or sets the fixed measurement level on which the associated visual role is to operate.

levelAuto : string | undefined

Gets the automatic measurement level.

levelEffective : string | undefined

Gets the level of measurement on which the visual role will effectively be operating, according to the mapping's current state.

model : pentaho.visual.base.Model

Gets the visual model that owns this visual role mapping, if any, or null.

modelProperty : pentaho.type.Property.Type

Gets the visual role property type in which the visual model contains this visual role mapping, if any, or null.

type : pentaho.type.Value.Type

Gets the type of this instance.

Methods

Name Description
_clone(clone)
 
Protected

Initializes a clone of this complex value.

_configure(config)
 
Protected

Configures this value with a given non-nully configuration.

_createChangeset(transaction) : pentaho.type.changes.Changeset
 
Abstract
 
Protected

Creates a changeset with this container as owner and returns it.

_emit(event) : pentaho.lang.Event
 
Protected

Emits an unstructured event and returns it, unless it was canceled.

_emitGeneric(event, type, phase, keyArgs) : object
 
Protected

Emits an event given an arbitrary payload object, its type and phase. Returns the event payload object, unless the event is canceled.

_emitSafe(event) : pentaho.lang.Event
 
Protected

Variation of the _emit method in which errors thrown by event listeners are caught and logged.

_getAttributesMaxLevel() : string | undefined
 
Protected

Determines the highest level of measurement supported by all of the data properties in mapping attributes.

_hasListeners(type, phase) : boolean
 
Protected

Determines if there are any registrations for a given event type and phase.

_hasObservers(type) : boolean
 
Protected

Determines if there are any registrations for a given event type, for at least one of its phases.

_initValue(value, propType) : pentaho.type.Value
 
Protected

Allows further initializing the value of a property.

_onChangeDid(changeset)
 
Protected

Called after a changeset has been committed.

_onChangeRejected(changeset, reason)
 
Protected

Called after a changeset has been rejected.

_onChangeWill(changeset) : pentaho.lang.UserError | undefined
 
Protected

Called before a changeset is committed.

assertValid()

Ensures that the value is valid, and throws the first validation error if it is not.

at(name, index, sloppy) : pentaho.type.Element | Nully

Gets one Element of a property's value, given the property and the index of the element.

atf(name, index, sloppy) : string

Gets the string representation of one element of the value of a property, given the property and the index of the element.

atv(name, index, sloppy) : any | pentaho.type.Complex | Nully

Gets the primitive value of one element of the value of a property, given the property and the index of the element.

clone() : pentaho.type.Complex

Creates a shallow clone of this complex value.

configure(config) : pentaho.type.Value

Configures this value with a given configuration.

count(name, sloppy) : number

Gets the number of values of a given property.

countRange(name) : pentaho.IRange

Gets the current valid count range of values of a given property.

equals(other) : boolean

Determines if a given value, of the same type, represents the same entity.

extend(source, keyArgs) : Object

Extend an object with the properties of another.

first(name, sloppy) : pentaho.type.Element | Nully

Gets the first element of the value of a property.

firstf(name, sloppy) : string

Gets the string representation of the first element of the value of a property.

firstv(name, sloppy) : any | pentaho.type.Complex | Nully

Gets the primitive value of the first element of the value of a property.

get(name, sloppy) : pentaho.type.Value | Nully

Gets the value of a property.

getf(name, sloppy) : string

Gets the string representation of the value of a property.

getv(name, sloppy) : any | pentaho.type.Complex | pentaho.type.List | Nully

Gets the primitive value of the value of a property.

isApplicable(name) : boolean

Gets a value that indicates if a given property is currently applicable.

isEnabled(name) : boolean

Gets a value that indicates if a given property is currently enabled.

isRequired(name) : boolean

Gets a value that indicates if a given property is currently required.

off(typeOrHandle, observer)

Removes one registration given its handle, or all registrations of a given event type (or types) and observer (or listener function).

on(type, observer, keyArgs) : pentaho.lang.IEventRegistrationHandle

Registers an observer (or listener function) for an event(s) of a given type(s).

path(steps, sloppy) : pentaho.type.Value | Nully

Gets the value of a property/index/key path based on the current complex.

set(name, valueSpec)

Sets the value of a property.

toJSON() : UJsonValue

Creates a top-level JSON specification that describes this instance.

toSpec(keyArgs) : pentaho.type.spec.UInstance

Creates a specification that describes this value.

toSpecInContext(keyArgs) : any

Creates a specification that describes this instance.

validate() : Array.<pentaho.type.ValidationError>

Determines if this visual role mapping is valid.

Constructor Details

new QuantitativeMapping()
 
Abstract

Source: javascript/web/pentaho/visual/role/quantitative.js, line 27

Members Details

$references: Array.<Object>

Gets the references to this container, or null, if none.

Note that the returned array may be empty.

Do NOT change the returned array or its elements in any way.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 119

Inherited From: pentaho.type.ContainerMixin#$references

$uid: string

Gets the unique identifier of the instance.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 103

Inherited From: pentaho.type.ContainerMixin#$uid

$version: number

Gets the current version of the instance.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 150

Inherited From: pentaho.type.ContainerMixin#$version

attributes: pentaho.type.List.<pentaho.visual.role.MappingAttribute>

Gets or sets the attributes of the visual role mapping.

This JS property is syntax sugar for this.getv("attributes") and this.set("attributes", value).

Source: javascript/web/pentaho/visual/role/mapping.js, line 559

Inherited From: pentaho.visual.role.Mapping#attributes

base: function
 
Protected

If a method has been overridden, then the base method provides access to the overridden method.

Can also be called from within a constructor function.

Source: javascript/web/pentaho/lang/Base.js, line 265

Inherited From: pentaho.lang.Base#base

changeset: pentaho.type.changes.Changeset

Gets the changeset of this instance in the ambient transaction, if any, or null.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 175

Inherited From: pentaho.type.ContainerMixin#changeset

isMapped: boolean

Gets a value that indicates if the mapping has any attributes.

Source: javascript/web/pentaho/visual/role/mapping.js, line 101

Inherited From: pentaho.visual.role.Mapping#isMapped

isValid: boolean

Determines if this value is a valid instance of its type.

This attribute calls validate and returns a boolean value indicating if it returned no errors.

Source: javascript/web/pentaho/type/value.js, line 137

Inherited From: pentaho.type.Value#isValid

isVisualKey: boolean

Gets whether the visual role is considered a visual key according to the mapping's current state.

If the type does not specify isVisualKey or its evaluation results in a null value, a default value is determined, by the following rules:

  1. Return false if the mapping is not mapped;
  2. Return true if the mapping's levelEffective is qualitative;
  3. Return true if the mapping contains at least one attribute of a non-numeric type (like date).
  4. Otherwise, return false.

Source: javascript/web/pentaho/visual/role/mapping.js, line 141

Inherited From: pentaho.visual.role.Mapping#isVisualKey

key: string

Gets the key of the complex value.

The key of a value identifies it among values of the same concrete type.

If two values have the same concrete type and their keys are equal, then it must also be the case that pentaho.type.Value.Type#areEqual returns true when given the two values. The opposite should be true as well. If two values of the same concrete type have distinct keys, then pentaho.type.Value.Type#areEqual should return false.

The default complex implementation, returns the value of the complex instance's pentaho.type.Complex#$uid.

Source: javascript/web/pentaho/type/complex.js, line 241

Inherited From: pentaho.type.Complex#key

level: string

Gets or sets the fixed measurement level on which the associated visual role is to operate.

When null or unspecified, the associated visual role operates in an automatically determined measurement level, as returned by levelAuto.

When specified, it must be one of the measurement levels supported by the associated visual role, as defined in levels; otherwise, the mapping is considered invalid.

This JS property is syntax sugar for this.getv("level") and this.set("level", value).

Source: javascript/web/pentaho/visual/role/mapping.js, line 538

Inherited From: pentaho.visual.role.Mapping#level

See also:  pentaho.visual.role.spec.IMapping#level

levelAuto: string | undefined

Gets the automatic measurement level.

The automatic measurement level is determined based on the visual role's levels and the measurement levels supported by the currently mapped data properties.

When the mapping is empty (has no mapped attributes), undefined is returned.

When the mapping is invalid, undefined is returned.

When more than one measurement level could be used, the highest measurement level is preferred.

Source: javascript/web/pentaho/visual/role/mapping.js, line 198

Inherited From: pentaho.visual.role.Mapping#levelAuto

levelEffective: string | undefined

Gets the level of measurement on which the visual role will effectively be operating, according to the mapping's current state.

When level is not null, that measurement level is returned. Otherwise, the value of levelAuto, which can be undefined, is returned.

A visualization should respect the value of this property (when defined) and actually operate the visual role in the corresponding mode.

Source: javascript/web/pentaho/visual/role/mapping.js, line 121

Inherited From: pentaho.visual.role.Mapping#levelEffective

model: pentaho.visual.base.Model

Gets the visual model that owns this visual role mapping, if any, or null.

Source: javascript/web/pentaho/visual/role/mapping.js, line 80

Inherited From: pentaho.visual.role.Mapping#model

See also:  pentaho.type.List#setOwnership

modelProperty: pentaho.type.Property.Type

Gets the visual role property type in which the visual model contains this visual role mapping, if any, or null.

Source: javascript/web/pentaho/visual/role/mapping.js, line 91

Inherited From: pentaho.visual.role.Mapping#modelProperty

type: pentaho.type.Value.Type

Gets the type of this instance.

Source: javascript/web/pentaho/type/value.js, line 262

Inherited From: pentaho.type.Value#type

Methods Details

_clone(clone)
 
Protected

Initializes a clone of this complex value.

Source: javascript/web/pentaho/type/complex.js, line 195

Inherited From: pentaho.type.Complex#_clone

Parameters:
Name Default Value Summary
clone : pentaho.type.Complex

The complex value clone.

_configure(config)
 
Protected

Configures this value with a given non-nully configuration.

The default implementation does nothing.

Source: javascript/web/pentaho/type/value.js, line 194

Inherited From: pentaho.type.Value#_configure

Parameters:
Name Default Value Summary
config : any

The configuration.

_createChangeset(transaction) : pentaho.type.changes.Changeset
 
Abstract
 
Protected

Creates a changeset with this container as owner and returns it.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 203

Inherited From: pentaho.type.ContainerMixin#_createChangeset

Parameters:
Name Default Value Summary
transaction : pentaho.type.changes.Transaction

The transaction that owns this changeset.

Returns:
Name Description
pentaho.type.changes.Changeset

A changeset of the appropriate type.

_emit(event) : pentaho.lang.Event
 
Protected

Emits an unstructured event and returns it, unless it was canceled.

When this method is called, the listeners of existing registrations are notified synchronously, by priority order and then registration order, until either the event is canceled or all of the listeners have been notified.

It is safe to register or unregister to/from an event type while it is being emitted. However, changes are only taken into account in subsequent emissions.

If a listener function throws an error, the event processing is interrupted. No more registrations are processed and the error is passed to the caller.

Source: javascript/web/pentaho/lang/EventSource.js, line 261

Inherited From: pentaho.lang.EventSource#_emit

Parameters:
Name Default Value Summary
event : pentaho.lang.Event

The event object.

Returns:
Name Description
pentaho.lang.Event | null

The given event object or null, when canceled.

See also:  pentaho.lang.EventSource#_emitSafe , pentaho.lang.EventSource#_emitGeneric

_emitGeneric(event, type, phase, keyArgs) : object
 
Protected

Emits an event given an arbitrary payload object, its type and phase. Returns the event payload object, unless the event is canceled.

Source: javascript/web/pentaho/lang/EventSource.js, line 313

Inherited From: pentaho.lang.EventSource#_emitGeneric

Parameters:
Name Default Value Summary
event : object

The event object.

type : nonEmptyString

The type of the event.

phase : nonEmptyString
 
Optional

The phase of the event. For unstructured events don't specify this argument (or specify a Nully value).

keyArgs : Object
 
Optional

The keyword arguments' object.

Parameters:
Name Default Value Summary
isCanceled : function
 
Optional

A predicate that indicates if a given event object is in a canceled state.

errorHandler : function
 
Optional

When specified with a null value, no error handling is performed and errors thrown by listeners are thrown back to this method's caller. When unspecified or specified as undefined, defaults to a function that simply log the listener errors, and let execution continue to following listeners. The function arguments are: the error, the event, the event type and the event phase.

Returns:
Name Description
object | null

The event payload object or null, when the event is canceled.

_emitSafe(event) : pentaho.lang.Event
 
Protected

Variation of the _emit method in which errors thrown by event listeners are caught and logged.

If an event listener throws an error, the following event listeners are still processed.

Source: javascript/web/pentaho/lang/EventSource.js, line 283

Inherited From: pentaho.lang.EventSource#_emitSafe

Parameters:
Name Default Value Summary
event : pentaho.lang.Event

The event object.

Returns:
Name Description
pentaho.lang.Event | null

The given event object or null, when canceled.

See also:  pentaho.lang.EventSource#_emit , pentaho.lang.EventSource#_emitGeneric

_getAttributesMaxLevel() : string | undefined
 
Protected

Determines the highest level of measurement supported by all of the data properties in mapping attributes.

Any attributes that aren't defined in the visual model's current data should be ignored. Defined attributes should be considered even if their data type is not compatible with the visual role's supported data types.

When there are no attributes or when all attributes are invalid, undefined is returned.

This method should not care about whether the returned level of measurement is one of the supported visual role's measurement levels.

Source: javascript/web/pentaho/visual/role/mapping.js, line 290

Inherited From: pentaho.visual.role.Mapping#_getAttributesMaxLevel

Returns:
Name Description
string | undefined

The highest level of measurement.

_hasListeners(type, phase) : boolean
 
Protected

Determines if there are any registrations for a given event type and phase.

This method can be used to avoid creating expensive event objects for event type and phase pairs that don't have registrations.

Source: javascript/web/pentaho/lang/EventSource.js, line 189

Inherited From: pentaho.lang.EventSource#_hasListeners

Parameters:
Name Default Value Summary
type : nonEmptyString

The type of the event.

phase : nonEmptyString
 
Optional

The phase of a structured event. For unstructured events don't specify this argument.

Returns:
Name Description
boolean

true if the event has any listeners for the given event type and phase; false, otherwise.

Example

if(this._hasListeners("select", "will")) {

 var event = new Event("select", this);

 if(this._emit(event)) {
 // Select Will phase
 }
}
_hasObservers(type) : boolean
 
Protected

Determines if there are any registrations for a given event type, for at least one of its phases.

This method can be used to avoid creating expensive event objects for event types that currently have no registrations.

Source: javascript/web/pentaho/lang/EventSource.js, line 232

Inherited From: pentaho.lang.EventSource#_hasObservers

Parameters:
Name Default Value Summary
type : nonEmptyString

The type of the event.

Returns:
Name Description
boolean

true if the event has any observers for the given event type; false, otherwise.

Example

if(this._hasObservers("select")) {

 var event = new Event("select");

 if(this._emitGeneric(event, "select", "will")) {
 // Select Will

 this._emitGeneric(event, "select", "did");
 }
}
_initValue(value, propType) : pentaho.type.Value
 
Protected

Allows further initializing the value of a property.

This method is called from within the base constructor.

It is absolutely mandatory to return a value that is an instance of the type of value of the property. If the value should remain "empty", return null, and never undefined.

Source: javascript/web/pentaho/type/complex.js, line 147

Inherited From: pentaho.type.Complex#_initValue

Parameters:
Name Default Value Summary
value : pentaho.type.Value

The value of the property, possibly null.

propType : pentaho.type.Property.Type

The property type.

Returns:
Name Description
pentaho.type.Value

The value of the property, possibly null.

_onChangeDid(changeset)
 
Protected

Called after a changeset has been committed.

The default implementation emits the "did:change" event for the given changeset, if there are any listeners.

When overriding, be sure to call the base implementation.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 253

Inherited From: pentaho.type.ContainerMixin#_onChangeDid

Parameters:
Name Default Value Summary
changeset : pentaho.type.changes.Changeset

The set of changes.

_onChangeRejected(changeset, reason)
 
Protected

Called after a changeset has been rejected.

The default implementation emits the "rejected:change" event for the given changeset, if there are any listeners.

When overriding, be sure to call the base implementation.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 273

Inherited From: pentaho.type.ContainerMixin#_onChangeRejected

Parameters:
Name Default Value Summary
changeset : pentaho.type.changes.Changeset

The set of changes.

reason : Error

The reason why the changes were rejected.

_onChangeWill(changeset) : pentaho.lang.UserError | undefined
 
Protected

Called before a changeset is committed.

The default implementation emits the "will:change" event for the given changeset, if there are any listeners.

When overriding, be sure to call the base implementation.

Source: javascript/web/pentaho/type/ContainerMixin.js, line 233

Inherited From: pentaho.type.ContainerMixin#_onChangeWill

Parameters:
Name Default Value Summary
changeset : pentaho.type.changes.Changeset

The set of changes.

Returns:
Name Description
pentaho.lang.UserError | undefined

An error if the changeset was canceled; or, undefined otherwise.

assertValid()

Ensures that the value is valid, and throws the first validation error if it is not.

This method calls the validate method.

Source: javascript/web/pentaho/type/value.js, line 168

Inherited From: pentaho.type.Value#assertValid

Throws:
Name Description
pentaho.type.ValidationError

When the value is not valid, the first error returned by the validate method.

at(name, index, sloppy) : pentaho.type.Element | Nully

Gets one Element of a property's value, given the property and the index of the element.

If the specified property is not defined and sloppy is true, undefined is returned. If the specified index is out of range, null is returned.

This method allows use of the same syntax for getting a single element from the value of a property, whether it is a list or an element property. If the property is an element property whose value is null, it is seen like a list property with no elements. If its value is not null, it is seen like a list property with one element. This behavior is consistent with that of the count property.

Source: javascript/web/pentaho/type/complex.js, line 577

Inherited From: pentaho.type.Complex#at

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

index : number

The index of the desired element.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
pentaho.type.Element | Nully

A single Element value, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Property.Type#isList , pentaho.type.Complex#path , pentaho.type.Complex#atv , pentaho.type.Complex#atf , pentaho.type.Complex#count , pentaho.type.Complex#first

atf(name, index, sloppy) : string

Gets the string representation of one element of the value of a property, given the property and the index of the element.

This method reads the value of the property/index by calling Complex#at.

When the latter returns a Nully value, "" is returned. Otherwise, the result of the element's toString() method is returned.

For a Simple type, this corresponds to returning its formatted attribute, when it is not null. For a Complex type, this varies with the implementation.

Source: javascript/web/pentaho/type/complex.js, line 647

Inherited From: pentaho.type.Complex#atf

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

index : number

The index of the value.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
string

The string representation of the requested element, or "".

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#at , pentaho.type.Complex#atv

atv(name, index, sloppy) : any | pentaho.type.Complex | Nully

Gets the primitive value of one element of the value of a property, given the property and the index of the element.

This method reads the value of the property/index by calling Complex#at.

When the latter does not return a Nully value, the result of the element's valueOf() method is returned.

For a Simple type, this corresponds to returning its value attribute. For a Complex type, this corresponds to the value itself.

Source: javascript/web/pentaho/type/complex.js, line 617

Inherited From: pentaho.type.Complex#atv

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

index : number

The index of the element.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
any | pentaho.type.Complex | Nully

The primitive value of the requested element, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#at , pentaho.type.Complex#atf

clone() : pentaho.type.Complex

Creates a shallow clone of this complex value.

All property values are shared with the clone.

Source: javascript/web/pentaho/type/complex.js, line 183

Inherited From: pentaho.type.Complex#clone

Returns:
Name Description
pentaho.type.Complex

The complex value clone.

Implements:
configure(config) : pentaho.type.Value

Configures this value with a given configuration.

Source: javascript/web/pentaho/type/value.js, line 180

Inherited From: pentaho.type.Value#configure

Parameters:
Name Default Value Summary
config : any

The configuration.

Returns:
Name Description
pentaho.type.Value

This instance.

count(name, sloppy) : number

Gets the number of values of a given property.

When the specified property is a list property, its count is returned.

When the specified property is not a list property, 0 is returned if it is null; 1, otherwise.

Source: javascript/web/pentaho/type/complex.js, line 541

Inherited From: pentaho.type.Complex#count

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
number

The number of values.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

countRange(name) : pentaho.IRange

Gets the current valid count range of values of a given property.

Source: javascript/web/pentaho/type/complex.js, line 694

Inherited From: pentaho.type.Complex#countRange

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

Returns:
Name Description
pentaho.IRange

The range of the property.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

equals(other) : boolean

Determines if a given value, of the same type, represents the same entity.

The given value must be of the same concrete type (or the result is undefined).

To test equality for any two arbitrary values, in a robust way, use pentaho.type.Value.Type#areEqual.

If two values are equal, they must have an equal pentaho.type.Value#key. Otherwise, if they are different, they must have a different key.

The default implementation returns true if the two values have the same key; or, false, otherwise.

Source: javascript/web/pentaho/type/value.js, line 122

Inherited From: pentaho.type.Value#equals

Parameters:
Name Default Value Summary
other : pentaho.type.Value

A value to test for equality.

Returns:
Name Description
boolean

true if the given value is equal to this one; or, false, otherwise.

extend(source, keyArgs) : Object

Extend an object with the properties of another.

Methods that are overridden are accessible through this.base.

This object is extended, but its class doesn't change.

Can be applied to non-Base instances (e.g. using Base.prototype.extend.call(alien, {a: "hello"})).

Source: javascript/web/pentaho/lang/Base.js, line 808

Inherited From: pentaho.lang.Base#extend

Parameters:
Name Default Value Summary
source : Object

The instance specification.

keyArgs : Object
 
Optional

The keyword arguments.

Parameters:
Name Default Value Summary
exclude : Object
 
Optional

A map of property names to exclude from source.

Returns:
Name Description
Object

This object.

first(name, sloppy) : pentaho.type.Element | Nully

Gets the first element of the value of a property.

This method returns the result of calling Complex#at with a 0 index.

Source: javascript/web/pentaho/type/complex.js, line 480

Inherited From: pentaho.type.Complex#first

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
pentaho.type.Element | Nully

An element or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#firstv , pentaho.type.Complex#firstf

firstf(name, sloppy) : string

Gets the string representation of the first element of the value of a property.

This method returns the result of calling Complex#atf with a 0 index.

Source: javascript/web/pentaho/type/complex.js, line 520

Inherited From: pentaho.type.Complex#firstf

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
string

The string representation of the first element, or "".

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#first , pentaho.type.Complex#firstv

firstv(name, sloppy) : any | pentaho.type.Complex | Nully

Gets the primitive value of the first element of the value of a property.

This method returns the result of calling Complex#atv with a 0 index.

Source: javascript/web/pentaho/type/complex.js, line 500

Inherited From: pentaho.type.Complex#firstv

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
any | pentaho.type.Complex | Nully

The primitive value of the first element, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#first , pentaho.type.Complex#firstf

get(name, sloppy) : pentaho.type.Value | Nully

Gets the value of a property.

If the specified property is not defined and sloppy is true, undefined is returned.

A list property always has a non-null value, possibly an empty list, but never null. An element property can have a null value.

Source: javascript/web/pentaho/type/complex.js, line 267

Inherited From: pentaho.type.Complex#get

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type
 
Optional

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
pentaho.type.Value | Nully

The value of the property, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#getv , pentaho.type.Complex#getf , pentaho.type.Complex#at , pentaho.type.Complex#first

getf(name, sloppy) : string

Gets the string representation of the value of a property.

This method reads the value of the property by calling Complex#get.

When the latter returns a Nully value, "" is returned. Otherwise, the result of the value's toString() method is returned.

For a Simple type, this corresponds to returning its formatted attribute, when it is not null. For Complex and List types, varies with the implementation.

Source: javascript/web/pentaho/type/complex.js, line 337

Inherited From: pentaho.type.Complex#getf

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
string

The string representation of the value, or "".

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#get , pentaho.type.Complex#getv

getv(name, sloppy) : any | pentaho.type.Complex | pentaho.type.List | Nully

Gets the primitive value of the value of a property.

This method reads the value of the property by calling Complex#get.

When the latter does not return a Nully value, the result of the value's valueOf() method is returned.

For a Simple type, this corresponds to returning its value attribute. For Complex and List types, this corresponds to the value itself.

Source: javascript/web/pentaho/type/complex.js, line 308

Inherited From: pentaho.type.Complex#getv

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
any | pentaho.type.Complex | pentaho.type.List | Nully

The primitive value of a Simple, the Complex or List value itself, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also:  pentaho.type.Complex#get , pentaho.type.Complex#getf

isApplicable(name) : boolean

Gets a value that indicates if a given property is currently applicable.

Source: javascript/web/pentaho/type/complex.js, line 664

Inherited From: pentaho.type.Complex#isApplicable

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or type object.

Returns:
Name Description
boolean

true if the property is applicable; false, otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

isEnabled(name) : boolean

Gets a value that indicates if a given property is currently enabled.

Source: javascript/web/pentaho/type/complex.js, line 679

Inherited From: pentaho.type.Complex#isEnabled

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type

The property name or property type object.

Returns:
Name Description
boolean

Returns true if the property is enabled; false, otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

isRequired(name) : boolean

Gets a value that indicates if a given property is currently required.

A property is currently required if its current pentaho.type.Complex#countRange minimum is at least 1.

Source: javascript/web/pentaho/type/complex.js, line 712

Inherited From: pentaho.type.Complex#isRequired

Parameters:
Name Default Value Summary
name : string | pentaho.type.Property.Type
 
Optional

The property name or type object.

Returns:
Name Description
boolean

true if the property is required; false, otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

Implements:
off(typeOrHandle, observer)

Removes one registration given its handle, or all registrations of a given event type (or types) and observer (or listener function).

To remove an event registration, it is sufficient to call the dispose method of the registration handle returned by on, upon registration. Alternatively, as a convenience syntax, the registration handle can be passed as the single argument to this method.

It is safe to unregister from an event type while it is being emitted. However, any registrations removed during the current emission will still execute.

Specifying an event registration handle that has already been disposed of has no effect. Specifying an event type and observer (or listener function) that have no registrations has no effect.

Source: doc-js/pentaho/lang/IEventSource.jsdoc, line 131

Inherited From: pentaho.lang.EventSource#off

Parameters:
Name Default Value Summary
typeOrHandle : nonEmptyString | Array.<nonEmptyString> | pentaho.lang.IEventRegistrationHandle

The type or types of events, or an event registration handle to dispose of. When a string, it can be a comma-separated list of event types.

observer : pentaho.lang.IEventObserver | pentaho.lang.EventListener | pentaho.lang.EventListenerAsync

The event observer (or listener function). Required when typeOrHandle is not an event registration handle; ignored, otherwise.

See also:  pentaho.lang.IEventSource#on

Implements:
on(type, observer, keyArgs) : pentaho.lang.IEventRegistrationHandle

Registers an observer (or listener function) for an event(s) of a given type(s).

Optionally, a listening priority may be specified to adjust the order by which an observer is notified, relative to other listeners.

Note that if an observer is registered more than once to the same event type, a new registration is created each time and its listeners will be called once per registration.

It is safe to register for an event type while it is being emitted. However, new registrations are only taken into account in subsequent emissions.

When type represents multiple event types, the returned event registration handle is a composite registration for all of the event types.

This method is compatible with the dojo/on API.

Source: doc-js/pentaho/lang/IEventSource.jsdoc, line 90

Inherited From: pentaho.lang.EventSource#on

Parameters:
Name Default Value Summary
type : nonEmptyString | Array.<nonEmptyString>

The type or types of events. When a string, it can be a comma-separated list of event types.

observer : pentaho.lang.IEventObserver | pentaho.lang.EventListener | pentaho.lang.EventListenerAsync

The event observer (or listener function).

keyArgs : object
 
Optional

Keyword arguments.

Parameters:
Name Default Value Summary
priority : number
 
Optional
0

The listening priority. Higher priority observers are notified of an event before any lower priority observers. The priority can be set to -Infinity or Infinity. In case two observers are assigned the same priority, the registration order determines which is notified first.

Returns:
Name Description
pentaho.lang.IEventRegistrationHandle

An event registration handle that can be used for later removal.

See also:  pentaho.lang.IEventSource#off

path(steps, sloppy) : pentaho.type.Value | Nully

Gets the value of a property/index/key path based on the current complex.

When called with no arguments, or with an empty steps array argument, this complex value is returned.

When a step, on a complex value, is not a defined property and sloppy is true, undefined is returned.

Value null is returned when a step, in steps:

  1. On a list value, is an element index that is out of range
  2. On a list value, is an element key that is not present
  3. On a complex value, a property has value null.

This method supports two signatures. When the first argument is an array, it is the steps array, and the second argument is the optional sloppy argument:

var value;

// Strict
value = complex.path(["a", "b", 1]);

// Sloppy
value = complex.path(["a", "b", 1], true);

Otherwise, the method behaves as if sloppy were false, and each argument is a step of the desired path:

var value;

value = complex.path(); // -> null

value = complex.path("a", "b", 1);

Source: javascript/web/pentaho/type/complex.js, line 388

Inherited From: pentaho.type.Complex#path

Parameters:
Name Default Value Summary
steps : Array.<(string | number | !pentaho.type.Property.Type)>

The property/index/key path steps.

sloppy : boolean
 
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
pentaho.type.Value | Nully

The requested value, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a step, on a complex value, is not a defined property.

set(name, valueSpec)

Sets the value of a property.

Source: javascript/web/pentaho/type/complex.js, line 419

Inherited From: pentaho.type.Complex#set

Parameters:
Name Default Value Summary
name : nonEmptyString | pentaho.type.Property.Type

The property name or type object.

valueSpec : any
 
Optional
null

A value specification.

Fires: event:will:change , event:did:change , event:rejected:change

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

TypeError

When property is read-only.

toJSON() : UJsonValue

Creates a top-level JSON specification that describes this instance.

Attributes which do not have a JSON-compatible specification are omitted. Specifically, for inline types, attributes with a function value are not supported.

This method simply calls pentaho.type.Instance#toSpec with argument keyArgs.isJson as true and exists for seamless integration with JavaScript's JSON.stringify method.

Source: javascript/web/pentaho/type/instance.js, line 206

Inherited From: pentaho.type.Instance#toJSON

Returns:
Name Description
UJsonValue

A JSON-compatible specification.

See also:  pentaho.type.Instance#toSpec

Implements:
toSpec(keyArgs) : pentaho.type.spec.UInstance

Creates a specification that describes this value.

If an ambient specification context, currently exists, it is used to manage the serialization process. Otherwise, one is created and set as current. Then, the actual work is delegated to pentaho.type.Instance#toSpecInContext.

Source: javascript/web/pentaho/type/value.js, line 200

Inherited From: pentaho.type.Value#toSpec

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

The keyword arguments object. Passed to every value and type serialized within this scope.

Please see the documentation of value subclasses for information on additional, supported keyword arguments.

Parameters:
Name Default Value Summary
isJson : boolean
 
Optional
false

Generates a JSON-compatible specification. Attributes which do not have a JSON-compatible specification are omitted.

declaredType : pentaho.type.Type
 
Optional

The base type of this value's storage location. If the value does not have this exact type, its inline type property must be included in the specification. Otherwise, it can be omitted. When unspecified, the inline type property is only included if forceType is true.

forceType : boolean
 
Optional
false

Forces inclusion of the inline type property, _, in the specification.

omitFormatted : boolean
 
Optional
false

Omits the formatted value on Simple values' specifications.

preferPropertyArray : boolean
 
Optional
false

Indicates that, if possible, array form is used for Complex values' specifications.

The array form of a complex value cannot be used when its type must be inlined.

includeDefaults : boolean
 
Optional
false

When true, all of the properties of Complex values are serialized. When false, the default, only properties whose value is different from their default value are serialized.

Only applies to complex values that are serialized in object form. In array form, all of the properties of complex values are serialized independently of their value.

omitProps : Object
 
Optional

An object whose own property names with a truthy value are the names of the properties of the current complex type to omit from the serialization.

Only applies when a complex is output in object form. In array form, all properties are output whatever their value.

This argument only applies to complex values and is not passed through to the values of their properties.

Returns:
Name Description
pentaho.type.spec.UInstance

A specification of this value.

toSpecInContext(keyArgs) : any

Creates a specification that describes this instance.

Source: javascript/web/pentaho/type/instance.js, line 186

Inherited From: pentaho.type.Instance#toSpecInContext

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

The keyword arguments' object. Passed to every instance and type serialized within this scope.

Please see the documentation of subclasses for information on additional, supported keyword arguments.

Returns:
Name Description
any

A specification of this instance.

See also:  pentaho.type.Instance#toSpec

validate() : Array.<pentaho.type.ValidationError>

Determines if this visual role mapping is valid.

Validity is determined as follows:

  1. If the mapping has no owner visual model, it is invalid
  2. If the visual model has a null data, then every data property in attributes is considered undefined and invalid
  3. Otherwise, if the visual model has a non-null data, then each data property in attributes:
    1. Must be defined in data
    2. Must be compatible with the visual role, in terms of data type and measurement level
  4. The number of mapped attributes must satisfy the usual property cardinality constraints, like isRequired, countMin and countMax
  5. Mapped attributes must not be duplicates:
    1. If the mapping has a quantitative levelEffective, then there can be no two mapping attributes with the same name and aggregation
    2. Otherwise, there can be no two mapping attributes with the same name

Source: javascript/web/pentaho/visual/role/mapping.js, line 350

Inherited From: pentaho.visual.role.Mapping#validate

Returns:
Name Description
Array.<pentaho.type.ValidationError> | null

A non-empty array of ValidationError or null.