Skip to main content

Pentaho+ documentation has moved!

The new product documentation portal is here. Check it out now at docs.hitachivantara.com

 

Hitachi Vantara Lumada and Pentaho Documentation

IPropertyType

pentaho.type.spec. IPropertyType

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

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

Source: doc-js/pentaho/type/spec/IPropertyType.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.TypeReference

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

category :  nonEmptyString | *

The category associated with the type.

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

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

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

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

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

The default value of properties of this type.

defaultView :  string | function

The default view for instances of the type.

description :  nonEmptyString | *

The description of the type.

helpUrl :  nonEmptyString | *

An URL pointing to documentation associated with the type.

id :  string

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

isAbstract :  boolean | *

Indicates if the type is abstract.

isAdvanced :  boolean | *

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

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

Indicates if properties of this type are applicable.

isBrowsable :  boolean | *

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

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

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

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

Indicates if properties of this type are required.

label :  nonEmptyString | *

The label of the property type.

name :  nonEmptyString | *

The name of the property type.

nameAlias :  nonEmptyString | *

The alias for the name of the property type.

ordinal :  number | *

The ordinal associated with the type.

sourceId :  string

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

styleClass :  nonEmptyString | *

The CSS class associated with the type.

valueType :  pentaho.type.spec.TypeReference

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

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/IType.jsdoc, line 74

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

See also: pentaho.type.spec.IType#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/IType.jsdoc, line 121

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

See also: pentaho.type.Type#application

base:  pentaho.type.spec.TypeReference

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/IPropertyType.jsdoc, line 29

Overrides: pentaho.type.spec.IType#base

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

category:  nonEmptyString | *

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/IType.jsdoc, line 153

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

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

countMax:  number | pentaho.type.spec.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/IPropertyType.jsdoc, line 330

See also: pentaho.type.spec.IPropertyType#countMin , pentaho.type.PropertyType#countMax

countMin:  number | pentaho.type.spec.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/IPropertyType.jsdoc, line 288

See also: pentaho.type.spec.IPropertyType#countMax , pentaho.type.PropertyType#countMin

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

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.

The control value undefined resets the attribute, 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.

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

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

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

See also: pentaho.type.PropertyType#defaultValue

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/IType.jsdoc, line 257

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

description:  nonEmptyString | *

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/IType.jsdoc, line 135

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

helpUrl:  nonEmptyString | *

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/IType.jsdoc, line 175

Inherited From: pentaho.type.spec.IType#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/IType.jsdoc, line 53

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

See also: pentaho.type.SpecificationContext.isIdTemporary

isAbstract:  boolean | *

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/IType.jsdoc, line 37

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

Default Value: false

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

isAdvanced:  boolean | *

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/IType.jsdoc, line 208

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

isApplicable:  boolean | pentaho.type.spec.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/IPropertyType.jsdoc, line 210

See also: pentaho.type.spec.IPropertyType#isRequired , pentaho.type.PropertyType#isApplicable

isBrowsable:  boolean | *

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/IType.jsdoc, line 193

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

isEnabled:  boolean | pentaho.type.spec.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/IPropertyType.jsdoc, line 251

See also: pentaho.type.PropertyType#isEnabled

isRequired:  boolean | pentaho.type.spec.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.

Other characteristics

When a Nully value is specified, it is ignored.

The default (root) isRequired attribute value is false.

Source: doc-js/pentaho/type/spec/IPropertyType.jsdoc, line 164

See also: pentaho.type.spec.IPropertyType#valueType , pentaho.type.spec.IPropertyType#countMin , pentaho.type.PropertyType#isRequired , pentaho.type.PropertyType#countRangeOn

label:  nonEmptyString | *

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/IPropertyType.jsdoc, line 88

Overrides: pentaho.type.spec.IType#label

name:  nonEmptyString | *

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/IPropertyType.jsdoc, line 46

See also: pentaho.type.PropertyType#name

nameAlias:  nonEmptyString | *

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/IPropertyType.jsdoc, line 68

See also: pentaho.type.PropertyType#nameAlias

ordinal:  number | *

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/IType.jsdoc, line 240

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

See also: pentaho.type.spec.IType#isBrowsable , pentaho.type.spec.IType#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/IType.jsdoc, line 91

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

See also: pentaho.type.SpecificationContext.isIdTemporary

styleClass:  nonEmptyString | *

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/IType.jsdoc, line 223

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

valueType:  pentaho.type.spec.TypeReference

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.TypeReference and is first resolved using ILoader#resolveType.

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

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

See also: pentaho.type.PropertyType#valueType