Skip to main content
Hitachi Vantara Lumada and Pentaho Documentation

Type

pentaho.type.Refinement.Type

The type class of refinement types.

For more information see pentaho.type.Refinement.

Extends

Constructor

Name Description
new Type()
 
Static

Members

Name Description
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.

application : object

Gets or sets the application attribute of this type.

category : nonEmptyString

Gets or sets the category associated with this type.

context : pentaho.type.Context

Gets the context that defined this type class.

defaultView : string | function

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

defaultViewClass : Promise.<>

Gets a promise for the default view class or factory, if any; or null.

description : nonEmptyString

Gets or sets the description of this type.

facets : Array.<pentaho.type.RefinementFacet>

Gets or sets the refinement facet classes that are mixed in this refinement 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.

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.

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.

isList : boolean

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

isProperty : boolean

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

isRefinement : boolean

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

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.

label : nonEmptyString

Gets or sets the label of this type.

of : pentaho.type.Element.Type | pentaho.type.List.Type

Gets or sets the representation type refined by this refinement 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.

Methods

Name Description
_fillSpecInContext(spec, keyArgs) : boolean
 
Protected

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

_init(spec, keyArgs)
 
Protected

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

_postInit(spec, keyArgs)
 
Protected

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

_validateFacets(value) : Array.<!pentaho.type.ValidationError>
 
Protected

Determines if a value that is an instance of this type and a valid instance of its actual type is also a valid instance of this refinement type, according to the registered refinement facets.

areEqual(va, vb) : boolean

Gets a value that indicates if two given values are equal.

buildSourceRelativeId(id) : string

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

create(instSpec, keyArgs) : pentaho.type.Instance

Creates an instance of this type, given an instance specification.

createAsync(instSpec, keyArgs) : Promise.<pentaho.type.Instance>

Creates an instance of this type, asynchronously, given an instance specification.

extendProto(typeSpec, keyArgs) : pentaho.type.Type

Creates a subtype of this one.

is(value) : boolean

Determines if a value is an instance of this type.

isSubtypeOf(superType) : boolean

Determines if this is a subtype of another.

isValid(value) : boolean

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

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.

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

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

validateInstance(value) : Array.<!pentaho.type.ValidationError>

Determines if a value, that is an instance of this type, is also a valid instance of this (and its) type.

Constructor Details

new Type()
 
Static

Source: javascript/web/pentaho/type/refinement.js, line 36

Members Details

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 538

Overrides: pentaho.type.Value.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 234

Inherited From: pentaho.type.Type#ancestor

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

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 640

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 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 713

Overrides: pentaho.type.Value.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 149

Inherited From: pentaho.type.Type#context

defaultView: string | function

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

When a string, it is 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.

When a function, it is the class or factory of the default view.

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

Overrides: pentaho.type.Value.Type#defaultView

See also:  pentaho.type.Type#defaultViewClass , pentaho.type.Type#buildSourceRelativeId

defaultViewClass: Promise.<>

Gets a promise for the default view class or factory, if any; or null.

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

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

Inherited From: pentaho.type.Type#defaultViewClass

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 669

Overrides: pentaho.type.Value.Type#description

facets: Array.<pentaho.type.RefinementFacet>

Gets or sets the refinement facet classes that are mixed in this refinement type.

Can be set to either refinement facet identifiers or classes, to add facets to the refinement type.

The attributes defined by the added refinement facets become available for extension/configuration on the refinement type.

Source: javascript/web/pentaho/type/refinement.js, line 312

See also:  pentaho.type.spec.IRefinementTypeProto#facets

hasDescendants: boolean

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

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

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 753

Overrides: pentaho.type.Value.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 397

Overrides: pentaho.type.Value.Type#id

See also:  pentaho.type.Type#sourceId

inheritedStyleClasses: Array.<string>

Gets the style classes of this and any base types.

Does not modify the returned array.

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

Overrides: pentaho.type.Value.Type#inheritedStyleClasses

instance: pentaho.type.Instance

Gets the prototype of the instances of this type.

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

Inherited From: pentaho.type.Type#instance

isAbstract: boolean

Gets a value that indicates if this type is abstract.

This implementation is sealed and always returns the value of the representation type.

Source: javascript/web/pentaho/type/refinement.js, line 400

Overrides: pentaho.type.Value.Type#isAbstract

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 828

Overrides: pentaho.type.Value.Type#isAdvanced

See also:  pentaho.type.Type#isBrowsable

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 790

Overrides: pentaho.type.Value.Type#isBrowsable

isComplex: boolean

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

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

Overrides: pentaho.type.Value.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 308

Overrides: pentaho.type.Value.Type#isContainer

isElement: boolean

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

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

Overrides: pentaho.type.Value.Type#isElement

isList: boolean

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

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

Overrides: pentaho.type.Value.Type#isList

isProperty: boolean

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

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

Inherited From: pentaho.type.Type#isProperty

isRefinement: boolean

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

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

Overrides: pentaho.type.Value.Type#isRefinement

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 218

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 368

Overrides: pentaho.type.Value.Type#isSimple

isValue: boolean

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

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

Inherited From: pentaho.type.Type#isValue

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 604

Overrides: pentaho.type.Value.Type#label

of: pentaho.type.Element.Type | pentaho.type.List.Type

Gets or sets the representation type refined by this refinement type.

When set to a Nully value, an error is thrown.

Must and can only be specified at a top-refinement type, upon definition.

Source: javascript/web/pentaho/type/refinement.js, line 370

See also:  pentaho.type.spec.IRefinementTypeProto#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 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 929

Overrides: pentaho.type.Value.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 175

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 472

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 442

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 875

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 169

Inherited From: pentaho.type.Type#uid

Methods Details

_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 1463

Overrides: pentaho.type.Value.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

_init(spec, keyArgs)
 
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/_type.js, line 87

Overrides: pentaho.type.Value.Type#_init

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

The specification of this type.

keyArgs : Object

Keyword arguments.

Parameters:
Name Default Value Summary
instance : pentaho.type.Instance

The prototype of the Instance class associated with this type.

isRoot : boolean
 
Optional
false

If true, creates a root 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 the values of the attributes.

The default implementation does nothing.

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

Inherited From: pentaho.type.Type#_postInit

Parameters:
Name Default Value Summary
spec : Object

The specification of this type.

keyArgs : Object

Keyword arguments.

_validateFacets(value) : Array.<!pentaho.type.ValidationError>
 
Protected

Determines if a value that is an instance of this type and a valid instance of its actual type is also a valid instance of this refinement type, according to the registered refinement facets.

For all registered refinement facets, their validate method is called and any reported errors collected.

This method is called by the default implementation of validateInstance. It is provided just in case you need to override the latter implementation.

Source: javascript/web/pentaho/type/refinement.js, line 673

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

The value to validate.

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

An array of errors or null.

areEqual(va, vb) : boolean

Gets a value that indicates if two given values are equal.

If both values are Nully, true is returned. If only one is Nully, false is returned. If the values have different constructors, false is returned. Otherwise, pentaho.type.Value#equals is called on va, with vb as an argument, and its result is returned.

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

Inherited From: pentaho.type.Value.Type#areEqual

Parameters:
Name Default Value Summary
va : pentaho.type.Value | Nully
 
Optional

The first value.

vb : pentaho.type.Value | Nully
 
Optional

The second value.

Returns:
Name Description
boolean

true if two values are equal; false, otherwise.

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 491

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

create(instSpec, keyArgs) : pentaho.type.Instance

Creates an instance of this type, given an instance specification.

If the instance specification contains an inline type reference, in property "_", the referenced type is used to create the instance (as long as it is a subtype of this type).

If the specified instance specification does not contain an inline type reference, the type is assumed to be this type.

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

Overrides: pentaho.type.Value.Type#create

Parameters:
Name Default Value Summary
instSpec : pentaho.type.spec.UInstance
 
Optional

An instance specification.

keyArgs : Object
 
Optional

The keyword arguments passed to the instance constructor.

Returns:
Name Description
pentaho.type.Instance

The created instance.

Throws:
Name Description
pentaho.lang.OperationInvalidError

When instSpec contains an inline type reference that refers to a type that is not a subtype of this one.

Error

When instSpec contains an inline type reference which is not defined as a module in the AMD module system (specified directly in instSpec, or present in an generic type specification).

Error

When instSpec contains an inline type reference which is from a module that the AMD module system has not loaded yet.

pentaho.lang.OperationInvalidError

When the determined type for the specified instSpec is an abstract type.

See also:  pentaho.type.Type#createAsync , pentaho.type.Type#isSubtypeOf , pentaho.type.Context#get

Examples

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

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

 var context = new Context({application: "data-explorer-101"});
 var Value = context.get("value");

 var product = Value.type.create({
 _: {
 props: ["id", "name", {name: "price", type: "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) {

 var context = new Context({application: "data-explorer-101"});
 var Value = context.get("value");

 var productList = Value.type.create({
 _: [{
 props: ["id", "name", {name: "price", type: "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) {

 var context = new Context({application: "data-explorer-101"});
 var ProductList = context.get([{
 props: [
 "id",
 "name",
 {name: "price", type: "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, keyArgs) : Promise.<pentaho.type.Instance>

Creates an instance of this type, asynchronously, given an instance specification.

If the instance specification contains an inline type reference, in property "_", the referenced type is used to create the instance (as long as it is a subtype of this type).

If the specified instance specification does not contain an inline type reference, the type is assumed to be this type.

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

Inherited From: pentaho.type.Type#createAsync

Parameters:
Name Default Value Summary
instSpec : pentaho.type.spec.UInstance
 
Optional

An instance specification.

keyArgs : Object
 
Optional

The keyword arguments passed to create.

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

A promise to the created instance.

See also:  pentaho.type.Type#create , pentaho.type.Type#isSubtypeOf , pentaho.type.Context#get

extendProto(typeSpec, keyArgs) : pentaho.type.Type

Creates a subtype of this one.

This method creates a subtype that does not have own instance or type constructors. The base type's instance and type constructors are used to initialize instances and the type.

To create a type with own constructors, extend from the base instance constructor instead, by calling its extend method.

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

Inherited From: pentaho.type.Type#extendProto

Parameters:
Name Default Value Summary
typeSpec : object
 
Optional

The new type specification.

keyArgs : object
 
Optional

Keyword arguments.

Returns:
Name Description
pentaho.type.Type

The created subtype.

is(value) : boolean

Determines if a value is an instance of this type.

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

Overrides: pentaho.type.Value.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.

A refinement type is a subtype of its representation type, of.

Source: javascript/web/pentaho/type/refinement.js, line 452

Overrides: pentaho.type.Value.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.

isValid(value) : boolean

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

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

The isValid method can be seen as a stronger version of pentaho.type.Value.Type#is.

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

Inherited From: pentaho.type.Value.Type#isValid

Parameters:
Name Default Value Summary
value : any

The value to validate.

Returns:
Name Description
boolean

true if the value is a valid instance of this type, false if not.

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 1359

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 1438

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 1539

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 1559

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 1390

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 1413

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 1570

Inherited From: pentaho.type.Type#toString

Returns:
Name Description
string

A textual representation.

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

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

Validation of value proceeds as follows:

  1. If it is Nully, an error is returned
  2. If it does not satisfy is, an error is returned
  3. Validation is delegated to validateInstance.

Use this method when you know nothing about a value. Otherwise, if you know that a value is an instance of this type, you can call validateInstance instead.

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

Inherited From: pentaho.type.Value.Type#validate

Parameters:
Name Default Value Summary
value : any

The value to validate.

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

A non-empty array of errors or null.

See also:  pentaho.type.Value.Type#isValid

validateInstance(value) : Array.<!pentaho.type.ValidationError>

Determines if a value, that is an instance of this type, is also a valid instance of this (and its) type.

Thus, this.is(value) must be true.

The default implementation calls value.validate() and, if the latter returns no errors, it additionally validates the value against this type's refinement facets, by calling _validateFacets.

Source: javascript/web/pentaho/type/refinement.js, line 645

Overrides: pentaho.type.Value.Type#validateInstance

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

The value to validate.

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

A non-empty array of errors or null.

See also:  pentaho.type.Value#validate , pentaho.type.Refinement.Type#_validateFacets