Skip to main content
Pentaho Documentation

IPropertyTypeProto

pentaho.type.spec.IPropertyTypeProto

The spec.IPropertyTypeProto interface represents the information used to define a property of a complex type.

It is used as part of the pentaho.type.spec.IComplexTypeProto specification.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 17

Extends

Members

Name Description
alias : nonEmptyString

The alias for the identifier of this type.

application : object

The application property of the type.

base : pentaho.type.spec.UTypeReference

A reference to the property type's base type, if any.

category : nonEmptyString | any

The category associated with the type.

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

The maximum number of elements that properties of this type can have.

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

The minimum number of elements that properties of this type must have.

defaultView : string | function

The default view for instances of the type.

description : nonEmptyString | any

The description of the type.

helpUrl : nonEmptyString | any

An URL pointing to documentation associated with the type.

id : string

The identifier of the type's AMD module, a temporary identifier, or null.

instance : pentaho.type.spec.ITypeProto

The extensible/configurable members of the prototype of instance classes.

isAbstract : boolean | any

Indicates if the type is abstract.

isAdvanced : boolean | any

Indicates if the type should be exposed only to advanced users in a user interface.

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

Indicates if properties of this type are applicable.

isBrowsable : boolean | any

Indicates if the type should be exposed to users in a user interface.

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

Indicates if properties of this type can be changed by a user in a user interface.

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

Indicates if properties of this type are required.

label : nonEmptyString | any

The label of the property type.

name : nonEmptyString | any

The name of the property type.

nameAlias : nonEmptyString | any

The alias for the name of the property type.

ordinal : number | any

The ordinal associated with the type.

sourceId : string

The identifier of the value type's source AMD module, or null.

styleClass : nonEmptyString | any

The CSS class associated with the type.

type : pentaho.type.spec.UTypeReference

The type of value that properties of this type can hold.

value : pentaho.type.spec.UValue

The default value of properties of this type.

Members Details

alias: nonEmptyString

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: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 84

Inherited From: pentaho.type.spec.ITypeProto#alias

See also:  pentaho.type.spec.ITypeProto#id

application: object

The application property of the type.

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

Nully values will be ignored by the application property.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 131

Inherited From: pentaho.type.spec.ITypeProto#application

See also:  pentaho.type.Type#application

base: pentaho.type.spec.UTypeReference

A reference to the property type's base type, if any.

The property type's base type can only be specified on a root property of a complex type, in which case it defaults to pentaho.type.Property.

For non-root property types, their base property type is that with the same name in the base type of the declaring type.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 29

Overrides: pentaho.type.spec.ITypeProto#base

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

category: nonEmptyString | any

The category associated with the type.

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

When non-Nully and not a string, it is taken instead to be the result of calling its toString method.

When undefined, the category is inherited from the base type.

When an empty string or null, the category is forced to be null, ignoring any inherited value.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 163

Inherited From: pentaho.type.spec.ITypeProto#category

See also:  pentaho.type.spec.ITypeProto#isBrowsable , pentaho.type.spec.ITypeProto#ordinal

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

The maximum number of elements that properties of this type can have.

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

A dynamic attribute accepts a function that is evaluated to a different value for each complex instance. When the value is not a function, it applies to every 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.

This attribute is Inherited

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

Other characteristics

When a Nully value is specified, it is ignored.

The default (root) countMax attribute value is Infinity.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 331

See also:  pentaho.type.spec.IPropertyTypeProto#countMin , pentaho.type.Property.Type#countMax

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

The minimum number of elements that properties of this type must have.

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

A dynamic attribute accepts a function that is evaluated to a different value for each complex instance. When the value is not a function, it applies to every 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.

This attribute is Inherited

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

Other characteristics

When a Nully value is specified, it is ignored.

The default (root) countMin attribute value is 0.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 289

See also:  pentaho.type.spec.IPropertyTypeProto#countMax , pentaho.type.Property.Type#countMin

defaultView: string | function

The default view for instances of the type.

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

When undefined, the view is inherited from the base type, if any. The root view is null.

When falsy (like if null or an empty string), the value is forced to be null, ignoring any inherited value.

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

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 267

Inherited From: pentaho.type.spec.ITypeProto#defaultView

description: nonEmptyString | any

The description of the type.

When non-Nully and not a string, it is taken instead to be the result of calling its toString method.

When undefined, the description is inherited from the base type.

When an empty string or null, the description is forced to be null, ignoring any inherited value.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 145

Inherited From: pentaho.type.spec.ITypeProto#description

helpUrl: nonEmptyString | any

An URL pointing to documentation associated with the type.

When non-Nully and not a string, it is taken instead to be the result of calling its toString method.

When undefined, the help url is inherited from the base type.

When an empty string or null, the help url is forced to be null, ignoring any inherited value.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 185

Inherited From: pentaho.type.spec.ITypeProto#helpUrl

id: string

The identifier of the type's AMD module, a temporary identifier, or null.

An empty string or undefined value is interpreted as null.

For serialization purposes, a temporary identifier can be assigned to an anonymous type. An identifier is temporary if it starts with idTemporaryPrefix.

Temporary identifiers are ignored upon type construction.

When unspecified or null, it defaults to sourceId.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 63

Inherited From: pentaho.type.spec.ITypeProto#id

See also:  pentaho.type.SpecificationContext.isIdTemporary

instance: pentaho.type.spec.ITypeProto

The extensible/configurable members of the prototype of instance classes.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 53

Inherited From: pentaho.type.spec.ITypeProto#instance

See also:  pentaho.type.spec.IInstanceProto#type

isAbstract: boolean | any

Indicates if the type is abstract.

An abstract type cannot be used directly to create an instance and, as such, it is not usually exposed to users in a user interface.

When not a boolean, it is taken instead to be the result of passing it to the Boolean function.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 37

Inherited From: pentaho.type.spec.ITypeProto#isAbstract

Default Value: false

See also:  pentaho.type.spec.ITypeProto#isBrowsable

isAdvanced: boolean | any

Indicates if the type should be exposed only to advanced users in a user interface.

When non-Nully and not a boolean, it is taken instead to be the result of passing it to the Boolean function.

When Nully, the attribute value is inherited from the base type, if any. The root value is false.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 218

Inherited From: pentaho.type.spec.ITypeProto#isAdvanced

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

Indicates if properties of this type are applicable.

When a property is not (currently) applicable, then it does not apply; 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

A dynamic attribute accepts a function that is evaluated to a different value for each complex instance. When the value is not a function, it applies to every 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.

This attribute is Inherited

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

Other characteristics

When a Nully value is specified, it is ignored.

The default (root) isApplicable attribute value is true.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 211

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

isBrowsable: boolean | any

Indicates if the type should be exposed to users in a user interface.

When non-Nully and not a boolean, it is taken instead to be the result of passing it to the Boolean function.

When Nully, the attribute value is inherited from the base type, if any. The root value is true.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 203

Inherited From: pentaho.type.spec.ITypeProto#isBrowsable

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

Indicates if properties of this type can be changed by a user in a user interface.

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

This attribute is Dynamic

A dynamic attribute accepts a function that is evaluated to a different value for each complex instance. When the value is not a function, it applies to every 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.

This attribute is Inherited

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

Other characteristics

When a Nully value is specified, it is ignored.

The default (root) isEnabled attribute value is true.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 252

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

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

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

A dynamic attribute accepts a function that is evaluated to a different value for each complex instance. When the value is not a function, it applies to every 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.

This attribute is Inherited

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

label: nonEmptyString | any

The label of the property type.

When non-Nully and not a string, it is taken instead to be the result of calling its toString method.

When an empty string or Nully, the label is inherited from the base type.

The default label of a root property type is a capitalization of its name.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 88

Overrides: pentaho.type.spec.ITypeProto#label

name: nonEmptyString | any

The name of the property type.

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

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

When the specified name is the name of an inherited property, this property specification overrides the inherited property.

When the specified name is the name of an existing local property, this property specification configures the existing property.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 46

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

nameAlias: nonEmptyString | any

The alias for the name of the property type.

The alias of a property type is an alternative name 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: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 68

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

ordinal: number | any

The ordinal associated with the type.

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

When Nully, the ordinal is inherited from the base type, if any. The root value is 0.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 250

Inherited From: pentaho.type.spec.ITypeProto#ordinal

See also:  pentaho.type.spec.ITypeProto#isBrowsable , pentaho.type.spec.ITypeProto#category

sourceId: string

The identifier of the value type's source AMD module, or null.

An empty string or undefined value is interpreted as null.

When unspecified or null, it defaults to id.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 101

Inherited From: pentaho.type.spec.ITypeProto#sourceId

See also:  pentaho.type.SpecificationContext.isIdTemporary

styleClass: nonEmptyString | any

The CSS class associated with the type.

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

When null or an empty string, the attribute value is set to null.

When unspecified, or undefined, the attribute value defaults to the type's id, in snake-case, if it has one; or, null, if not.

Source: doc-js/pentaho/type/spec/ITypeProto.jsdoc, line 233

Inherited From: pentaho.type.spec.ITypeProto#styleClass

type: pentaho.type.spec.UTypeReference

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.

When unspecified and name is that of an existing or inherited property type, the local or inherited value type is used.

When unspecified and name defines a new, root property, the default value type is pentaho/type/string.

Cannot be a Nully value.

When specified, the value is a spec.UTypeReference and is first resolved using Context#get.

The resolved value type must be a subtype of the attribute's current (local or inherited) value type.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 105

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

value: pentaho.type.spec.UValue

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. A cloned value is used each time.

The value null is a valid default value.

The control value undefined resets the attribute, causing it to assume its default value:

  • for root property types, the default value is null
  • for non-root property types, the default value is the inherited value, if it is an instance of the property type's value type, or, null, otherwise.

Else, the value must be a valid specification for a value of the property type's current (local or inherited) value type.

When this is a list property type, the value must be a valid list value specification.

Source: doc-js/pentaho/type/spec/IPropertyTypeProto.jsdoc, line 134

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