Package org.eclipse.osgi.service.debug
Interface DebugOptionsListener
-
- All Superinterfaces:
EventListener
public interface DebugOptionsListener extends EventListener
A debug options listener is notified whenever one of its plug-in option-path entries is changed. A listener is registered as an OSGi service using theDebugOptions.LISTENER_SYMBOLICNAME
service property to specify the symbolic name of the debug options listener.The
A debug options listener allows a bundle to cache trace option values in boolean fields for performance and code cleanliness. For example:optionsChanged(DebugOptions)
method will automatically be called upon registration of the debug options listener service. This allows the listener to obtain the initial debug options. This initial call to the listener will happen even if debug is not enabled at the time of registration (DebugOptions.isDebugEnabled()
will return false in this case).public class Activator implements BundleActivator, DebugOptionsListener { public static boolean DEBUG = false; public static DebugTrace trace; public void start(BundleContext context) { Hashtable props = new Hashtable(4); props.put(DebugOptions.LISTENER_SYMBOLICNAME, "com.mycompany.mybundle"); context.registerService(DebugOptionsListener.class.getName(), this, props); } public void optionsChanged(DebugOptions options) { if (trace == null) trace = options.newDebugTrace("com.mycompany.mybundle"); DEBUG = options.getBooleanOption("com.mycompany.mybundle/debug", false); } public void doSomeWork() { if (DEBUG) trace.trace(null, "Doing some work"); } ... }
- Since:
- 3.5
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
optionsChanged(DebugOptions options)
Notifies this listener that an option-path for its plug-in has changed.
-
-
-
Method Detail
-
optionsChanged
void optionsChanged(DebugOptions options)
Notifies this listener that an option-path for its plug-in has changed. This method is also called initially by the DebugOptions implementation when the listener is registered as a service. This allows the listener to obtain the initial set of debug options without the need to acquire the debug options service.- Parameters:
options
- a reference to the DebugOptions
-
-