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
.FrameworkDebugOptions
public 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 DebugOptions
option
- 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)
DebugOptions
null
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 DebugOptions
option
- the name of the option to lookupnull
DebugOptions.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 DebugOptions
option
- 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 DebugOptions
option
- 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()
DebugOptions
String
. 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 DebugOptions
public void removeOption(String option)
DebugOptions
removeOption
in interface DebugOptions
option
- the name of the option to removepublic void setOption(String option, String value)
DebugOptions
setOption
in interface DebugOptions
option
- the name of the option to setvalue
- the value of the option to setpublic void setOptions(Map<String,String> ops)
DebugOptions
IllegalArgumentException
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 DebugOptions
ops
- the new set of optionspublic boolean isDebugEnabled()
DebugOptions
isDebugEnabled
in interface DebugOptions
public void setDebugEnabled(boolean enabled)
DebugOptions
When 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 DebugOptions
enabled
- If true
, debug is enabled, otherwise
debug is disabled.public final DebugTrace newDebugTrace(String bundleSymbolicName)
DebugOptions
DebugTrace
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 DebugOptions
bundleSymbolicName
- 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)
DebugOptions
DebugTrace
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 DebugOptions
bundleSymbolicName
- 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()
DebugOptions
null
is returned.getFile
in interface DebugOptions
null
is returned.public void setFile(File traceFile)
DebugOptions
setFile
in interface DebugOptions
traceFile
- The file to be used for tracing messages.public void setVerbose(boolean verbose)
public DebugOptionsListener addingService(ServiceReference<DebugOptionsListener> reference)
ServiceTrackerCustomizer
ServiceTracker
.
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)
ServiceTrackerCustomizer
ServiceTracker
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)
ServiceTrackerCustomizer
ServiceTracker
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–2018 The Apache Software Foundation. All rights reserved.