Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *        JacORB - a free Java ORB
   *
   *   Copyright (C) 1999-2012 Gerald Brose / The JacORB Team.
   *
   *   This library is free software; you can redistribute it and/or
   *   modify it under the terms of the GNU Library General Public
   *   License as published by the Free Software Foundation; either
   *   version 2 of the License, or (at your option) any later version.
  *
  *   This library is distributed in the hope that it will be useful,
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  *   Library General Public License for more details.
  *
  *   You should have received a copy of the GNU Library General Public
  *   License along with this library; if not, write to the Free
  *   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  */
 package org.jacorb.collection;
 
 
     protected SortedVector keys;
     protected KeyNode test_key = new KeyNode();
 /* ========================================================================= */
     KeySortedCollectionImplOperationsOperations opsPOA poaIteratorFactory iterator_factory ){
         superopspoaiterator_factory );
          = new SortedVectornew KeyComparatorops ) );
     };
 /* ========================================================================= */
     public org.omg.CORBA.TypeCode key_type(){
         return .key_type();
     };
 /* ------------------------------------------------------------------------- */
     public synchronized boolean contains_element_with_key(Any keythrows KeyInvalid{
         check_keykey );
         . = key;
         try {
             if.indexOf ) >= 0 ){
                 return true;
             } else {
                 return false;
             } 
         } catch ( ObjectInvalid e ){
             throw new KeyInvalid();
         }
     };
 /* ------------------------------------------------------------------------- */
     public synchronized boolean contains_all_keys_from(KeyCollection collectorthrows KeyInvalid{
         throw new org.omg.CORBA.NO_IMPLEMENT();
     };
 /* ------------------------------------------------------------------------- */
     public synchronized boolean locate_or_add_element_with_key(Any elementthrows ElementInvalid{
         check_elementelement );
         . = .keyelement );
         try { 
             if.indexOf ) < 0 ){
                 return add_elementelement );
             };
             return false;
         } catch ( ObjectInvalid e ){
             throw new ElementInvalid. );
         }
     };
 /* ------------------------------------------------------------------------- */
     public synchronized boolean locate_or_add_element_with_key_set_iterator(Any element,org.omg.CosCollectionIterator wherethrows ElementInvalid,IteratorInvalid{
         check_elementelement );
         . = .keyelement );
         try { 
             if.indexOf ) < 0 ){
                 return add_element_set_iteratorelementwhere );
             };
             return false;
         } catch ( ObjectInvalid e ){
             throw new ElementInvalid. );
         }
     };
 /* ------------------------------------------------------------------------- */
     public synchronized boolean add_or_replace_element_with_key(Any elementthrows ElementInvalid{
         check_elementelement );
         . = .keyelement );
        try { 
            int pos = .indexOf );
            pos = ((KeyNode).elementAtpos )).;
            if(  pos < 0 ){
                return add_elementelement );
            } else {
                element_replaceposelement );
                return false;
            }
        } catch ( ObjectInvalid e ) {
            throw new ElementInvalid. );
        } catch ( PositionInvalid e ) {
            throw new ElementInvalid. );
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean add_or_replace_element_with_key_set_iterator(Any elementorg.omg.CosCollection.Iterator wherethrows ElementInvalid,IteratorInvalid{
        check_elementelement );
        . = .keyelement );
        try { 
            int pos = .indexOf );
            pos = ((KeyNode).elementAtpos )).;
            ifpos < 0 ){
                return add_element_set_iteratorelementwhere );
            } else {
                PositionalIteratorImpl i = check_iteratorwhere );
                element_replaceposelement );
                i.set_pos(pos);
                i.set_in_betweenfalse );
                return false;
            }
        } catch ( ObjectInvalid e ){
            throw new ElementInvalid. );
        } catch ( PositionInvalid e ) {
            throw new ElementInvalid. );
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean remove_element_with_key(Any keythrows KeyInvalid{
        check_keykey );
        . = key;
        try { 
            int pos = .indexOf );
            ifpos < 0 ){
                return false;
            }
            pos = ((KeyNode).elementAtpos )).;
            element_removepos );
            return true;
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        } catch ( EmptyCollection e ){
            throw new KeyInvalid();
        } catch ( PositionInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized int remove_all_elements_with_key(Any keythrows KeyInvalid{
        check_keykey );
        . = key;
        try { 
            int pos = .indexOf );
            ifpos < 0 ){
                return 0;
            } 
            KeyNode node = (KeyNode).elementAtpos );
            pos = node.start_position;
            forint i=node.counti>0; i-- ){ 
                element_removepos+i-1 );
            };
            return node.count;
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        } catch ( EmptyCollection e ){
            throw new KeyInvalid();
        } catch ( PositionInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean replace_element_with_key(Any elementthrows ElementInvalid{
        check_elementelement );
        . = .keyelement );
        try { 
            int pos = .indexOf );
            ifpos < 0 ){
                return false;
            } 
            KeyNode node = (KeyNode).elementAtpos );
            pos = node.start_position;
            element_replaceposelement );
            return true;
        } catch ( ObjectInvalid e ){
            throw new ElementInvalid. );
        } catch ( PositionInvalid e ){
            throw new ElementInvalid. );
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean replace_element_with_key_set_iterator(Any elementorg.omg.CosCollection.Iterator wherethrows ElementInvalid,IteratorInvalid{
        check_elementelement );
        PositionalIteratorImpl i = check_iteratorwhere );
        . = .keyelement );
        try { 
            int pos = .indexOf );
            ifpos < 0 ){
                return false;
            } 
            KeyNode node = (KeyNode).elementAtpos );
            pos = node.start_position;
            element_replaceposelement );
            i.set_pospos );
            i.set_in_betweenfalse );
            return true;
        } catch ( ObjectInvalid e ){
            throw new ElementInvalid. );
        } catch ( PositionInvalid e ){
            throw new ElementInvalid. );
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean retrieve_element_with_key(Any keyAnyHolder elementthrows KeyInvalid{
        check_keykey );
        . = key;
        try { 
            int pos = .indexOf );
            ifpos < 0 ){
                return false;
            } 
            KeyNode node = (KeyNode).elementAtpos );
            pos = node.start_position;
            element.value = element_retrievepos );
            return true;
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        } catch ( PositionInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized void key(Any elementAnyHolder a_keythrows ElementInvalid{
        check_elementelement );
        a_key.value = .keyelement );
    };
/* ------------------------------------------------------------------------- */
    public synchronized void keys(Any[] elementsAnySequenceHolder a_keysthrows ElementInvalid{
        forint i=0; i<elements.lengthi++ ){
            check_elementelements[i] );
        }
        a_keys.value = new Anyelements.length ];
        forint i=0; i<elements.lengthi++ ){
            a_keys.value[i] = .keyelements[i] );
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean locate_element_with_key(Any keyorg.omg.CosCollection.Iterator wherethrows KeyInvalid,IteratorInvalid{
        check_keykey );
        PositionalIteratorImpl i = check_iteratorwhere );
        . = key;
        try { 
            int pos = .indexOf );
            ifpos < 0 ){
                i.invalidate();
                return false;
            } 
            KeyNode node = (KeyNode).elementAtpos );
            i.set_posnode.start_position );
            i.set_in_betweenfalse );
            return true;
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean locate_next_element_with_key(Any keyorg.omg.CosCollection.Iterator wherethrows KeyInvalid,IteratorInvalid{
        check_keykey );
        PositionalIteratorImpl i = check_iteratorwhere );
        i.check_invalid();
        int pos = i.get_pos();
        int new_pos = i.is_in_between()?pos:pos+1;
        if.size() <= new_pos ){
            i.invalidate();
        }
        . = key;
        Any this_key = .key((Any).elementAtnew_pos ));
        if.key_equalkeythis_key ) ){
            i.set_posnew_pos );
            i.set_in_betweenfalse );
            return true;
        } else {
            i.invalidate();
            return false;
        }
    };
/* ------------------------------------------------------------------------- */
        PositionalIteratorImpl i = check_iteratorwhere );
        i.check_iterator();
        int pos = i.get_pos();
        Any key = .key((Any).elementAtpos ) );
        . = key;
        try { 
            int key_pos = .indexOf );
            ifkey_pos == .size()-1 ){
                i.invalidate();
                return false;
            } else {
                KeyNode node = (KeyNode).elementAtkey_pos+1 );
                i.set_posnode.start_position );
                return true;
            }
        } catch ( ObjectInvalid e ){
            e.printStackTrace. );
            throw new org.omg.CORBA.INTERNAL();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized int number_of_different_keys(){
        return .size();
    };
/* ------------------------------------------------------------------------- */
    public synchronized int number_of_elements_with_key(Any keythrows KeyInvalid{
        check_keykey );
        . = key;
        try {
            int pos = .indexOf );
            ifpos < 0 ){
                return 0;
            };
            KeyNode node = (KeyNode).elementAtpos );
            return node.count;
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
// ----- KeySorted -----
/* ------------------------------------------------------------------------- */
    public synchronized boolean locate_first_element_with_key(Any keyorg.omg.CosCollection.Iterator wherethrows KeyInvalid,IteratorInvalid{
        check_keykey );
        PositionalIteratorImpl i = check_iteratorwhere );
        try { 
            . = key;
            int pos = .indexOf );
            ifpos >= 0 ){
                KeyNode node = (KeyNode).elementAtpos );
                i.set_posnode.start_position );
                i.set_in_betweenfalse );
                return true;
            } else {
                i.invalidate();
                return false;
            }
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean locate_last_element_with_key(Any keyorg.omg.CosCollection.Iterator wherethrows KeyInvalid,IteratorInvalid{
        check_keykey );
        PositionalIteratorImpl i = check_iteratorwhere );
        try { 
            . = key;
            int pos = .indexOf );
            ifpos >= 0 ){
                KeyNode node = (KeyNode).elementAtpos );
                i.set_posnode.start_position + node.count - 1 );
                i.set_in_betweenfalse );
                return true;
            } else {
                i.invalidate();
                return false;
            }
        } catch ( ObjectInvalid e ){
            throw new KeyInvalid();
        }
    };
/* ------------------------------------------------------------------------- */
    public synchronized boolean locate_previous_element_with_key(Any keyorg.omg.CosCollection.Iterator wherethrows KeyInvalid,IteratorInvalid{
        check_keykey );
        PositionalIteratorImpl i = check_iteratorwhere );
        i.check_invalid();
        int pos = i.get_pos();
        ifpos == 0 ){
            i.invalidate();
            return false;
        }
        Any element = (Any).elementAtpos-1 );
        if.key_equalkey.keyelement ) ) ){
            i.set_pospos-1 );
            i.set_in_betweenfalse );
            return true;
        }
        i.invalidate();
        return false;
    };
/* ------------------------------------------------------------------------- */
        PositionalIteratorImpl i = check_iteratorwhere );
        i.check_iterator();
        int pos = i.get_pos();
        Any key = .key( (Any).elementAtpos ) );
        ifpos-- == 0 ){
            i.invalidate();
            return false;
        }
        whilepos >= 0 ) { 
            Any element = (Any).elementAtpos );
            if( !.key_equalkey.keyelement ) ) ){
                i.set_pospos );
                i.set_in_betweenfalse );
                return true;
            }
            pos--;
        }
        i.invalidate();
        return false;
    };
/* ========================================================================= */
/* ========================================================================= */
    protected void element_insertedint pos ) {
        super.element_insertedpos );
        Any key = .key( (Any).elementAt(pos) );
        key_insertedkeypos );
    };
/* ------------------------------------------------------------------------- */
    protected void element_removedint posAny old ){
        super.element_removedposold );
        Any key = .keyold );
        key_removedkey );
    };
/* ------------------------------------------------------------------------- */
    protected void element_replacedint posAny old ){
        super.element_replacedposold );
        Any old_key = .keyold );
        Any new_key = .key( (Any).elementAt(pos) );
        if( !.equalold_keynew_key ) ){
            key_removedold_key );
            key_insertednew_keypos );
        }
    };
/* ------------------------------------------------------------------------- */
    protected void check_keyAny key ) throws KeyInvalid {
        if( !.check_key_typekey ) ){
            throw new KeyInvalid();
        }
    }; 
/* ------------------------------------------------------------------------- */
    protected void key_insertedAny keyint pos ){
        try {
            . = key;
            int key_pos = .indexOf );
            KeyNode node;
            ifkey_pos == -1 ){
                node = new KeyNode();
                node.key = key;
                node.count = 0;
                key_pos = .addElementnode );
                node.start_position = pos;
            } else {
                node = (KeyNode).elementAtkey_pos );
            }
            node.count++;
            forint i=key_pos+1; i<.size(); i++ ){
                node = (KeyNode).elementAti );
                node.start_position++;
            }
        } catch ( ObjectInvalid e ){
            e.printStackTrace. );
            throw new org.omg.CORBA.INTERNAL();
        }
    };
/* ------------------------------------------------------------------------- */
    protected void key_removedAny key ){
        try {
            . = key;
            int key_pos = .indexOf );
            KeyNode node = (KeyNode).elementAtkey_pos );
            node.count--;
            forint i=key_pos+1; i<.size(); i++ ){
                node = (KeyNode).elementAti );
                node.start_position--;
            }
            ifnode.count == 0 ){
                .removeElementAtkey_pos );
            }
        } catch ( ObjectInvalid e ){
            e.printStackTrace. );
            throw new org.omg.CORBA.INTERNAL();
        }
    };
/* ------------------------------------------------------------------------- */
};






New to GrepCode? Check out our FAQ X