org.eclipse.gemini.blueprint.service.importer.support.internal.collection
Class OsgiServiceList

java.lang.Object
  extended by org.eclipse.gemini.blueprint.service.importer.support.internal.collection.OsgiServiceCollection
      extended by org.eclipse.gemini.blueprint.service.importer.support.internal.collection.OsgiServiceList
All Implemented Interfaces:
Iterable, Collection, List, RandomAccess, CollectionProxy, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
OsgiServiceSortedList

public class OsgiServiceList
extends OsgiServiceCollection
implements List, RandomAccess

OSGi service dynamic collection - allows iterating while the underlying storage is being shrunk/expanded. This collection is read-only - its content is being retrieved dynamically from the OSGi platform.

This collection and its iterators are thread-safe. That is, multiple threads can access the collection. However, since the collection is read-only, it cannot be modified by the client.

Author:
Costin Leau

Nested Class Summary
protected  class OsgiServiceList.OsgiServiceListIterator
           
 
Nested classes/interfaces inherited from class org.eclipse.gemini.blueprint.service.importer.support.internal.collection.OsgiServiceCollection
OsgiServiceCollection.OsgiServiceIterator
 
Field Summary
protected  List storage
          cast the collection to a specialized collection
 
Fields inherited from class org.eclipse.gemini.blueprint.service.importer.support.internal.collection.OsgiServiceCollection
services, servicesIdMap
 
Constructor Summary
OsgiServiceList(org.osgi.framework.Filter filter, org.osgi.framework.BundleContext context, ClassLoader classLoader, ServiceProxyCreator proxyCreator, boolean useServiceReference)
           
 
Method Summary
 void add(int index, Object o)
           
 boolean addAll(int index, Collection c)
           
protected  DynamicCollection createInternalDynamicStorage()
          Create the dynamic storage used internally.
 Object get(int index)
           
 int indexOf(Object o)
           
 int lastIndexOf(Object o)
           
 ListIterator listIterator()
           
 ListIterator listIterator(int index)
           
 Object remove(int index)
           
 Object set(int index, Object o)
           
 List subList(int fromIndex, int toIndex)
           
 
Methods inherited from class org.eclipse.gemini.blueprint.service.importer.support.internal.collection.OsgiServiceCollection
add, addAll, afterPropertiesSet, clear, contains, containsAll, destroy, isEmpty, isSatisfied, iterator, mandatoryServiceCheck, remove, removeAll, retainAll, setListeners, setRequiredAtStartup, setServiceImporter, setServiceImporterName, setStateListeners, setUseBlueprintExceptions, size, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Field Detail

storage

protected List storage
cast the collection to a specialized collection

Constructor Detail

OsgiServiceList

public OsgiServiceList(org.osgi.framework.Filter filter,
                       org.osgi.framework.BundleContext context,
                       ClassLoader classLoader,
                       ServiceProxyCreator proxyCreator,
                       boolean useServiceReference)
Method Detail

createInternalDynamicStorage

protected DynamicCollection createInternalDynamicStorage()
Description copied from class: OsgiServiceCollection
Create the dynamic storage used internally. The storage has to be thread-safe.

Overrides:
createInternalDynamicStorage in class OsgiServiceCollection

get

public Object get(int index)
Specified by:
get in interface List

indexOf

public int indexOf(Object o)
Specified by:
indexOf in interface List

lastIndexOf

public int lastIndexOf(Object o)
Specified by:
lastIndexOf in interface List

listIterator

public ListIterator listIterator()
Specified by:
listIterator in interface List

listIterator

public ListIterator listIterator(int index)
Specified by:
listIterator in interface List

subList

public List subList(int fromIndex,
                    int toIndex)
Specified by:
subList in interface List

remove

public Object remove(int index)
Specified by:
remove in interface List

set

public Object set(int index,
                  Object o)
Specified by:
set in interface List

add

public void add(int index,
                Object o)
Specified by:
add in interface List

addAll

public boolean addAll(int index,
                      Collection c)
Specified by:
addAll in interface List


Copyright © 2006-2013. All Rights Reserved.