org.scijava.service
Class ServiceIndex

java.lang.Object
  extended by org.scijava.object.ObjectIndex<E>
      extended by org.scijava.object.SortedObjectIndex<Service>
          extended by org.scijava.service.ServiceIndex
All Implemented Interfaces:
Iterable<Service>, Collection<Service>

public class ServiceIndex
extends SortedObjectIndex<Service>

Data structure for tracking registered services.

Author:
Curtis Rueden

Field Summary
 
Fields inherited from class org.scijava.object.ObjectIndex
hoard
 
Constructor Summary
ServiceIndex()
           
 
Method Summary
<S extends Service>
S
getNextService(Class<S> c, Class<? extends S> ref)
          Gets the highest priority service compatible with class c, which is lower priority than the ref service.
<S extends Service>
S
getPrevService(Class<S> c, Class<? extends S> ref)
          Gets the lowest priority service compatible with class c, which is higher priority than the ref service.
<S extends Service>
S
getService(Class<S> c)
          Gets the first available service compatible with the given class.
 
Methods inherited from class org.scijava.object.SortedObjectIndex
addAll, addToList, contains, containsAll
 
Methods inherited from class org.scijava.object.ObjectIndex
add, add, add, addLater, clear, get, getAll, getBaseClass, getType, getTypes, isEmpty, iterator, remove, remove, remove, removeAll, removeFromList, retainAll, retrieveList, retrieveListsForType, 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.Collection
equals, hashCode
 

Constructor Detail

ServiceIndex

public ServiceIndex()
Method Detail

getService

public <S extends Service> S getService(Class<S> c)
Gets the first available service compatible with the given class.


getNextService

public <S extends Service> S getNextService(Class<S> c,
                                            Class<? extends S> ref)
Gets the highest priority service compatible with class c, which is lower priority than the ref service.


getPrevService

public <S extends Service> S getPrevService(Class<S> c,
                                            Class<? extends S> ref)
Gets the lowest priority service compatible with class c, which is higher priority than the ref service.



Copyright © 2009–2015 SciJava. All rights reserved.