Inherits From:nsISupports

An indexed collection of elements. Provides basic functionality for retrieving elements at a specific position, searching for elements. Indexes are zero-based, such that the last element in the array is stored at the index length-1.

For an array which can be modified, see nsIMutableArray below.

Neither interface makes any attempt to protect the individual elements from modification. The convention is that the elements of the array should not be modified. Documentation within a specific interface should describe variations from this convention.

It is also convention that if an interface provides access to an nsIArray, that the array should not be QueryInterfaced to an nsIMutableArray for modification. If the interface in question had intended the array to be modified, it would have returned an nsIMutableArray!

Null is a valid entry in the array, and as such any nsISupports parameters may be null, except where noted.

This interface is implemented by the following components:


readonly PRUint32 length


Number of elements in the array.


nsISimpleEnumerator enumerate ( ) PRUint32 indexOf ( PRUint32 startIndex , nsISupports element ) void queryElementAt ( PRUint32 index , nsIIDRef uuid , out nsQIResult* result )

nsISimpleEnumerator enumerate ( )

Enumerate the array

PRUint32 indexOf ( PRUint32 startIndex , nsISupports element )


Get the position of a specific element. Note that since null is a valid input, exceptions are used to indicate that an element is not found.

startIndex: The initial element to search in the array To start at the beginning, use 0 as the startIndex
element: The element you are looking for

void queryElementAt ( PRUint32 index , nsIIDRef uuid , out nsQIResult* result )


Retrieve a specific element of the array, and QueryInterface it to the specified interface. null is a valid result for this method, but exceptions are thrown in other circumstances

index: position of element
uuid: the IID of the requested interface
result: the object, QI'd to the requested interface


This interface is the type of the following properties:


This interface is passed as an argument to the following methods:


This interface is returned from the following methods:

inIDOMUtils.getBindingURLs, nsIAccessibleSelectable.GetSelectedChildren, nsIBookmarksService.getParentChain, nsICRLManager.getCrls, nsIFontCatalogService.getFontCatalogEntries, nsIJVMConfigManager.getJVMConfigList, nsILocalFileOS2.getFileTypes, nsIX509Cert.getChain, nsIX509CertDB.getOCSPResponders

Reference documentation is generated from Mozilla's source.

Add a note User Contributed Notes
No comments available

Copyright © 1999 - 2005 XULPlanet.com