1 dojo.provide("calitha.collections.IListIterator");
  2 dojo.require("calitha.collections.IIterator");
  3 dojo.require("calitha.exception.VirtualFunctionException");
  4 
  5 /**
  6  * @name calitha.collections.IListIterator
  7  * @class An iterator for lists that allows the programmer to traverse the list in either direction,
  8  * modify the list during iteration, and obtain the iterator's current position in the list.
  9  * <p>
 10  * It is based on the
 11  * <a href="http://java.sun.com/javase/6/docs/api/java/util/ListIterator.html">Java ListIterator interface</a>.
 12  * @extends calitha.collections.IIterator
 13  */
 14 dojo.declare("calitha.collections.IListIterator", calitha.collections.IIterator,
 15 /** @lends calitha.collections.IListIterator# */
 16 {
 17     /**
 18      * @function
 19      * @param obj the element with which to replace the last element returned by next or previous. 
 20      * @description Inserts the specified element into the list.
 21      */
 22     add: function(/**Object*/ obj)
 23     {throw new calitha.exception.VirtualFunctionException(Error());}
 24     ,
 25     /**
 26      * @function
 27      * @returns {Boolean} true if the list iterator has more elements when traversing the list in the reverse direction.
 28      * @description Returns true if this list iterator has more elements when traversing the list in the reverse direction.
 29      */
 30     hasPrevious: function()
 31     {throw new calitha.exception.VirtualFunctionException(Error());}
 32     ,
 33     /**
 34      * @function
 35      * @returns {Number} the index of the element that would be returned by a subsequent call to next, or list size if list iterator is at end of list.
 36      * @description Returns the index of the element that would be returned by a subsequent call to next.
 37      */
 38     nextIndex: function()
 39     {throw new calitha.exception.VirtualFunctionException(Error());}
 40     ,
 41     /**
 42      * @function
 43      * @returns {Object} the previous element in the list. 
 44      * @description Returns the previous element in the list.
 45      */
 46     previous: function()
 47     {throw new calitha.exception.VirtualFunctionException(Error());}
 48     ,
 49     /**
 50      * @function
 51      * @returns {Number} the index of the element that would be returned by a subsequent call to previous, or -1 if list iterator is at beginning of list.
 52      * @description Returns the index of the element that would be returned by a subsequent call to previous.
 53      */
 54     previousIndex: function()
 55     {throw new calitha.exception.VirtualFunctionException(Error());}
 56     ,
 57     /**
 58      * @function
 59      * @param obj the element with which to replace the last element returned by next or previous.
 60      * @description Replaces the last element returned by next or previous with the specified element.
 61      */
 62     set: function(/**Object*/ obj)
 63     {throw new calitha.exception.VirtualFunctionException(Error());}
 64 });
 65