org/objectweb/proactive/core/group/Group.java

00001 /* 
00002  * ################################################################
00003  * 
00004  * ProActive: The Java(TM) library for Parallel, Distributed, 
00005  *            Concurrent computing with Security and Mobility
00006  * 
00007  * Copyright (C) 1997-2007 INRIA/University of Nice-Sophia Antipolis
00008  * Contact: proactive@objectweb.org
00009  * 
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Lesser General Public
00012  * License as published by the Free Software Foundation; either
00013  * version 2.1 of the License, or any later version.
00014  *  
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Lesser General Public License for more details.
00019  * 
00020  * You should have received a copy of the GNU Lesser General Public
00021  * License along with this library; if not, write to the Free Software
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
00023  * USA
00024  *  
00025  *  Initial developer(s):               The ProActive Team
00026  *                        http://www.inria.fr/oasis/ProActive/contacts.html
00027  *  Contributor(s): 
00028  * 
00029  * ################################################################
00030  */ 
00031 package org.objectweb.proactive.core.group;
00032 
00033 import java.util.List;
00034 import java.util.ListIterator;
00035 import java.util.Set;
00036 
00037 
00047 public interface Group<E> extends List<E> {
00048 
00052     public Class getType() throws java.lang.ClassNotFoundException;
00053 
00057     public String getTypeName();
00058 
00062     public Object getGroupByType();
00063 
00067     public E get(int index);
00068 
00072     public void addMerge(Object ogroup);
00073 
00078     public E remove(int index);
00079 
00083     public int indexOf(Object obj);
00084 
00088     public ListIterator<E> listIterator();
00089 
00093     public void waitAll();
00094 
00098     public void waitOne();
00099 
00104     public void waitTheNth(int n);
00105 
00110     public void waitN(int n);
00111 
00116     public Object waitAndGetOne();
00117 
00122     public Object waitAndGetOneThenRemoveIt();
00123 
00129     public Object waitAndGetTheNth(int n);
00130 
00135     public int waitOneAndGetIndex();
00136 
00141     public boolean allAwaited();
00142 
00147     public boolean allArrived();
00148 
00154     public ExceptionListException getExceptionList();
00155 
00162     public void purgeExceptionAndNull();
00163 
00168     public void setRatioMemberToThread(int i);
00169 
00175     public Group union(Group g);
00176 
00182     public Group intersection(Group g);
00183 
00189     public Group difference(Group g);
00190 
00196     public Group exclude(Group g);
00197 
00204     public Group range(int begin, int end);
00205 
00206     // Map class style methods
00207 
00218     public boolean containsKey(String key);
00219 
00229     public boolean containsValue(Object value);
00230 
00246     public Object getNamedElement(String key);
00247 
00257     public Object removeNamedElement(String key);
00258 
00272     public void addNamedElement(String key, Object value);
00273 
00284     public Set keySet();
00285 }

Generated on Mon Jan 22 15:16:08 2007 for ProActive by  doxygen 1.5.1