Skip to main content
Hitachi Vantara Lumada and Pentaho Documentation

Type

pentaho.visual.role.Property.Type

The type class of pentaho.visual.role.Property.

Extends

Constructor

Name Description
new Type()
 
Static

Members

Name Description
_isLabelSet : boolean
 
Protected

Gets a value that indicates if the label is locally set.

alias : __nonEmptyString

Gets the alias for the identifier of this type.

ancestor : pentaho.type.Type

Gets the parent type in the current type hierarchy, if any, or null.

anyLevelsQualitative : boolean

Gets a value that indicates if the visual role has any qualitative levels.

anyLevelsQuantitative : boolean

Gets a value that indicates if the visual role has any quantitative levels.

application : object

Gets or sets the application attribute of this type.

attributes : pentaho.visual.role.IPropertyAttributes

Gets or sets the attributes metadata related with this visual role property.

category : __nonEmptyString

Gets or sets the category associated with this type.

context : pentaho.type.Context

Gets the context that defined this type class.

countMax : undefined | number | pentaho.type.spec.PropertyDynamicAttribute.<number>

Gets or sets the maximum number of elements that properties of this type can have.

countMaxOn

Evaluates the value of the countMax attribute of a property of this type on a given complex value.

countMin : undefined | number | pentaho.type.spec.PropertyDynamicAttribute.<number>

Gets or sets the minimum number of elements that properties of this type must have.

countMinOn

Evaluates the value of the countMin attribute of a property of this type on a given complex value.

dataType : pentaho.type.Value.Type

Gets or sets the value type of data properties required by the visual role.

declaringType : pentaho.type.Complex.Type

Gets the complex type that declares this property type.

defaultValue : pentaho.type.Value | pentaho.type.spec.PropertyDynamicAttribute.<pentaho.type.spec.UValue>

Gets or sets the default value of properties of this type.

defaultView : string

Gets or sets the default view for instances of this type.

defaultViewAbs : string

Gets the absolute view module identifier, if any.

description : __nonEmptyString

Gets or sets the description of this type.

domain : undefined | Array.<pentaho.type.Element> | pentaho.type.spec.PropertyDynamicAttribute.<Array.<pentaho.type.Element>>

Gets or sets the list of valid values (or a function that evaluates to these) of properties of this type.

domainOn

Evaluates the value of the domain attribute of a property of this type on a given owner complex value.

elemName : string

Gets the singular name of Property.Type list-elements.

elemType : pentaho.type.Element.Type

The base element type of the singular values that the property can hold.

hasDescendants : boolean

Gets a value that indicates if this type has any descendant types.

helpUrl : __nonEmptyString

Gets or sets a URL pointing to documentation associated with this type.

id : __nonEmptyString

Gets the identifier of this type.

index : number

Gets the index of the property in the containing complex type.

inheritedStyleClasses : Array.<string>

Gets the style classes of this and any base types.

instance : pentaho.type.Instance

Gets the prototype of the instances of this type.

isAbstract : boolean

Gets a value that indicates if this type is abstract.

isAdvanced : boolean

Gets or sets the isAdvanced attribute of this type.

isApplicable : undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value or function that indicates if properties of this type are applicable.

isApplicableOn

Evaluates the value of the isApplicable attribute of a property of this type on a given owner complex value.

isBoundary : boolean

Gets or sets whether the property is a boundary property.

isBrowsable : boolean

Gets or sets the isBrowsable attribute of this type.

isComplex : boolean

Gets a value that indicates if this type is a complex type.

isContainer : boolean

Gets a value that indicates if this type is a list or a complex type.

isElement : boolean

Gets a value that indicates if this type is an element type.

isEnabled : undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value, or function, that indicates if properties of this type can be changed by a user, in a user interface.

isEnabledOn

Evaluates the value of the isEnabled attribute of a property of this type on a given owner complex value.

isList : boolean

Gets a value that indicates if the property is a list.

isProperty : boolean

Gets a value that indicates if this type is a property type.

isReadOnly : boolean

Gets or sets whether the value of properties of this type can be changed.

isRequired : undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value that indicates if properties of this type are required.

isRequiredOn

Evaluates the value of the isRequired attribute of a property of this type on a given complex value.

isRoot : boolean

Gets a value that indicates if this type is the root of its type hierarchy.

isSimple : boolean

Gets a value that indicates if this type is a simple type.

isValue : boolean

Gets a value that indicates if this type is a value type.

isVisualKey : undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value that indicates if visual roles of this type are visual keys.

key : string

Gets the key of the property.

keyName : string

Gets the singular name of Property.Type keys.

label : __nonEmptyString

Gets or sets the label of this type.

levels : pentaho.type.List.<pentaho.visual.role.Level>

Gets or sets the array of measurement levels for which the visual role has a special mode of operation.

mixins : Array.<pentaho.type.Type>

Gets or sets the mixin types that are locally mixed into this type.

name : __nonEmptyString

Gets or sets the name of the property type.

nameAlias : __nonEmptyString

Gets or sets the alias for the name of the property type.

ordinal : number

Gets or sets the ordinal associated with this type.

root : pentaho.type.Type

Gets the root type of this type hierarchy.

shortId : __nonEmptyString

Gets the short identifier of this type.

sourceId : __nonEmptyString

Gets the source module identifier of this type.

styleClass : __nonEmptyString

Gets or sets the CSS class associated with this type.

uid : number

Gets the unique identifier of this type.

valueType : pentaho.type.Value.Type

Gets or sets the type of value that properties of this type can hold.

Methods

Name Description
_collectElementValidators(addValidator, owner, value)
 
Protected

Called each time a property value is validated to collect the list of element validators.

_fillSpecInContext(spec, keyArgs) : boolean
 
Protected

Fills the given specification with this type's attributes' local values, and returns whether any attribute was actually added.

_getLabelDefault() : string
 
Protected

Gets the default label of the property.

_init(spec, keyArgs)
 
Protected

Performs initialization tasks that take place before the instance is extended with its spec.

_postInit(spec, keyArgs)
 
Protected

Performs initialization tasks that take place after the instance is extended with its specification.

_validateValueOn(owner, value) : pentaho.type.ValidationError | Array.<pentaho.type.ValidationError>
 
Protected

Validates the given non-null value in the context of this property.

buildSourceRelativeId(id) : string

Builds an absolute module identifier from one that is relative to the type's source location.

countRangeOn(owner) : pentaho.IRange.<number>

Evaluates the element count range of a property of this type on a given complex value.

create(instRef, instKeyArgs) : pentaho.type.Instance

Creates or resolves an instance of this type given an instance reference.

createAsync(instRef, instKeyArgs) : Promise.<pentaho.type.Instance>

Creates or resolves an instance of this type, asynchronously, given an instance reference.

defaultValueOn(owner) : pentaho.type.Value

Gets a default value for use in a given Complex instance.

getAttributesMaxLevelOf(model) : string | undefined

Determines the highest level of measurement supported by all of the data attributes of the current mapping of the given visualization model.

getLevelCompatibleWith(attributeLevel, allRoleLevels) : string | undefined

Determines the highest role level of measurement that is compatible with a given data property level of measurement, if any.

getLevelsCompatibleWith(attributeLevel, allRoleLevels) : Array.<string>

Chooses from allRoleLevels the levels of measurement that are compatible with a given data property level of measurement.

is(value) : boolean

Determines if a value is an instance of this type.

isSubtypeOf(superType) : boolean

Determines if this is a subtype of another.

isVisualKeyOn(model) : boolean

Evaluates the value of the isVisualKey attribute of this property type on a given visualization model.

levelAutoOn(model) : string | undefined

Determines the automatic measurement level of this visual role on the given visualization model, according to the mapping's current state.

levelEffectiveOn(model) : string | undefined

Determines the level of measurement on which this visual role will effectively be operating, on the given visualization model, according to the mapping's current state.

to(value, keyArgs) : pentaho.type.Instance

Converts a value to an instance of this type, if it is not one already.

toJSON() : UJsonValue

Creates a JSON specification that describes this type.

toRef(keyArgs) : pentaho.type.spec.UTypeReference

Returns a reference to this type.

toRefInContext(keyArgs) : pentaho.type.spec.UTypeReference

Returns a reference to this type under a given specification context.

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

Creates a specification that describes this type.

toSpecInContext(keyArgs) : pentaho.type.spec.ITypeProto

Creates a specification that describes this type.

toString() : string

Returns a textual representation suitable to identify this type in an error message.

toValueOn(defaultValueOwner, valueSpec) : pentaho.type.Value

Converts the given value or value specification to a value of this property's value type.

validateOn(model) : Array.<pentaho.type.ValidationError>

Determines if this visual role is valid on the given visualization model.

Constructor Details

new Type()
 
Static

Source: javascript/web/pentaho/visual/role/property.js, line 38

Members Details

_isLabelSet: boolean
 
Protected

Gets a value that indicates if the label is locally set.

Source: javascript/web/pentaho/type/_type.js, line 640

Inherited From: pentaho.type.Type#_isLabelSet

alias: __nonEmptyString

Gets the alias for the identifier of this type.

The alias of a type can only be specified when extending the ancestor type.

This attribute is not inherited.

When unspecified, defaults to null.

Source: javascript/web/pentaho/type/_type.js, line 503

Inherited From: pentaho.type.Type#alias

See also:  pentaho.type.Type#id

ancestor: pentaho.type.Type

Gets the parent type in the current type hierarchy, if any, or null.

The root type returns null.

Source: javascript/web/pentaho/type/_type.js, line 266

Inherited From: pentaho.type.Type#ancestor

See also:  pentaho.type.Type#root , pentaho.type.Type#hasDescendants

anyLevelsQualitative: boolean

Gets a value that indicates if the visual role has any qualitative levels.

Source: javascript/web/pentaho/visual/role/property.js, line 171

anyLevelsQuantitative: boolean

Gets a value that indicates if the visual role has any quantitative levels.

Source: javascript/web/pentaho/visual/role/property.js, line 189

application: object

Gets or sets the application attribute of this type.

The application property serves as a collection of properties specific to the container application that can be modified via the Configuration Service.

Setting this to a Nully value will have no effect.

Source: javascript/web/pentaho/type/_type.js, line 658

Inherited From: pentaho.type.Type#application

attributes: pentaho.visual.role.IPropertyAttributes

Gets or sets the attributes metadata related with this visual role property.

Source: javascript/web/pentaho/visual/role/property.js, line 418

category: __nonEmptyString

Gets or sets the category associated with this type.

The category is used primarily to group similar types (or instances of) in a user interface.

Attempting to set to a non-string value type implicitly converts the value to a string before assignment.

Setting this to undefined causes this attribute to use the inherited value, except for the root type, Instance.type (which has no ancestor), where the attribute is null.

Setting this to null or to an empty string clears the attribute and sets it to null, thus ignoring any inherited value.

Source: javascript/web/pentaho/type/_type.js, line 727

Inherited From: pentaho.type.Type#category

See also:  pentaho.type.Type#isBrowsable , pentaho.type.Type#ordinal

context: pentaho.type.Context

Gets the context that defined this type class.

Source: javascript/web/pentaho/type/_type.js, line 181

Inherited From: pentaho.type.Type#context

countMax: undefined | number | pentaho.type.spec.PropertyDynamicAttribute.<number>

Gets or sets the maximum number of elements that properties of this type can have.

A non-negative integer.

Note that this attribute is taken together with the isRequired and the countMin attributes to determine the effective element count range of a property type.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every complex instance.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, a property type having a countMax of 5 can later be changed to have a countMax of 3. However, a property type having a countMax of 5 can no longer "go back" to have a greater countMax, like 7. The countMax attribute can only change to a lower value.

Because this attribute is also dynamic, the actual countMax values are only known when evaluated for specific complex instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply do not take any effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value; or, undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

The default (root) countMax attribute value is Infinity.

Source: javascript/web/pentaho/type/property.js, line 1214

Inherited From: pentaho.type.Property.Type#countMax

See also:  pentaho.type.Complex#countRangeOf , pentaho.type.spec.IPropertyTypeProto#countMax

countMaxOn:

Evaluates the value of the countMax attribute of a property of this type on a given complex value.

This method is used to determine the effective element count range and is not intended to be used directly.

Source: javascript/web/pentaho/type/property.js, line 1198

Inherited From: pentaho.type.Property.Type#countMaxOn

See also:  pentaho.type.Property.Type#countMax

countMin: undefined | number | pentaho.type.spec.PropertyDynamicAttribute.<number>

Gets or sets the minimum number of elements that properties of this type must have.

A non-negative integer.

Note that this attribute is taken together with the isRequired attribute to determine the effective element count range of a property type.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every complex instance.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, a property type having a countMin of 1 can later be changed to have a countMin of 2. However, a property type having a countMin of 2 can no longer go back to have a lower countMin, like 0. The countMin attribute can only change to a greater value.

Because this attribute is also dynamic, the actual countMin values are only known when evaluated for specific complex instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply do not take effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value or undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

The default (root) countMin attribute value is 0.

Source: javascript/web/pentaho/type/property.js, line 1128

Inherited From: pentaho.type.Property.Type#countMin

See also:  pentaho.type.Complex#countRangeOf , pentaho.type.spec.IPropertyTypeProto#countMin

countMinOn:

Evaluates the value of the countMin attribute of a property of this type on a given complex value.

This method is used to determine the effective element count range and is not intended to be used directly.

Source: javascript/web/pentaho/type/property.js, line 1112

Inherited From: pentaho.type.Property.Type#countMinOn

See also:  pentaho.type.Property.Type#countMin

dataType: pentaho.type.Value.Type

Gets or sets the value type of data properties required by the visual role.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, the attribute can only change to a type that is a subtype of the attribute's current value; otherwise, an error is thrown.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

When set and the visual role property already has subtypes, an error is thrown.

When set to a Nully value, the set operation is ignored.

Otherwise, the set value is assumed to be an type reference and is first resolved using this.context.get.

The root visual.role.Property has a dataType attribute of Value.

Source: javascript/web/pentaho/visual/role/property.js, line 246

declaringType: pentaho.type.Complex.Type

Gets the complex type that declares this property type.

Source: javascript/web/pentaho/type/property.js, line 220

Inherited From: pentaho.type.Property.Type#declaringType

defaultValue: pentaho.type.Value | pentaho.type.spec.PropertyDynamicAttribute.<pentaho.type.spec.UValue>

Gets or sets the default value of properties of this type.

The default value is the "prototype" value that properties of this type take, on complex instances, when the property is unspecified or specified as a Nully value.

The value null is a valid default value.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every complex instance.

Get

When got and the default value (local or inherited) is not an instance of the value type (local or inherited), null is returned.

Set

When set and the property already has descendant properties, an error is thrown.

When set to null, it is respected.

When set to the control value undefined, the attribute value is reset, causing it to assume its default value (yes, the default value of the default value attribute...):

  • for root property types or properties with a locally set valueType, the default value is null
  • for other property types, the default value is the inherited value.

When set to a function, it is accepted. For each complex instance, the function is evaluated and its result converted to the property type's valueType, using its Value.Type#to method. The conversion may be impossible and thus an error may be thrown.

When set to any other value, it is immediately converted to the property type's valueType.

Source: javascript/web/pentaho/type/property.js, line 510

Overrides: pentaho.type.Property.Type#defaultValue

See also:  pentaho.type.spec.IPropertyTypeProto#defaultValue

defaultView: string

Gets or sets the default view for instances of this type.

The identifier of the view's AMD module. If the identifier is relative, it is relative to sourceId.

Setting this to undefined causes the default view to be inherited from the ancestor type, except for the root type, Instance.type (which has no ancestor), where the attribute is null.

Setting this to a falsy value (like null or an empty string), clears the value of the attribute and sets it to null, ignoring any inherited value.

Source: javascript/web/pentaho/type/_type.js, line 973

Inherited From: pentaho.type.Type#defaultView

See also:  pentaho.type.Type#buildSourceRelativeId

defaultViewAbs: string

Gets the absolute view module identifier, if any.

A default view exists if property pentaho.type.Type#defaultView has a non-null value.

Source: javascript/web/pentaho/type/_type.js, line 1008

Inherited From: pentaho.type.Type#defaultViewAbs

See also:  pentaho.type.Type#defaultView

description: __nonEmptyString

Gets or sets the description of this type.

Attempting to set to a non-string value type implicitly converts the value to a string before assignment.

Setting this to undefined causes this attribute to use the inherited value, except for the root type, Instance.type (which has no ancestor), where this attribute is null.

Setting this to null or to an empty string clears the attribute and sets it to null, ignoring any inherited value.

Source: javascript/web/pentaho/type/_type.js, line 687

Inherited From: pentaho.type.Type#description

domain: undefined | Array.<pentaho.type.Element> | pentaho.type.spec.PropertyDynamicAttribute.<Array.<pentaho.type.Element>>

Gets or sets the list of valid values (or a function that evaluates to these) of properties of this type.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function, its value is the same for every complex instance.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, the list of valid values can only be successfully reduced.

When the valueType is an enumeration, the initial list of valid values is its domain.

Because this attribute is also dynamic, the actual domain values are only known when evaluated for specific complex instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply do not take any effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value; or, undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

When the valueType is an enumeration, the values intersection preserves those which have a formatted value. When both instances have a formatted value, the one specified last wins.

The last specified domain determines the order.

Source: javascript/web/pentaho/type/mixins/discreteDomain.js, line 77

Inherited From: pentaho.type.Property.Type#domain

See also:  pentaho.type.Complex#domainOf , pentaho.type.mixins.spec.IDiscreteDomainTypeProto#domain

domainOn:

Evaluates the value of the domain attribute of a property of this type on a given owner complex value.

Source: javascript/web/pentaho/type/mixins/discreteDomain.js, line 65

Inherited From: pentaho.type.mixins.DiscreteDomain.Type#domainOn

See also:  pentaho.type.Property.Type#domain

Implements:
elemName: string

Gets the singular name of Property.Type list-elements.

Source: javascript/web/pentaho/type/property.js, line 185

Inherited From: pentaho.type.Property.Type#elemName

Default Value: "property"

elemType: pentaho.type.Element.Type

The base element type of the singular values that the property can hold.

When the property is a list property, that list type's element type, pentaho.type.List.Type#of, is returned.

Otherwise, pentaho.type.Property.type is returned.

Source: javascript/web/pentaho/type/property.js, line 354

Inherited From: pentaho.type.Property.Type#elemType

hasDescendants: boolean

Gets a value that indicates if this type has any descendant types.

Source: javascript/web/pentaho/type/_type.js, line 279

Inherited From: pentaho.type.Type#hasDescendants

See also:  pentaho.type.Type#ancestor

helpUrl: __nonEmptyString

Gets or sets a URL pointing to documentation associated with this type.

Attempting to set to a non-string value type implicitly converts the value to a string before assignment.

Setting this to undefined causes this attribute to use the inherited value, except for the root type, Instance.type (which has no ancestor), where the attribute is null.

Setting this to null or to an empty string clears the attribute and sets it to null, ignoring any inherited value.

Source: javascript/web/pentaho/type/_type.js, line 763

Inherited From: pentaho.type.Type#helpUrl

id: __nonEmptyString

Gets the identifier of this type.

The identifier of a type can only be specified when extending the ancestor type.

The identifier is only defined for types which have an associated AMD/RequireJS module. However, note that all have a pentaho.type.Type#uid.

This attribute is not inherited.

When unspecified, defaults to the value of sourceId.

Source: javascript/web/pentaho/type/_type.js, line 416

Inherited From: pentaho.type.Type#id

See also:  pentaho.type.Type#sourceId

index: number

Gets the index of the property in the containing complex type.

Source: javascript/web/pentaho/type/property.js, line 232

Inherited From: pentaho.type.Property.Type#index

inheritedStyleClasses: Array.<string>

Gets the style classes of this and any base types.

The returned array should not be modified.

Source: javascript/web/pentaho/type/_type.js, line 896

Inherited From: pentaho.type.Type#inheritedStyleClasses

instance: pentaho.type.Instance

Gets the prototype of the instances of this type.

Source: javascript/web/pentaho/type/_type.js, line 291

Inherited From: pentaho.type.Type#instance

isAbstract: boolean

Gets a value that indicates if this type is abstract.

This attribute can only be set once, upon the type definition.

Source: javascript/web/pentaho/type/_type.js, line 526

Inherited From: pentaho.type.Type#isAbstract

Default Value: false

isAdvanced: boolean

Gets or sets the isAdvanced attribute of this type.

Types with isAdvanced attributes set to false are typically immediately accessible to the user. An advanced type typically escapes the expected flow of utilization, yet it is sufficiently relevant to be shown in a user interface.

Setting this to a Nully value causes this attribute to use the inherited value, except for the root type, Instance.type (which has no ancestor), where the attribute is false.

Source: javascript/web/pentaho/type/_type.js, line 830

Inherited From: pentaho.type.Type#isAdvanced

See also:  pentaho.type.Type#isBrowsable

isApplicable: undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value or function that indicates if properties of this type are applicable.

When a property is not (currently) applicable, then it does not apply, as it does not make sense in a certain situation. It may only be applicable when another property of the complex type has a specific value, for example.

When a property is not currently applicable, its value is not significant and, as such, any validations concerning it are not performed.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every complex instance.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, a property type marked as applicable can later be marked as not applicable. However, a property type marked as not applicable can no longer go back to being applicable.

Because this attribute is also dynamic, the actual isApplicable values are only known when evaluated for specific complex instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply do not take any effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value; or, undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

The default (root) isApplicable attribute value is true.

Source: javascript/web/pentaho/type/property.js, line 1296

Inherited From: pentaho.type.Property.Type#isApplicable

See also:  pentaho.type.Property.Type#isRequired , pentaho.type.Complex#isApplicableOf , pentaho.type.spec.IPropertyTypeProto#isApplicable

isApplicableOn:

Evaluates the value of the isApplicable attribute of a property of this type on a given owner complex value.

Source: javascript/web/pentaho/type/property.js, line 1284

Inherited From: pentaho.type.Property.Type#isApplicableOn

See also:  pentaho.type.Property.Type#isApplicable

isBoundary: boolean

Gets or sets whether the property is a boundary property.

A boundary property identifies the limits of the aggregate of its declaring type.

If the value type is a list type, then this property sets its lists as boundary lists.

The validity of the object with a boundary property is not affected by the validity of the property's value (or values). Also, changes within its value(s) do not bubble through it.

Boundary properties do not cause their values to hold inverse references to the property holder. This means that, in objects connected by boundary properties, only the property holders prevent their values from being garbage collected, and not the other way round. On the contrary, non-boundary properties form object aggregates that can only be garbage-collected as a whole.

Get

The default value is false.

Set

Only a root property type can set its boundary attribute. When set on a non-root property type, an error is thrown.

When set and the root property already has descendant properties, an error is thrown.

When set to a Nully value, the set operation is ignored.

Otherwise, the set value is converted to boolean, by using Boolean.

Source: javascript/web/pentaho/type/property.js, line 726

Inherited From: pentaho.type.Property.Type#isBoundary

Default Value: false

isBrowsable: boolean

Gets or sets the isBrowsable attribute of this type.

Browsable types are exposed to the end user. Set this attribute to false to prevent exposing the type in a user interface.

Setting this to a Nully value causes this attribute to use the inherited value, except for the root type, Instance.type (which has no ancestor), where the attribute is true.

Source: javascript/web/pentaho/type/_type.js, line 796

Inherited From: pentaho.type.Type#isBrowsable

isComplex: boolean

Gets a value that indicates if this type is a complex type.

Source: javascript/web/pentaho/type/_type.js, line 376

Inherited From: pentaho.type.Type#isComplex

isContainer: boolean

Gets a value that indicates if this type is a list or a complex type.

Source: javascript/web/pentaho/type/_type.js, line 340

Inherited From: pentaho.type.Type#isContainer

isElement: boolean

Gets a value that indicates if this type is an element type.

Source: javascript/web/pentaho/type/_type.js, line 364

Inherited From: pentaho.type.Type#isElement

isEnabled: undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value, or function, that indicates if properties of this type can be changed by a user, in a user interface.

A property should be set disabled whenever its value is implied/imposed somehow, and thus cannot be changed directly by the user through a user interface.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every complex instance.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, a property type marked as enabled can later be marked as not enabled. However, a property type marked as not enabled can no longer go back to being enabled.

Because this attribute is also dynamic, the actual isEnabled values are only known when evaluated for specific complex instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply do not take any effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value; or, undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

The default (root) isEnabled attribute value is true.

Source: javascript/web/pentaho/type/property.js, line 1376

Inherited From: pentaho.type.Property.Type#isEnabled

See also:  pentaho.type.Complex#isEnabledOf , pentaho.type.spec.IPropertyTypeProto#isEnabled

isEnabledOn:

Evaluates the value of the isEnabled attribute of a property of this type on a given owner complex value.

Source: javascript/web/pentaho/type/property.js, line 1364

Inherited From: pentaho.type.Property.Type#isEnabledOn

See also:  pentaho.type.Property.Type#isEnabled

isList: boolean

Gets a value that indicates if the property is a list.

A property is a list property if its value type is a list type, that is, if it is or extends List.

Source: javascript/web/pentaho/type/property.js, line 334

Inherited From: pentaho.type.Property.Type#isList

isProperty: boolean

Gets a value that indicates if this type is a property type.

Source: javascript/web/pentaho/type/_type.js, line 327

Inherited From: pentaho.type.Type#isProperty

isReadOnly: boolean

Gets or sets whether the value of properties of this type can be changed.

If the value type is a list type, then this property effectively makes the list read-only.

Get

The default read-only value is the inherited read-only value.

A root property type has a default read-only value of false.

Set

When set and the property already has descendant properties, an error is thrown.

When set to a Nully value, the set operation is ignored.

Otherwise, the set value is converted to boolean, by using Boolean.

This property is monotonic. Once set to true, it can no longer be set to false.

Source: javascript/web/pentaho/type/property.js, line 661

Inherited From: pentaho.type.Property.Type#isReadOnly

isRequired: undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value that indicates if properties of this type are required.

When a property is of a required property type, it is considered invalid if its value (in a complex instance) is null; or, in the case of a list property type, it has zero elements.

Note that this attribute is taken together with the countMin attribute to determine the effective element count range of a property type.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each complex instance.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every complex instance.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, a property type marked as not required can later be marked as required. However, a property type marked as required can no longer go back to being not required.

Because this attribute is also dynamic, the actual required values are only known when evaluated for specific complex instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply do not take effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value or undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

The default (root) isRequired attribute value is false.

Source: javascript/web/pentaho/type/property.js, line 1039

Overrides: pentaho.type.Property.Type#isRequired

See also:  pentaho.type.Complex#isRequiredOf , pentaho.type.spec.IPropertyTypeProto#isRequired

isRequiredOn:

Evaluates the value of the isRequired attribute of a property of this type on a given complex value.

This method is used to determine the effective element count range and is not intended to be used directly.

Source: javascript/web/pentaho/type/property.js, line 1023

Inherited From: pentaho.type.Property.Type#isRequiredOn

See also:  pentaho.type.Property.Type#isRequired

isRoot: boolean

Gets a value that indicates if this type is the root of its type hierarchy.

Source: javascript/web/pentaho/type/_type.js, line 250

Inherited From: pentaho.type.Type#isRoot

See also:  pentaho.type.Type#root

isSimple: boolean

Gets a value that indicates if this type is a simple type.

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

Inherited From: pentaho.type.Type#isSimple

isValue: boolean

Gets a value that indicates if this type is a value type.

Source: javascript/web/pentaho/type/_type.js, line 315

Inherited From: pentaho.type.Type#isValue

isVisualKey: undefined | boolean | pentaho.type.spec.PropertyDynamicAttribute.<boolean>

Gets or sets a value that indicates if visual roles of this type are visual keys.

This attribute is Dynamic

When a dynamic attribute is set to a function, it can evaluate to a different value for each given visualization model.

When a dynamic attribute is set to a value other than a function or a Nully value, its value is the same for every visualization model.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, while a visual role's isVisualKey attribute is null, it can later be marked as being either true or false. However, after a visual role's isVisualKey is set or evaluates to either true or false, its value can no longer change.

Because this attribute is also dynamic, the actual isVisualKey values are only known when evaluated for specific mapping instances. This behavior ensures that monotonic changes are deferred until evaluation. No errors are thrown; non-monotonic changes simply don't take effect.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

The value got by the attribute is the last set local, value, if any - a function, a constant value or undefined, when unset.

When set to a Nully value, the set operation is ignored.

When set and the property already has descendant properties, an error is thrown.

The default (root) isVisualKey attribute value is null.

When the result of evaluation is null, the ultimate isVisualKey value is determined by considering that mapped mappings with a qualitative effective measurement level are the visual keys.

Source: javascript/web/pentaho/visual/role/property.js, line 282

See also:  pentaho.visual.role.Property.Type#isVisualKeyOn

Implements:
key: string

Gets the key of the property.

The key of a property is its name.

Source: javascript/web/pentaho/type/property.js, line 204

Inherited From: pentaho.type.Property.Type#key

Implements:
keyName: string

Gets the singular name of Property.Type keys.

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

Inherited From: pentaho.type.Property.Type#keyName

Default Value: "name"

label: __nonEmptyString

Gets or sets the label of this type.

When set to a non-Nully and non-String value, the value is first replaced by the result of calling its toString method.

When set to an empty string or a nully value, the attribute value is reset.

When reset, the attribute assumes its default value (except on the top-root type, Instance.type, in which case it has no effect).

The default value is the inherited value.

The initial value of the attribute on the top-root type is "instance".

Source: javascript/web/pentaho/type/_type.js, line 601

Inherited From: pentaho.type.Type#label

levels: pentaho.type.List.<pentaho.visual.role.Level>

Gets or sets the array of measurement levels for which the visual role has a special mode of operation.

A visual role that supports more than one measurement level is said to be modal.

Visual roles need to support at least one measurement level.

This attribute is Monotonic

The value of a monotonic attribute can change, but only in some, predetermined monotonic direction.

In this case, a measurement level can be removed from a visual role property, but one cannot be added.

This attribute is Inherited

When there is no local value, the effective value of the attribute is the inherited effective value.

The first set local value must respect the monotonicity property with the inherited value.

Other characteristics

When set to a Nully value, the set operation is ignored. The root visual.role.Property has a levels attribute which is the list of all possible measurement levels.

The returned array or its elements should not be modified.

Source: javascript/web/pentaho/visual/role/property.js, line 128

mixins: Array.<pentaho.type.Type>

Gets or sets the mixin types that are locally mixed into this type.

Can be set to either type identifiers, instance classes or type instances and arrays thereof.

The attributes defined by the added mixin types become available for extension/configuration on this type. When extending, mixins are always applied first.

When set to a Nully value, nothing is done.

Source: javascript/web/pentaho/type/_type.js, line 545

Inherited From: pentaho.type.Type#mixins

name: __nonEmptyString

Gets or sets the name of the property type.

The name of a property type identifies it within its declaring type.

Set

This attribute must be set when defining a new property type, and cannot be changed afterwards.

When set to a non-Nully and non-String value, the value is first replaced by the result of calling its toString method.

Source: javascript/web/pentaho/type/property.js, line 261

Inherited From: pentaho.type.Property.Type#name

See also:  pentaho.type.spec.IPropertyTypeProto#name

nameAlias: __nonEmptyString

Gets or sets the alias for the name of the property type.

The alias for the name of a property type is an alternative identifier for serialization purposes.

Set

This attribute can only be set when defining a new property type, and cannot be changed afterwards.

When set to a non-Nully and non-String value, the value is first replaced by the result of calling its toString method.

Source: javascript/web/pentaho/type/property.js, line 307

Inherited From: pentaho.type.Property.Type#nameAlias

See also:  pentaho.type.spec.IPropertyTypeProto#nameAlias

ordinal: number

Gets or sets the ordinal associated with this type.

The ordinal is used to disambiguate the order with which a type (or an instance of it) is shown in a user interface.

Setting this to a Nully value causes this attribute to use the inherited value, except for the root type, Instance.type (which has no ancestor), where the attribute is 0.

Source: javascript/web/pentaho/type/_type.js, line 930

Inherited From: pentaho.type.Type#ordinal

See also:  pentaho.type.Type#isBrowsable , pentaho.type.Type#category

root: pentaho.type.Type

Gets the root type of this type hierarchy.

Even though the ultimate type root of types defined in this system is Instance, the system is designed to represent multiple type hierarchies, each representing concrete, more meaningful concepts.

When deriving a type from Instance, it can be marked as the root of a type hierarchy, by specifying the isRoot keyword argument to extend.

Typically, root types are immediate subtypes of Instance. However, this is not enforced and it is up to the developer to decide at what level a practical, meaningful type root arises.

For example, Value is the root of value types. However, Property, also an immediate subtype of Instance, is not considered a root type. It is the immediate subtypes of Property (each root property within a complex type) which are considered roots. This aligns with users expectations of what an attribute named root in a property type should mean.

Source: javascript/web/pentaho/type/_type.js, line 207

Inherited From: pentaho.type.Type#root

See also:  pentaho.type.Type#isRoot , pentaho.type.Type#ancestor

shortId: __nonEmptyString

Gets the short identifier of this type.

The short identifier of a type is equal to its alias, provided it is defined. Otherwise, it is equal to the identifier.

Source: javascript/web/pentaho/type/_type.js, line 461

Inherited From: pentaho.type.Type#shortId

See also:  pentaho.type.Type#id , pentaho.type.Type#alias

sourceId: __nonEmptyString

Gets the source module identifier of this type.

The source identifier is the module identifier of the actual AMD/RequireJS module that provides the type and may be different from the identifier when an AMD package or custom mapping is configured for the module.

The source identifier is used to resolve module identifiers relative to the source module, as is the case with the pentaho.type.Type#defaultView attribute.

The source identifier of a type can only be specified when extending the ancestor type.

This attribute is not inherited.

When unspecified, defaults to the value of id.

Source: javascript/web/pentaho/type/_type.js, line 446

Inherited From: pentaho.type.Type#sourceId

See also:  pentaho.type.Type#id , pentaho.type.Type#defaultView

styleClass: __nonEmptyString

Gets or sets the CSS class associated with this type.

This attribute is typically used to associate an icon with a type.

Attempting to set to a non-string value type implicitly converts the value to a string before assignment.

An empty string or null clears the property value.

Setting to undefined, makes the property assume its default value.

The default value of a type with an id is the identifier converted to snake-case, plus special characters like \, /, _, . and spaces are converted to: a dash (). For example: "pentaho/visual/models/heatGrid" would have a default styleClass of: "pentaho-visual-ccc-heat-grid". The default value of an anonymous type is null.

Source: javascript/web/pentaho/type/_type.js, line 874

Inherited From: pentaho.type.Type#styleClass

uid: number

Gets the unique identifier of this type.

Unique type identifiers are auto-generated in each session.

Note that even anonymous types (those whose pentaho.type.Type#id is null) have a unique identifier.

This attribute is not inherited.

Source: javascript/web/pentaho/type/_type.js, line 201

Inherited From: pentaho.type.Type#uid

valueType: pentaho.type.Value.Type

Gets or sets the type of value that properties of this type can hold.

If the value type is a list type, then this property will be a list (or multiple-elements) property; otherwise, this property will be an element (or single-element) property.

Get

The default value type is the inherited value type.

A root property type has a default value type of string.

Set

When set and the property already has descendant properties, an error is thrown.

When set to a Nully value, the set operation is ignored.

Otherwise, the set value is assumed to be an spec.UTypeReference and is first resolved using this.context.get.

When set to a value type that is not a subtype of the attribute's current value type, an error is thrown.

Relation to the defaultValue attribute

When set and the defaultValue attribute is not locally set, it is set to null, blocking inheritance.

Otherwise, if it is locally set, it is checked against the new value type, and set to null, if it's not an instance of it.

Source: javascript/web/pentaho/type/property.js, line 410

Overrides: pentaho.type.Property.Type#valueType

See also:  pentaho.type.spec.IPropertyTypeProto#valueType

Methods Details

_collectElementValidators(addValidator, owner, value)
 
Protected

Called each time a property value is validated to collect the list of element validators.

When overriding this method, be sure to also call the base implementation.

Source: javascript/web/pentaho/type/property.js, line 893

Inherited From: pentaho.type.Property.Type#_collectElementValidators

Parameters:
Name Default Value Summary
addValidator : function

The function to call to register an element validator.

owner : pentaho.type.Complex

The complex value that owns the property.

value : pentaho.type.Value

The value whose elements will be validated.

_fillSpecInContext(spec, keyArgs) : boolean
 
Protected

Fills the given specification with this type's attributes' local values, and returns whether any attribute was actually added.

This method requires that there currently exists an ambient specification context.

This method does not add the special id and base attributes to the specification.

Source: javascript/web/pentaho/type/_type.js, line 1315

Overrides: pentaho.type.Property.Type#_fillSpecInContext

Parameters:
Name Default Value Summary
spec : Object

The specification to be filled.

keyArgs : Object
 
Optional

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

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

Returns:
Name Description
boolean

Returns true if any attribute was added; false, otherwise.

See also:  pentaho.type.Instance#toSpecInContext

_getLabelDefault() : string
 
Protected

Gets the default label of the property.

The label of a root property is reset to a capitalization of the name attribute. A non-root property inherits the label of its closest ancestor.

Source: javascript/web/pentaho/type/property.js, line 620

Inherited From: pentaho.type.Property.Type#_getLabelDefault

Returns:
Name Description
string | null

The default label or an empty value.

_init(spec, keyArgs)
 
Protected

Performs initialization tasks that take place before the instance is extended with its spec.

Source: javascript/web/pentaho/type/property.js, line 134

Inherited From: pentaho.type.Property.Type#_init

Parameters:
Name Default Value Summary
spec : pentaho.type.spec.UPropertyTypeProto

A property name or specification object.

keyArgs : Object

Keyword arguments.

Parameters:
Name Default Value Summary
declaringType : pentaho.type.Complex.Type

The complex type that declares the property.

index : number

The index of the property within its complex type.

_postInit(spec, keyArgs)
 
Protected

Performs initialization tasks that take place after the instance is extended with its specification.

This method is typically overridden to validate or default the values of the attributes.

Source: javascript/web/pentaho/type/_type.js, line 170

Inherited From: pentaho.type.Type#_postInit

Parameters:
Name Default Value Summary
spec : Object

The specification of this type.

keyArgs : Object

Keyword arguments.

_validateValueOn(owner, value) : pentaho.type.ValidationError | Array.<pentaho.type.ValidationError>
 
Protected

Validates the given non-null value in the context of this property.

The base implementation calls _collectElementValidators to obtain the list of currently applicable element validators. Then, each element is validated against the list of collected validators.

When overriding this method, the error utilities in pentaho.type.Util can be used to help in the implementation.

Source: javascript/web/pentaho/type/property.js, line 853

Inherited From: pentaho.type.Property.Type#_validateValueOn

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

The complex value that owns the property.

value : pentaho.type.Value

The value to validate.

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

An error, a non-empty array of errors or null.

buildSourceRelativeId(id) : string

Builds an absolute module identifier from one that is relative to the type's source location.

Relative module identifiers start with a . and do not end with ".js". For example, "./view" and "../view", but not ./view.js.

Absolute identifiers are returned without modification.

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

Inherited From: pentaho.type.Type#buildSourceRelativeId

Parameters:
Name Default Value Summary
id : string

A module identifier.

Returns:
Name Description
string

An absolute module identifier.

See also:  pentaho.type.Type#sourceId

countRangeOn(owner) : pentaho.IRange.<number>

Evaluates the element count range of a property of this type on a given complex value.

The element count range is a conciliation of the effective value of the following attributes:

The logic can be best explained by the following simple example function:

function evaluateRange(isList, isRequiredEf, countMinEf, countMaxEf) {
  var min = countMinEf;
  var max = countMaxEf;

  if(!isList && min > 1) min = 1;
  if(!isList && max > 1) max = 1;

  if(isRequiredEf && min < 1) min = 1;

  if(max < min) max = min;

  return {min: min, max};
}

When the property is not a list property, then both the minimum and maximum values can only be either zero or one.

If isRequired is true, then the minimum must be greater than or equal to one.

The countMax value is constrained to be greater than or equal to the minimum.

Source: javascript/web/pentaho/type/property.js, line 1484

Inherited From: pentaho.type.Property.Type#countRangeOn

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

The complex value that owns a property of this type.

Returns:
Name Description
pentaho.IRange.<number>

The evaluated element count range.

See also:  pentaho.type.Complex#countRangeOf

create(instRef, instKeyArgs) : pentaho.type.Instance

Creates or resolves an instance of this type given an instance reference.

This method delegates to InstancesContainer#get with this type as the typeBase argument.

Source: javascript/web/pentaho/type/_type.js, line 1115

Inherited From: pentaho.type.Type#create

Parameters:
Name Default Value Summary
instRef : pentaho.type.spec.UInstanceReference
 
Optional

An instance reference.

instKeyArgs : Object
 
Optional

The keyword arguments passed to the instance constructor, when one is created.

Returns:
Name Description
pentaho.type.Instance

The created instance or the resolved instance (possibly null).

Throws:
Name Description
Error

Other errors, as documented in: InstancesContainer#get.

See also:  pentaho.type.Type#createAsync , pentaho.type.Type#to , pentaho.type.Type#is

Examples

Create a complex instance from a specification that contains the type inline.

require(["pentaho/type/Context"], function(Context) {

 Context.createAsync({application: "data-explorer-101"})
 .then(function(context) {

 var Value = context.get("value");

 var product = Value.type.create({
 _: {
 props: ["id", "name", {name: "price", valueType: "number"}]
 },

 id: "mpma",
 name: "Principia Mathematica",
 price: 1200
 });

 // ...
 });
});

Create a list instance from a specification that contains the type inline.

require(["pentaho/type/Context"], function(Context) {

 Context.createAsync({application: "data-explorer-101"})
 .then(function(context) {

 var Value = context.get("value");

 var productList = Value.type.create({
 _: [{
 props: ["id", "name", {name: "price", valueType: "number"}]
 }],

 d: [
 {id: "mpma", name: "Principia Mathematica", price: 1200},
 {id: "flot", name: "The Laws of Thought", price: 500}
 ]
 });

 // ...
 });
});

Create an instance from a specification that does not contain the type inline.

require(["pentaho/type/Context"], function(Context) {

 Context.createAsync({application: "data-explorer-101"})
 .then(function(context) {

 var ProductList = context.get([{
 props: [
 "id",
 "name",
 {name: "price", valueType: "number"}
 ]
 }]);

 // Provide the default type, in case the instance spec doesn't provide one.
 var productList = ProductList.type.create(
 [
 {id: "mpma", name: "Principia Mathematica", price: 1200},
 {id: "flot", name: "The Laws of Thought", price: 500}
 ]);

 // ...
 });
});
createAsync(instRef, instKeyArgs) : Promise.<pentaho.type.Instance>

Creates or resolves an instance of this type, asynchronously, given an instance reference.

This method delegates to InstancesContainer#getAsync with this type as the typeBase argument.

Source: javascript/web/pentaho/type/_type.js, line 1136

Inherited From: pentaho.type.Type#createAsync

Parameters:
Name Default Value Summary
instRef : pentaho.type.spec.UInstanceReference
 
Optional

An instance reference.

instKeyArgs : Object
 
Optional

The keyword arguments passed to the instance constructor, when one is created.

Returns:
Name Description
Promise.<pentaho.type.Instance>

A promise to the created instance or resolved instance (possibly null).

See also:  pentaho.type.Type#create

defaultValueOn(owner) : pentaho.type.Value

Gets a default value for use in a given Complex instance.

Ensures that list properties always have a non-null default value.

Source: javascript/web/pentaho/type/property.js, line 592

Inherited From: pentaho.type.Property.Type#defaultValueOn

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

The complex value that owns the property.

Returns:
Name Description
pentaho.type.Value

The default value.

getAttributesMaxLevelOf(model) : string | undefined

Determines the highest level of measurement supported by all of the data attributes of the current mapping of the given visualization model.

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/property.js, line 551

Parameters:
Name Default Value Summary
model : pentaho.visual.base.Model

The visualization model.

Returns:
Name Description
string | undefined

The highest level of measurement.

getLevelCompatibleWith(attributeLevel, allRoleLevels) : string | undefined

Determines the highest role level of measurement that is compatible with a given data property level of measurement, if any.

Source: javascript/web/pentaho/visual/role/property.js, line 596

Parameters:
Name Default Value Summary
attributeLevel : string

The level of measurement of the data property.

allRoleLevels : Array.<pentaho.visual.role.Level>
 
Optional

The role's levels of measurement. Defaults to the visual role's levels.

Returns:
Name Description
string | undefined

The highest role level of measurement or undefined if none.

getLevelsCompatibleWith(attributeLevel, allRoleLevels) : Array.<string>

Chooses from allRoleLevels the levels of measurement that are compatible with a given data property level of measurement.

Source: javascript/web/pentaho/visual/role/property.js, line 616

Parameters:
Name Default Value Summary
attributeLevel : string

The level of measurement of the data property.

allRoleLevels : Array.<pentaho.visual.role.Level>
 
Optional

The role's levels of measurement. Defaults to the visual role's levels.

Returns:
Name Description
Array.<string>

The compatible role's levels of measurement.

is(value) : boolean

Determines if a value is an instance of this type.

Source: javascript/web/pentaho/type/_type.js, line 1179

Inherited From: pentaho.type.Type#is

Parameters:
Name Default Value Summary
value : any

The value to test.

Returns:
Name Description
boolean

true if the value is an instance of this type; false, otherwise.

isSubtypeOf(superType) : boolean

Determines if this is a subtype of another.

A type is considered a subtype of itself.

Source: javascript/web/pentaho/type/_type.js, line 1191

Inherited From: pentaho.type.Type#isSubtypeOf

Parameters:
Name Default Value Summary
superType : pentaho.type.Type

The candidate super-type.

Returns:
Name Description
boolean

true if this is a subtype of superType type; false, otherwise.

isVisualKeyOn(model) : boolean

Evaluates the value of the isVisualKey attribute of this property type on a given visualization model.

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

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

Source: javascript/web/pentaho/visual/role/property.js, line 653

Parameters:
Name Default Value Summary
model : pentaho.visual.base.Model

The visualization model.

Returns:
Name Description
boolean

The evaluated value of the isVisualKey attribute.

levelAutoOn(model) : string | undefined

Determines the automatic measurement level of this visual role on the given visualization model, according to the mapping's current state.

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 current mapping is empty (has no mapped attributes), undefined is returned.

When the current 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/property.js, line 505

Parameters:
Name Default Value Summary
model : pentaho.visual.base.Model

The visualization model.

Returns:
Name Description
string | undefined

The automatic level of measurement.

levelEffectiveOn(model) : string | undefined

Determines the level of measurement on which this visual role will effectively be operating, on the given visualization model, according to the mapping's current state.

When Mapping#level is not null, that measurement level is returned. Otherwise, the result of calling levelAutoOn, 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/property.js, line 481

Parameters:
Name Default Value Summary
model : pentaho.visual.base.Model

The visualization model.

Returns:
Name Description
string | undefined

The effective level of measurement.

to(value, keyArgs) : pentaho.type.Instance

Converts a value to an instance of this type, if it is not one already.

If a Nully value is specified, null is returned.

Otherwise, if a given value is not already an instance of this type (checked using is), this method delegates the creation of an instance to create.

Source: javascript/web/pentaho/type/_type.js, line 1212

Inherited From: pentaho.type.Type#to

Parameters:
Name Default Value Summary
value : any

The value to convert.

keyArgs : Object
 
Optional

The keyword arguments passed to create, when a new instance is created.

Returns:
Name Description
pentaho.type.Instance | null

The converted value or null.

toJSON() : UJsonValue

Creates a JSON specification that describes this type.

Attributes which do not have a JSON-compatible specification are omitted. Specifically, 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/_type.js, line 1290

Inherited From: pentaho.type.Type#toJSON

Returns:
Name Description
UJsonValue

A JSON-compatible specification.

See also:  pentaho.type.Instance#toSpec

toRef(keyArgs) : pentaho.type.spec.UTypeReference

Returns a reference to this type.

This method returns a reference to this type that is appropriate to be the value of an inline type property that is included on a specification of an instance of this type.

If an ambient specification context, currently exists, it is used to manage the serialization process. Otherwise, one is created and set as current.

When a type is not anonymous, the id is returned.

For anonymous types, a temporary, serialization-only identifier is generated. In the first occurrence in the given scope, that identifier is returned, within a full specification of the type, obtained by calling toSpecInContext. In following occurrences, only the previously used temporary identifier is returned.

Some standard types have a special reference syntax. For example: List.Type#toRef.

Source: javascript/web/pentaho/type/_type.js, line 1408

Inherited From: pentaho.type.Type#toRef

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

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

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

Returns:
Name Description
pentaho.type.spec.UTypeReference

A reference to this type.

See also:  pentaho.type.Type#toSpec

toRefInContext(keyArgs) : pentaho.type.spec.UTypeReference

Returns a reference to this type under a given specification context.

This method requires that there currently exists an ambient specification context.

Source: javascript/web/pentaho/type/_type.js, line 1428

Inherited From: pentaho.type.Type#toRefInContext

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

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

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

Returns:
Name Description
pentaho.type.spec.UTypeReference

A reference to this type.

See also:  pentaho.type.Type#toRef

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

Creates a specification that describes this type.

If an ambient specification context, currently exists, it is used to manage the serialization process. Otherwise, one is created and set as current.

This method creates a new pentaho.type.SpecificationScope for describing this type, and any other instances and types it references, and then delegates the actual work to pentaho.type.Type#toSpecInContext.

Source: javascript/web/pentaho/type/_type.js, line 1243

Inherited From: pentaho.type.Type#toSpec

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

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

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

Parameters:
Name Default Value Summary
isJson : boolean
 
Optional
false

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

Returns:
Name Description
pentaho.type.spec.ITypeProto

A specification of this type.

See also:  pentaho.type.Type#toSpecInContext , pentaho.type.Type#_fillSpecInContext

toSpecInContext(keyArgs) : pentaho.type.spec.ITypeProto

Creates a specification that describes this type.

This method requires that there currently exists an ambient specification context.

The default implementation returns a plain object with the identifier of the type and any other specified attributes (like label or description).

Source: javascript/web/pentaho/type/_type.js, line 1266

Inherited From: pentaho.type.Type#toSpecInContext

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

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

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

Returns:
Name Description
pentaho.type.spec.ITypeProto

A specification of this type.

See also:  pentaho.type.Type#toSpec

toString() : string

Returns a textual representation suitable to identify this type in an error message.

Source: javascript/web/pentaho/type/_type.js, line 1439

Inherited From: pentaho.type.Type#toString

Returns:
Name Description
string

A textual representation.

toValueOn(defaultValueOwner, valueSpec) : pentaho.type.Value

Converts the given value or value specification to a value of this property's value type.

If the given value is already an instance of the property's value type, it is returned.

By default, if, defaultValueOwner is specified, a Nully value is converted to the property's default value, pentaho.type.Property.Type#defaultValue.

Source: javascript/web/pentaho/type/property.js, line 566

Inherited From: pentaho.type.Property.Type#toValueOn

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

The complex value that owns the property. Only needed if it is desired that Nully values are converted to the property's default value.

valueSpec : any

A value or value specification.

Returns:
Name Description
pentaho.type.Value | null

A value.

validateOn(model) : Array.<pentaho.type.ValidationError>

Determines if this visual role is valid on the given visualization model.

If generic property validation fails, those errors are returned.

Otherwise, validity is further determined as follows:

  1. If the visualization model has a null data, then every data property in the current mapping's attributes is considered undefined and invalid
  2. Otherwise, if the visual model has a non-null data, then each data property in the current mapping's attributes:
    1. Must be defined in data
    2. Must be compatible with the visual role, in terms of data type and measurement level
  3. The number of currently mapped attributes must satisfy the usual property cardinality constraints, like isRequired, countMin and countMax
  4. Currently mapped attributes must not be duplicates:
    1. If the mapping has a quantitative effective level of measurement, 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/property.js, line 732

Overrides: pentaho.type.Property.Type#validateOn

Parameters:
Name Default Value Summary
model : pentaho.visual.base.Model

The visualization model.

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

A non-empty array of ValidationError or null.