Packageorg.apache.flex.collections
Classpublic class VectorList
InheritanceVectorList Inheritance flash.events.EventDispatcher
Implements IList, IPropertyChangeNotifier

A simple implementation of IList that uses a backing Vector. This base class will not throw ItemPendingErrors but it is possible that a subclass might.



Public Properties
 PropertyDefined By
  length : int
[read-only] Get the number of items in the list.
VectorList
  source : *
The source vector for this VectorList.
VectorList
  uid : String
Provides access to the unique id for this list.
VectorList
Public Methods
 MethodDefined By
  
VectorList(source:* = null)
Construct a new VectorList using the specified Vector as its source.
VectorList
  
addItem(item:Object):void
Add the specified item to the end of the list.
VectorList
  
addItemAt(item:Object, index:int):void
Add the item at the specified index.
VectorList
  
getItemAt(index:int, prefetch:int = 0):Object
Get the item at the specified index.
VectorList
  
getItemIndex(item:Object):int
Return the index of the item if it is in the list such that getItemAt(index) == item.
VectorList
  
itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
Notify the view that an item has been updated.
VectorList
  
removeAll():void
Remove all items from the list.
VectorList
  
removeItem(item:Object):Boolean
Removes the specified item from this list, should it exist.
VectorList
  
removeItemAt(index:int):Object
Remove the item at the specified index and return it.
VectorList
  
setItemAt(item:Object, index:int):Object
Place the item at the specified index.
VectorList
  
toArray():Array
Return an Vector that is populated in the same order as the IList implementation.
VectorList
  
toString():String
[override] Pretty prints the contents of this VectorList to a string and returns it.
VectorList
Protected Methods
 MethodDefined By
  
Called whenever any of the contained items in the list fires a PropertyChangeEvent.
VectorList
  
startTrackUpdates(item:Object):void
If the item is an IEventDispatcher watch it for updates.
VectorList
  
stopTrackUpdates(item:Object):void
If the item is an IEventDispatcher stop watching it for updates.
VectorList
Events
 Event Summary Defined By
  Dispatched when the IList has been updated in some way.VectorList
Property Detail
lengthproperty
length:int  [read-only]

Get the number of items in the list. An VectorList should always know its length so it shouldn't return -1, though a subclass may override that behavior.


Implementation
    public function get length():int
sourceproperty 
source:*

The source vector for this VectorList. Any changes done through the IList interface will be reflected in the source Vector. If no source Vector was supplied the VectorList will create one internally. Changes made directly to the underlying Vector (e.g., calling theList.source.pop() will not cause CollectionEvents to be dispatched.


Implementation
    public function get source():*
    public function set source(value:any):void
uidproperty 
uid:String

Provides access to the unique id for this list.


Implementation
    public function get uid():String
    public function set uid(value:String):void
Constructor Detail
VectorList()Constructor
public function VectorList(source:* = null)

Construct a new VectorList using the specified Vector as its source. If no source is specified an empty Vector of type will be used.

Parameters
source:* (default = null)
Method Detail
addItem()method
public function addItem(item:Object):void

Add the specified item to the end of the list. Equivalent to addItemAt(item, length);

Parameters

item:Object — the item to add

addItemAt()method 
public function addItemAt(item:Object, index:int):void

Add the item at the specified index. Any item that was after this index is moved out by one.

Parameters

item:Object — the item to place at the index
 
index:int — the index at which to place the item


Throws
RangeError — if index is less than 0 or greater than the length
getItemAt()method 
public function getItemAt(index:int, prefetch:int = 0):Object

Get the item at the specified index.

Parameters

index:int — the index in the list from which to retrieve the item
 
prefetch:int (default = 0) — used in this implementation at this time

Returns
Object — the item at that index, null if there is none

Throws
RangeError — if the index less than 0 or index >= length
getItemIndex()method 
public function getItemIndex(item:Object):int

Return the index of the item if it is in the list such that getItemAt(index) == item. Note that in this implementation the search is linear and is therefore O(n).

Parameters

item:Object — the item to find

Returns
int — the index of the item, -1 if the item is not in the list.
itemUpdated()method 
public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void

Notify the view that an item has been updated. This is useful if the contents of the view do not implement IEventDispatcher. If a property is specified the view may be able to optimize its notification mechanism. Otherwise it may choose to simply refresh the whole view.

Parameters

item:Object — The item within the view that was updated.
 
property:Object (default = null) — A String, QName, or int specifying the property that was updated.
 
oldValue:Object (default = null) — The old value of that property. (If property was null, this can be the old value of the item.)
 
newValue:Object (default = null) — The new value of that property. (If property was null, there's no need to specify this as the item is assumed to be the new value.)

See also

itemUpdateHandler()method 
protected function itemUpdateHandler(event:PropertyChangeEvent):void

Called whenever any of the contained items in the list fires a PropertyChangeEvent. Wraps it in a CollectionEventKind.UPDATE.

Parameters

event:PropertyChangeEvent

removeAll()method 
public function removeAll():void

Remove all items from the list.

removeItem()method 
public function removeItem(item:Object):Boolean

Removes the specified item from this list, should it exist.

Parameters

item:Object — Object reference to the item that should be removed.

Returns
Boolean — Boolean indicating if the item was removed.
removeItemAt()method 
public function removeItemAt(index:int):Object

Remove the item at the specified index and return it. Any items that were after this index are now one index earlier.

Parameters

index:int — the index from which to remove the item

Returns
Object — the item that was removed

Throws
RangeError — is index less than 0 or index greater than or equal to length
setItemAt()method 
public function setItemAt(item:Object, index:int):Object

Place the item at the specified index. If an item was already at that index the new item will replace it and it will be returned.

Parameters

item:Object — the new value for the index
 
index:int — the index at which to place the item

Returns
Object — the item that was replaced, null if none

Throws
RangeError — if index is less than 0 or greater than or equal to length
startTrackUpdates()method 
protected function startTrackUpdates(item:Object):void

If the item is an IEventDispatcher watch it for updates. This is called by addItemAt and when the source is initially assigned.

Parameters

item:Object

stopTrackUpdates()method 
protected function stopTrackUpdates(item:Object):void

If the item is an IEventDispatcher stop watching it for updates. This is called by removeItemAt, removeAll, and before a new source is assigned.

Parameters

item:Object

toArray()method 
public function toArray():Array

Return an Vector that is populated in the same order as the IList implementation.

Returns
Array

Throws
ItemPendingError — if the data is not yet completely loaded from a remote location
toString()method 
override public function toString():String

Pretty prints the contents of this VectorList to a string and returns it.

Returns
String
Event Detail
collectionChange Event
Event Object Type: mx.events.CollectionEvent
CollectionEvent.type property = mx.events.CollectionEvent.COLLECTION_CHANGE

Dispatched when the IList has been updated in some way.

The CollectionEvent.COLLECTION_CHANGE constant defines the value of the type property of the event object for an event that is dispatched when a collection has changed.

The properties of the event object have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
itemsAn Array of objects with information about the items affected by the event. The contents of this field depend on the event kind; for details see the items property
kindThe kind of event. The valid values are defined in the CollectionEventKind class as constants.
locationLocation within the target collection of the item(s) specified in the items property.
oldLocationthe previous location in the collection of the item specified in the items property.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.
typeCollectionEvent.COLLECTION_CHANGE