Package org.eclipse.sisu.osgi
Class BindingTracker<T>
- java.lang.Object
-
- org.osgi.util.tracker.ServiceTracker<T,ServiceBinding<T>>
-
- org.eclipse.sisu.osgi.BindingTracker<T>
-
- All Implemented Interfaces:
org.osgi.util.tracker.ServiceTrackerCustomizer<T,ServiceBinding<T>>
final class BindingTracker<T> extends org.osgi.util.tracker.ServiceTracker<T,ServiceBinding<T>>
Tracker ofServiceBindings from the OSGi service registry.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringclazzNameprivate booleanisOpenprivate intmaxRankprivate java.util.Collection<BindingSubscriber<T>>subscribers
-
Constructor Summary
Constructors Constructor Description BindingTracker(org.osgi.framework.BundleContext context, int maxRank, java.lang.String clazzName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServiceBinding<T>addingService(org.osgi.framework.ServiceReference<T> reference)private voidcloseIfNecessary()private voidopenIfNecessary()voidremovedService(org.osgi.framework.ServiceReference<T> reference, ServiceBinding<T> binding)voidsubscribe(BindingSubscriber<T> subscriber)voidunsubscribe(BindingSubscriber<T> subscriber)
-
-
-
Field Detail
-
subscribers
private final java.util.Collection<BindingSubscriber<T>> subscribers
-
clazzName
private final java.lang.String clazzName
-
maxRank
private final int maxRank
-
isOpen
private boolean isOpen
-
-
Method Detail
-
subscribe
public void subscribe(BindingSubscriber<T> subscriber)
-
unsubscribe
public void unsubscribe(BindingSubscriber<T> subscriber)
-
addingService
public ServiceBinding<T> addingService(org.osgi.framework.ServiceReference<T> reference)
- Specified by:
addingServicein interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<T,ServiceBinding<T>>- Overrides:
addingServicein classorg.osgi.util.tracker.ServiceTracker<T,ServiceBinding<T>>
-
removedService
public void removedService(org.osgi.framework.ServiceReference<T> reference, ServiceBinding<T> binding)
- Specified by:
removedServicein interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<T,ServiceBinding<T>>- Overrides:
removedServicein classorg.osgi.util.tracker.ServiceTracker<T,ServiceBinding<T>>
-
openIfNecessary
private void openIfNecessary()
-
closeIfNecessary
private void closeIfNecessary()
-
-