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 ofServiceBinding
s from the OSGi service registry.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
clazzName
private boolean
isOpen
private int
maxRank
private 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 void
closeIfNecessary()
private void
openIfNecessary()
void
removedService(org.osgi.framework.ServiceReference<T> reference, ServiceBinding<T> binding)
void
subscribe(BindingSubscriber<T> subscriber)
void
unsubscribe(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:
addingService
in interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<T,ServiceBinding<T>>
- Overrides:
addingService
in classorg.osgi.util.tracker.ServiceTracker<T,ServiceBinding<T>>
-
removedService
public void removedService(org.osgi.framework.ServiceReference<T> reference, ServiceBinding<T> binding)
- Specified by:
removedService
in interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<T,ServiceBinding<T>>
- Overrides:
removedService
in classorg.osgi.util.tracker.ServiceTracker<T,ServiceBinding<T>>
-
openIfNecessary
private void openIfNecessary()
-
closeIfNecessary
private void closeIfNecessary()
-
-