1 21 package org.jacorb.collection; 22 23 import org.omg.CosCollection.*; 24 import org.jacorb.collection.util.*; 25 import java.util.*; 26 import org.omg.PortableServer.POA ; 27 import org.omg.PortableServer.Servant ; 28 import org.omg.CORBA.Any ; 29 import org.omg.CORBA.AnyHolder ; 30 import org.omg.CORBA.BooleanHolder ; 31 32 class SequentialIteratorImpl extends OrderedIteratorImpl 33 implements SequentialIteratorOperations { 34 35 36 SequentialIteratorImpl( SequentialCollectionImpl collection ){ 37 super( collection ); 38 } 39 40 SequentialIteratorImpl( SequentialCollectionImpl collection, boolean read_only ){ 41 super( collection, read_only ); 42 } 43 44 SequentialIteratorImpl( SequentialCollectionImpl collection, boolean read_only, boolean reverse ){ 45 super( collection, read_only, reverse ); 46 } 47 48 public boolean add_element_as_next_set_iterator( Any element ) throws IteratorInvalid,ElementInvalid { 49 synchronized( collection ){ 50 check_invalid(); 51 try { 52 ((SequentialCollectionImpl)collection).add_element_at_position( get_pos()+1, element ); 53 set_to_position( get_pos()+1 ); 54 } catch ( PositionInvalid e ){ 55 invalidate(); 56 throw new IteratorInvalid( IteratorInvalidReason.is_invalid ); 57 } 58 return true; 59 } 60 } 61 62 public void add_n_elements_as_next_set_iterator( Any [] elements ) throws IteratorInvalid,ElementInvalid { 63 throw new org.omg.CORBA.NO_IMPLEMENT (); 64 } 67 68 public boolean add_element_as_previous_set_iterator( Any element ) throws IteratorInvalid, ElementInvalid { 69 synchronized( collection ){ 70 check_invalid(); 71 try { 72 collection.element_replace( get_pos()-1, element ); 73 set_to_position( get_pos()-1 ); 74 } catch ( PositionInvalid e ){ 75 invalidate(); 76 throw new IteratorInvalid( IteratorInvalidReason.is_invalid ); 77 } 78 return true; 79 } 80 } 81 82 public void add_n_elements_as_previous_set_iterator( Any [] elements ) throws IteratorInvalid, ElementInvalid { 83 throw new org.omg.CORBA.NO_IMPLEMENT (); 84 } 87 88 } 89 90 91 92 93 94 95 96 97 98 | Popular Tags |