FileDocCategorySizeDatePackage
RegistrantList.javaAPI DocAndroid 1.5 API3176Wed May 06 22:41:56 BST 2009android.os

RegistrantList

public class RegistrantList extends Object
hide

Fields Summary
ArrayList
registrants
Constructors Summary
Methods Summary
public synchronized voidadd(android.os.Handler h, int what, java.lang.Object obj)

      // of Registrant

      
         
    
        add(new Registrant(h, what, obj));
    
public synchronized voidadd(Registrant r)

        removeCleared();
        registrants.add(r);
    
public synchronized voidaddUnique(android.os.Handler h, int what, java.lang.Object obj)

        // if the handler is already in the registrant list, remove it
        remove(h);
        add(new Registrant(h, what, obj));        
    
public synchronized java.lang.Objectget(int index)

        return registrants.get(index);
    
private synchronized voidinternalNotifyRegistrants(java.lang.Object result, java.lang.Throwable exception)

       for (int i = 0, s = registrants.size(); i < s ; i++) {
            Registrant  r = (Registrant) registrants.get(i);
            r.internalNotifyRegistrant(result, exception);
       }
    
public voidnotifyException(java.lang.Throwable exception)

        internalNotifyRegistrants (null, exception);
    
public voidnotifyRegistrants(AsyncResult ar)

        internalNotifyRegistrants(ar.result, ar.exception);
    
public voidnotifyRegistrants()

        internalNotifyRegistrants(null, null);
    
public voidnotifyResult(java.lang.Object result)

        internalNotifyRegistrants (result, null);
    
public synchronized voidremove(android.os.Handler h)

        for (int i = 0, s = registrants.size() ; i < s ; i++) {
            Registrant  r = (Registrant) registrants.get(i);
            Handler     rh;

            rh = r.getHandler();

            /* Clean up both the requested registrant and
             * any now-collected registrants
             */
            if (rh == null || rh == h) {
                r.clear();
            }
        }

        removeCleared();
    
public synchronized voidremoveCleared()

        for (int i = registrants.size() - 1; i >= 0 ; i--) {
            Registrant  r = (Registrant) registrants.get(i);
            
            if (r.refH == null) {
                registrants.remove(i);
            }
        }
    
public synchronized intsize()

        return registrants.size();