public class FrameworkDebugOptions extends Object implements DebugOptions, ServiceTrackerCustomizer<DebugOptionsListener,DebugOptionsListener>
DebugTrace objects for the purpose of having
dynamic enablement of debug tracing.| Modifier and Type | Field and Description |
|---|---|
protected static Map<String,DebugTrace> |
debugTraceCache
A cache of all of the bundles
DebugTrace in the format |
protected File |
outFile
The File object to store messages.
|
static String |
PROP_TRACEFILE |
protected boolean |
verboseDebug
Is verbose debugging enabled? Changing this value causes a new tracing session to start.
|
LISTENER_SYMBOLICNAME| Modifier and Type | Method and Description |
|---|---|
DebugOptionsListener |
addingService(ServiceReference<DebugOptionsListener> reference)
A service is being added to the
ServiceTracker. |
boolean |
getBooleanOption(String option,
boolean defaultValue)
Returns the identified option as a boolean value.
|
static FrameworkDebugOptions |
getDefault()
Returns the singleton instance of
FrameworkDebugOptions. |
File |
getFile()
Returns the trace file if it is set, otherwise
null is returned. |
int |
getIntegerOption(String option,
int defaultValue)
Returns the identified option as an int value.
|
String |
getOption(String option)
Returns the identified option.
|
String |
getOption(String option,
String defaultValue)
Returns the identified option.
|
Map<String,String> |
getOptions()
Returns a snapshot of the current options.
|
boolean |
isDebugEnabled()
Returns true if debugging/tracing is currently enabled.
|
void |
modifiedService(ServiceReference<DebugOptionsListener> reference,
DebugOptionsListener service)
A service tracked by the
ServiceTracker has been modified. |
DebugTrace |
newDebugTrace(String bundleSymbolicName)
Creates a new
DebugTrace instance for the specified bundle symbolic name. |
DebugTrace |
newDebugTrace(String bundleSymbolicName,
Class<?> traceEntryClass)
Create a new
DebugTrace instance for the specified bundle symbolic name. |
void |
removedService(ServiceReference<DebugOptionsListener> reference,
DebugOptionsListener service)
A service tracked by the
ServiceTracker has been removed. |
void |
removeOption(String option)
Removes the identified option.
|
void |
setDebugEnabled(boolean enabled)
Enables or disables debugging/tracing.
|
void |
setFile(File traceFile)
Sets the current file used to trace messages to.
|
void |
setOption(String option,
String value)
Sets the identified option to the identified value.
|
void |
setOptions(Map<String,String> ops)
Sets the current option key/value pairs to the specified options.
|
void |
setVerbose(boolean verbose) |
void |
start(BundleContext bc) |
void |
stop(BundleContext bc) |
public static final String PROP_TRACEFILE
protected static final Map<String,DebugTrace> debugTraceCache
DebugTrace in the format protected File outFile
protected boolean verboseDebug
public void start(BundleContext bc)
public void stop(BundleContext bc)
public static FrameworkDebugOptions getDefault()
FrameworkDebugOptions.FrameworkDebugOptionspublic boolean getBooleanOption(String option, boolean defaultValue)
DebugOptions
Options are specified in the general form <Bundle-SymbolicName>/<option-path>.
For example, org.eclipse.core.runtime/debug
getBooleanOption in interface DebugOptionsoption - the name of the option to lookupdefaultValue - the value to return if no such option is foundDebugOptions.getBooleanOption(String, boolean)public String getOption(String option)
DebugOptionsnull value
is returned if no such option is found or if debug is not enabled.
Options are specified
in the general form <Bundle-SymbolicName>/<option-path>.
For example, org.eclipse.core.runtime/debug
getOption in interface DebugOptionsoption - the name of the option to lookupnullDebugOptions.getOption(String)public String getOption(String option, String defaultValue)
DebugOptions
Options are specified
in the general form <Bundle-SymbolicName>/<option-path>.
For example, org.eclipse.core.runtime/debug
getOption in interface DebugOptionsoption - the name of the option to lookupdefaultValue - the value to return if no such option is foundDebugOptions.getOption(String, String)public int getIntegerOption(String option, int defaultValue)
DebugOptions
Options are specified
in the general form <Bundle-SymbolicName>/<option-path>.
For example, org.eclipse.core.runtime/debug
getIntegerOption in interface DebugOptionsoption - the name of the option to lookupdefaultValue - the value to return if no such option is foundDebugOptions.getIntegerOption(String, int)public Map<String,String> getOptions()
DebugOptionsString. If no
options are set then an empty map is returned.
If debug is not enabled then the snapshot of the current disabled
values is returned. See DebugOptions.setDebugEnabled(boolean).
getOptions in interface DebugOptionspublic void removeOption(String option)
DebugOptionsremoveOption in interface DebugOptionsoption - the name of the option to removepublic void setOption(String option, String value)
DebugOptionssetOption in interface DebugOptionsoption - the name of the option to setvalue - the value of the option to setpublic void setOptions(Map<String,String> ops)
DebugOptionsIllegalArgumentException is thrown if any key or value
in the specified map is not of type String.
If debug is not enabled then the specified options are saved as
the disabled values and no notifications will be sent.
See DebugOptions.setDebugEnabled(boolean).
If debug is enabled then notifications will be sent to the
listeners which have options that have been changed, added or removed.
setOptions in interface DebugOptionsops - the new set of optionspublic boolean isDebugEnabled()
DebugOptionsisDebugEnabled in interface DebugOptionspublic void setDebugEnabled(boolean enabled)
DebugOptionsWhen debug is disabled all debug options are unset. When disabling debug the current debug option values are stored in memory as disabled values. If debug is re-enabled the disabled values will be set back and enabled. The disabled values are only stored in memory and if the framework is restarted then the disabled option values will be lost.
setDebugEnabled in interface DebugOptionsenabled - If true, debug is enabled, otherwise
debug is disabled.public final DebugTrace newDebugTrace(String bundleSymbolicName)
DebugOptionsDebugTrace instance for the specified bundle symbolic name.
If a DebugTrace object has already been created for the specified symbolic
name then the existing DebugTrace object will be returned.
The class name, method name, and line number of any callers to the DebugTrace
API will automatically be determined by parsing the stack trace of the executing thread.
These attributes will be set based on the first caller of this API.newDebugTrace in interface DebugOptionsbundleSymbolicName - The symbolic name of the bundle that is requesting a
new instance of a DebugTrace.DebugTrace object for the specified plug-in IDpublic final DebugTrace newDebugTrace(String bundleSymbolicName, Class<?> traceEntryClass)
DebugOptionsDebugTrace instance for the specified bundle symbolic name.
If a DebugTrace object has already been created for the specified symbolic
name then the existing DebugTrace object will be returned.
The class name, method name, and line number of any callers to the DebugTrace
API will automatically be determined by parsing the stack trace of the executing thread.
The values of these attributes will be based on the last invocation to the specified traceEntryClass
found in the parsed stack trace.newDebugTrace in interface DebugOptionsbundleSymbolicName - The symbolic name of the bundle that is requesting a
new instance of a DebugTrace.traceEntryClass - The class that is being used to abstract tracing calls for a bundle.DebugTrace object for the specified plug-in IDpublic final File getFile()
DebugOptionsnull is returned.getFile in interface DebugOptionsnull is returned.public void setFile(File traceFile)
DebugOptionssetFile in interface DebugOptionstraceFile - The file to be used for tracing messages.public void setVerbose(boolean verbose)
public DebugOptionsListener addingService(ServiceReference<DebugOptionsListener> reference)
ServiceTrackerCustomizerServiceTracker.
This method is called before a service which matched the search
parameters of the ServiceTracker is added to the
ServiceTracker. This method should return the service object to
be tracked for the specified ServiceReference. The returned
service object is stored in the ServiceTracker and is available
from the getService and getServices methods.
addingService in interface ServiceTrackerCustomizer<DebugOptionsListener,DebugOptionsListener>reference - The reference to the service being added to the
ServiceTracker.null if the specified referenced service
should not be tracked.public void modifiedService(ServiceReference<DebugOptionsListener> reference, DebugOptionsListener service)
ServiceTrackerCustomizerServiceTracker has been modified.
This method is called when a service being tracked by the
ServiceTracker has had it properties modified.
modifiedService in interface ServiceTrackerCustomizer<DebugOptionsListener,DebugOptionsListener>reference - The reference to the service that has been modified.service - The service object for the specified referenced service.public void removedService(ServiceReference<DebugOptionsListener> reference, DebugOptionsListener service)
ServiceTrackerCustomizerServiceTracker has been removed.
This method is called after a service is no longer being tracked by the
ServiceTracker.
removedService in interface ServiceTrackerCustomizer<DebugOptionsListener,DebugOptionsListener>reference - The reference to the service that has been removed.service - The service object for the specified referenced service.Copyright © 2007–2016 The Apache Software Foundation. All rights reserved.