Skip to main content
Pentaho Documentation

SortedList

pentaho.lang.SortedList

The SortedList class is an abstract base class for ordered arrays.

Remarks

If an attempt is made to add an element to a specific index of the list, an error is thrown.

AMD Module

require(["pentaho/lang/SortedList"], function(SortedList) { /* code goes here */ });

Extends

Constructor

Name Description
new SortedList(keyArgs)
 
Abstract

Initializes a sorted list instance.

Members

Name Description
elemClass : Class

Gets the constructor function of the elements held by this list.

length : number

The length of the list.

Methods

Name Description
_getElemName() : string
 
Protected

Gets a common name for the elements held by this list.

add(elem, keyArgs) : pentaho.lang.IListElement

Appends an element to the list and returns it.

addMany(elems, keyArgs) : number

Appends elements to the list and returns its new length.

push(elems) : number

Appends elements to the list and returns its new length.

search(elem) : number

Performs a binary search on the sorted list.

toSpec() : Array

Creates a specification of this list.

Constructor Details

new SortedList(keyArgs)
 
Abstract

Initializes a sorted list instance.

Note that because a SortedList is a sub-class of Array, the new operator cannot be used to create instances (at least up to ECMAScript version 5). Instead, instances of SortedList are actually initial instances of Array whose prototype is then changed to be that of SortedList.

In other words, SortedList is an "initialization" constructor (see pentaho.lang.ISpecifiable for more information on these concepts).

Concrete SortedList sub-classes should provide a static to method to help in their construction.

Source: javascript/web/pentaho/lang/SortedList.js, line 28

Parameters:
Name Default Value Summary
keyArgs : Object
 
Optional

The keyword arguments.

Parameters:
Name Default Value Summary
comparer : function
 
Optional

Specifies a function that defines the sort order.

keyArgs is also passed-through to the methods that handle the initialization of each list element.

Members Details

elemClass: Class

Gets the constructor function of the elements held by this list.

This class must implement the pentaho.lang.IListElement interface.

Source: javascript/web/pentaho/lang/List.js, line 82

Inherited From: pentaho.lang.List#elemClass

length: number

The length of the list.

Source: javascript/web/pentaho/lang/List.js, line 98

Inherited From: pentaho.lang.List#length

Methods Details

_getElemName() : string
 
Protected

Gets a common name for the elements held by this list.

The default implementation returns the value of pentaho.lang.IListElement#elemName of pentaho.lang.List#elemClass.

Source: javascript/web/pentaho/lang/List.js, line 94

Inherited From: pentaho.lang.List#_getElemName

Returns:
Name Description
string

The common name of the elements.

add(elem, keyArgs) : pentaho.lang.IListElement

Appends an element to the list and returns it.

The value specified in argument elem is converted to the list elements' class before actually being added to it.

Source: javascript/web/pentaho/lang/List.js, line 163

Inherited From: pentaho.lang.List#add

Parameters:
Name Default Value Summary
elem : *

An element or a value convertible to one.

keyArgs : Object
 
Optional

The keyword arguments.

These are not used directly by the List class but are passed-through to the methods that handle the initialization of list elements.

Returns:
Name Description
pentaho.lang.IListElement

The added list element.

addMany(elems, keyArgs) : number

Appends elements to the list and returns its new length.

The values specified in elems are converted to the list elements' class before actually being added to it.

This method allows adding elements to the list using custom options (keyword arguments). Contrast with method pentaho.lang.List#push which adds elements using default options.

Source: javascript/web/pentaho/lang/List.js, line 144

Inherited From: pentaho.lang.List#addMany

Parameters:
Name Default Value Summary
elems : Array

An array of elements to add to the list.

keyArgs : Object
 
Optional

The keyword arguments.

These are not used directly by the List class but are passed-through to the methods that handle the initialization of each list element.

Returns:
Name Description
number

The new length of the list.

push(elems) : number

Appends elements to the list and returns its new length.

The values specified in elems are converted to the list elements' class before actually being added to it.

This method adds elements to the list using default options. Use one of pentaho.lang.List#add or pentaho.lang.List#addMany to be able to specify non-default options (keyword arguments).

Source: javascript/web/pentaho/lang/List.js, line 121

Inherited From: pentaho.lang.List#push

Parameters:
Name Default Value Summary
elems : *
 
Repeatable

The elements to add to the list.

Returns:
Name Description
number

The new length of the list.

toSpec() : Array

Creates a specification of this list.

A list specification is an array containing the specifications of each of its elements.

If the element's class does not implement pentaho.lang.ISpecifiable, each element is assumed to be its own specification.

Source: javascript/web/pentaho/lang/List.js, line 249

Inherited From: pentaho.lang.List#toSpec

Returns:
Name Description
Array

The list specification.