ListType
pentaho.type. ListType
The base type class of plural value types.
For more information see pentaho.type.List
.
Extends
Constructor
Name | Description |
---|---|
new ListType() |
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 |
application : object | Gets or sets the |
category : nonEmptyString | Gets or sets the category associated with this type. |
description : nonEmptyString | Gets or sets the description of this type. |
elementType : pentaho.type.Type | Gets the element type of this type. |
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. |
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 |
isBrowsable : boolean | Gets or sets the |
isComplex : boolean | |
isContainer : boolean | Gets a value that indicates if this type |
isContinuous : boolean | Gets a value that indicates if this is a continuous type. |
isElement : boolean | Gets a value that indicates if this type |
isEntity : boolean | Gets a value that indicates if this type is an entity type. |
isList : boolean | |
isProperty : boolean | Gets a value that indicates if this type |
isReadOnly : boolean | Gets a value that indicates whether this type, and all of the types of any contained values, cannot be changed, from the outside. |
isRoot : boolean | Gets a value that indicates if this type is the root of its type hierarchy. |
isSimple : boolean | |
isValue : boolean | |
label : nonEmptyString | Gets or sets the label of this type. |
mixins : Array.<pentaho.type.Type> | Gets or sets the mixin types that are locally mixed into this type. |
of : pentaho.type.ElementType | Gets or sets the type of the elements that this type of list can contain. |
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. |
uid : number | Gets the unique identifier of this type. |
Methods
Name | Description |
---|---|
_assertNoSubtypesAttribute(attributeName) Protected | Asserts that the type has no subtypes and that as such the given attribute can be set. |
_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 to use when the label is not set. |
_init(spec, keyArgs) : object Protected | Performs initialization tasks that take place before the instance is extended with its specification. |
_normalizeInstanceSpec(instSpec) : * Protected | Normalizes a given non- |
_postInit(spec, keyArgs) Protected | Performs initialization tasks that take place after the instance is extended with its specification. |
_toSpecInContextCore(keyArgs) : pentaho.type.spec.IType Protected | Called to actually create a specification of this anonymous type, when it is the first time that this type occurs in the ambient specification context. |
areEqual(valueA, valueB) : boolean | Gets a value that indicates if two given values are considered equal. |
areEqualContent(valueA, valueB) : boolean | Gets a value that indicates if two values are equal and content-equal. |
areEqualContentElements(listA, listB) : boolean | Gets a value that indicates if all of the elements of two lists of the same type are content-equal. |
create(instSpec, instKeyArgs) : pentaho.type.Instance | Creates or resolves an instance of this type given an instance reference. |
createAsync(instSpec, instKeyArgs) : Promise.<pentaho.type.Instance> | Creates or resolves an instance of this type, asynchronously, given an instance reference. |
hasNormalizedInstanceSpecKeyData(instSpec) : boolean | Gets a value that indicates if a given normalized value specification has any key information. |
is(value) : boolean | Determines if a value is an instance of this type. |
isSubtypeOf(superType) : boolean | Determines if this is a subtype of another. |
normalizeInstanceSpec(instSpec) : object | Normalizes a given value specification. |
to(value, keyArgs) : pentaho.type.Instance | Converts a value to an instance of this type, if it is not one already. |
toJSON() : JsonValue | Creates a JSON specification that describes this type. |
toSpec(keyArgs) : pentaho.type.spec.TypeReference | Creates a specification that describes this type. |
toSpecInContext(keyArgs) : pentaho.type.spec.TypeReference | Creates a specification that describes this type. |
toString() : string | Returns a textual representation suitable to identify this type in an error message. |
Constructor Details
new ListType() |
---|
Members Details
_isLabelSet: boolean Protected |
---|
Gets a value that indicates if the label is locally set. Source: javascript/web/pentaho/type/InstanceType.js, line 652 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 Source: javascript/web/pentaho/type/InstanceType.js, line 515 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 The root type returns Source: javascript/web/pentaho/type/InstanceType.js, line 265 Inherited From: pentaho.type.Type#ancestor See also: pentaho.type.Type#root , pentaho.type.Type#hasDescendants |
application: object |
---|
Gets or sets the The application property serves as a collection of properties specific to the container application that can be modified via the Setting this to a Source: javascript/web/pentaho/type/InstanceType.js, line 670 Inherited From: pentaho.type.Type#application |
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 Setting this to Source: javascript/web/pentaho/type/InstanceType.js, line 739 Inherited From: pentaho.type.Type#category See also: pentaho.type.Type#isBrowsable , pentaho.type.Type#ordinal |
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 Setting this to Source: javascript/web/pentaho/type/InstanceType.js, line 699 Inherited From: pentaho.type.Type#description |
elementType: pentaho.type.Type |
---|
Gets the element type of this type. If this type is a Source: javascript/web/pentaho/type/InstanceType.js, line 420 Overrides: pentaho.type.ValueType#elementType See also: pentaho.type.Type#isList , pentaho.type.Type#isElement , pentaho.type.ListType#of |
hasDescendants: boolean |
---|
Gets a value that indicates if this type has any descendant types. Source: javascript/web/pentaho/type/InstanceType.js, line 278 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 Setting this to Source: javascript/web/pentaho/type/InstanceType.js, line 775 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 This attribute is not inherited. When unspecified, defaults to the value of Source: javascript/web/pentaho/type/InstanceType.js, line 449 Overrides: pentaho.type.ValueType#id See also: pentaho.type.Type#sourceId |
instance: pentaho.type.Instance |
---|
Gets the prototype of the instances of this type. Source: javascript/web/pentaho/type/InstanceType.js, line 290 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/InstanceType.js, line 538 Inherited From: pentaho.type.Type#isAbstract Default Value: false |
isAdvanced: boolean |
---|
Gets or sets the Types with Setting this to a Source: javascript/web/pentaho/type/InstanceType.js, line 842 Inherited From: pentaho.type.Type#isAdvanced See also: pentaho.type.Type#isBrowsable |
isBrowsable: boolean |
---|
Gets or sets the Browsable types are exposed to the end user. Set this attribute to Setting this to a Source: javascript/web/pentaho/type/InstanceType.js, line 808 Inherited From: pentaho.type.Type#isBrowsable |
isComplex: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 374 Inherited From: pentaho.type.Type#isComplex |
isContainer: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 339 Overrides: pentaho.type.ValueType#isContainer |
isContinuous: boolean |
---|
Gets a value that indicates if this is a continuous type. A non-continuous type is said to be categorical. The default implementation returns false. The types Source: javascript/web/pentaho/type/InstanceType.js, line 402 Inherited From: pentaho.type.Type#isContinuous |
isElement: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 363 Inherited From: pentaho.type.Type#isElement |
isEntity: boolean |
---|
Gets a value that indicates if this type is an entity type.
Source: javascript/web/pentaho/type/List.js, line 686 Overrides: pentaho.type.ValueType#isEntity See also: pentaho.type.Value#$key |
isList: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 351 Overrides: pentaho.type.ValueType#isList |
isProperty: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 326 Inherited From: pentaho.type.Type#isProperty |
isReadOnly: boolean |
---|
Gets a value that indicates whether this type, and all of the types of any contained values, cannot be changed, from the outside.
However, if a complex property is read-only and has a list value type, then the value of the property itself, the list instance, is marked Source: javascript/web/pentaho/type/List.js, line 699 Overrides: pentaho.type.ValueType#isReadOnly |
isRoot: boolean |
---|
Gets a value that indicates if this type is the root of its type hierarchy. Source: javascript/web/pentaho/type/InstanceType.js, line 249 Inherited From: pentaho.type.Type#isRoot See also: pentaho.type.Type#root |
isSimple: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 386 Inherited From: pentaho.type.Type#isSimple |
isValue: boolean |
---|
Gets a value that indicates if this type Source: javascript/web/pentaho/type/InstanceType.js, line 314 Inherited From: pentaho.type.Type#isValue |
label: nonEmptyString |
---|
Gets or sets the label of this type. When set to a non- 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, The default value is the inherited value. The initial value of the attribute on the top-root type is Source: javascript/web/pentaho/type/InstanceType.js, line 613 Inherited From: pentaho.type.Type#label |
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 Source: javascript/web/pentaho/type/InstanceType.js, line 557 Inherited From: pentaho.type.Type#mixins |
of: pentaho.type.ElementType |
---|
Gets or sets the type of the elements that this type of list can contain. Must and can only be specified upon definition. Must be a subtype of the ancestor type's When set to When set to Source: javascript/web/pentaho/type/List.js, line 747 See also: pentaho.type.spec.IListType#of |
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 Source: javascript/web/pentaho/type/InstanceType.js, line 875 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 When deriving a type from Typically, root types are immediate subtypes of For example, Source: javascript/web/pentaho/type/InstanceType.js, line 206 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/InstanceType.js, line 492 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 The source identifier is used to resolve module identifiers relative to the source module. 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 Source: javascript/web/pentaho/type/InstanceType.js, line 477 Inherited From: pentaho.type.Type#sourceId See also: pentaho.type.Type#id |
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 This attribute is not inherited. Source: javascript/web/pentaho/type/InstanceType.js, line 200 Inherited From: pentaho.type.Type#uid |
Methods Details
_assertNoSubtypesAttribute(attributeName) Protected | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Asserts that the type has no subtypes and that as such the given attribute can be set. Source: javascript/web/pentaho/type/InstanceType.js, line 1045 Inherited From: pentaho.type.Type#_assertNoSubtypesAttribute
|
_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 This method does not add the special Source: javascript/web/pentaho/type/InstanceType.js, line 1248 Inherited From: pentaho.type.Type#_fillSpecInContext
See also: pentaho.type.Instance#toSpecInContext |
_getLabelDefault() : string Protected | ||||
---|---|---|---|---|
Gets the default label to use when the label is not set. Source: javascript/web/pentaho/type/InstanceType.js, line 641 Inherited From: pentaho.type.Type#_getLabelDefault
|
_init(spec, keyArgs) : object Protected | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Performs initialization tasks that take place before the instance is extended with its specification. This method is typically overridden to block the inheritance of certain attributes. Source: javascript/web/pentaho/type/InstanceType.js, line 164 Inherited From: pentaho.type.Type#_init
|
_normalizeInstanceSpec(instSpec) : * Protected | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Normalizes a given non- Source: javascript/web/pentaho/type/List.js, line 810 Overrides: pentaho.type.ValueType#_normalizeInstanceSpec
|
_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/InstanceType.js, line 182 Overrides: pentaho.type.ValueType#_postInit
|
_toSpecInContextCore(keyArgs) : pentaho.type.spec.IType Protected | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Called to actually create a specification of this anonymous type, when it is the first time that this type occurs in the ambient specification context. Source: javascript/web/pentaho/type/InstanceType.js, line 1197 Overrides: pentaho.type.ValueType#_toSpecInContextCore
See also: pentaho.type.Type#_toSpecInContextCore |
areEqual(valueA, valueB) : boolean | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gets a value that indicates if two given values are considered equal. Two values are considered equal if they represent the same real-world entity. The execution proceeds as follows:
Source: javascript/web/pentaho/type/Value.js, line 411 Inherited From: pentaho.type.ValueType#areEqual
See also: pentaho.type.Value#$key , pentaho.type.Value#equals |
areEqualContent(valueA, valueB) : boolean | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gets a value that indicates if two values are equal and content-equal. Checks that both values are Source: javascript/web/pentaho/type/Value.js, line 431 Inherited From: pentaho.type.ValueType#areEqualContent
|
areEqualContentElements(listA, listB) : boolean | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gets a value that indicates if all of the elements of two lists of the same type are content-equal. Source: javascript/web/pentaho/type/Value.js, line 445 Inherited From: pentaho.type.ValueType#areEqualContentElements
|
create(instSpec, instKeyArgs) : pentaho.type.Instance | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Creates or resolves an instance of this type given an instance reference. This method delegates to Source: javascript/web/pentaho/type/InstanceType.js, line 977 Inherited From: pentaho.type.Type#create
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/Instance", "pentaho/type/standard"], function(Instance) { var product = Instance.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/Instance", "pentaho/type/standard"], function(Instance) { var productList = Instance.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/Instance", "pentaho/type/standard"], function(Instance) { var ProductList = Instance.type.create([{ 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(instSpec, instKeyArgs) : Promise.<pentaho.type.Instance> | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Creates or resolves an instance of this type, asynchronously, given an instance reference. This method delegates to Source: javascript/web/pentaho/type/InstanceType.js, line 998 Inherited From: pentaho.type.Type#createAsync
See also: pentaho.type.Type#create |
hasNormalizedInstanceSpecKeyData(instSpec) : boolean | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Gets a value that indicates if a given normalized value specification has any key information. The default implementation returns Source: javascript/web/pentaho/type/Value.js, line 525 Inherited From: pentaho.type.ValueType#hasNormalizedInstanceSpecKeyData
See also: pentaho.type.ValueType#isEntity , pentaho.type.ValueType#normalizeInstanceSpec , pentaho.type.Value#$key |
is(value) : boolean | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Determines if a value is an instance of this type. Source: javascript/web/pentaho/type/InstanceType.js, line 1059 Inherited From: pentaho.type.Type#is
|
isSubtypeOf(superType) : boolean | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Determines if this is a subtype of another. A type is considered a subtype of itself. Source: javascript/web/pentaho/type/InstanceType.js, line 1071 Inherited From: pentaho.type.Type#isSubtypeOf
|
normalizeInstanceSpec(instSpec) : object | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Normalizes a given value specification. Usually, "deserialization" is handled in a type's constructor. However, for proper handling of the For example, some complex types can serialize as a single string if only its main property is specified. In such cases, this method would return a normal, object, generic specification containing the given value as the value of the main property. This method calls the Source: javascript/web/pentaho/type/Value.js, line 488 Inherited From: pentaho.type.ValueType#normalizeInstanceSpec
|
to(value, keyArgs) : pentaho.type.Instance | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Converts a value to an instance of this type, if it is not one already. If a Otherwise, if a given value is not already an instance of this type (checked using Source: javascript/web/pentaho/type/InstanceType.js, line 1092 Inherited From: pentaho.type.Type#to
|
toJSON() : JsonValue | ||||
---|---|---|---|---|
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 Source: javascript/web/pentaho/type/InstanceType.js, line 1223 Inherited From: pentaho.type.Type#toJSON
See also: pentaho.type.Instance#toSpec |
toSpec(keyArgs) : pentaho.type.spec.TypeReference | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Creates a specification that describes this type. If an This method creates a new This method returns a reference to this type that is appropriate to be the value of an When a type has an identifier, its For anonymous types, a Source: javascript/web/pentaho/type/InstanceType.js, line 1137 Inherited From: pentaho.type.Type#toSpec
See also: pentaho.type.Type#toSpecInContext , pentaho.type.Type#_fillSpecInContext |
toSpecInContext(keyArgs) : pentaho.type.spec.TypeReference | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Creates a specification that describes this type. This method requires that there currently exists an This method handles the cases where this type has an Source: javascript/web/pentaho/type/InstanceType.js, line 1166 Inherited From: pentaho.type.Type#toSpecInContext
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/InstanceType.js, line 1293 Inherited From: pentaho.type.Type#toString
|