Documentation Set for Swarm 2.2
Prev | Reference IV. Objectbase Library | Next

# ProbeLibrary

## Name

ProbeLibrary -- A (singleton) Class, whose instance is used as a container for a global mapping between classnames and their 'default' ProbeMaps. These defaults can be changed by the user, thus allowing him/her to customize the default contents of the ProbeDisplays generated when probing objects.

## Description

The normal Swarm simulation will probably only ever contain one instance of this class, namely the probeLibrary object. This object is used for Library Generation of Probes and ProbeMaps: its role is to cache one unique "official" ProbeMap for every Class ever probed during a run of Swarm. These ProbeMaps are generated as they are requested.

## Protocols adopted by ProbeLibrary

Create Drop ProbeConfig CREATABLE

## Methods

### Phase: Using

- - setProbeMap: (id <ProbeMap>)aMap ForObject: anObject

- - setProbeMap: (id <ProbeMap>)aMap For: (Class)aClass
  The setProbeMap:For: method sets the standard probe map as the probe map. The returned Probe will be cached as though it was produced by the library itself.

- - (id <MessageProbe>)getProbeForMessage: (const char *)aMessage inObject: anObject

- - (id <MessageProbe>)getProbeForMessage: (const char *)aMessage inClass: (Class)aClass
  The getProbeForMessage:inClass: method returns a probe that has been "checked out" from the appropriate Probes in the probe library. Note: The returned probe will be cached so to avoid affecting the results of future requests for the same probes, clone the probe prior to making modifications to the probe.

- - (id <VarProbe>)getProbeForVariable: (const char *)aVar inObject: anObject

- - (id <VarProbe>)getProbeForVariable: (const char *)aVar inClass: (Class)aClass
  The getProbeForVariable:inClass: method returns a probe that has been "checked out" from the appropriate Probes in the probe library. Note: The returned probe will be cached so to avoid affecting the results of future requests for the same probes, clone the probe prior to making modifications to the probe.

- - (id <ProbeMap>)getCompleteVarMapForObject: anObject

- - (id <ProbeMap>)getCompleteVarMapFor: (Class)aClass
  The getCompleteVarMapFor: method returns a ProbeMap containing Probes for all the instance variables of the given Class (including inherited variables) but does not include any MessageProbes.

- - (id <ProbeMap>)getCompleteProbeMapForObject: anObject

- - (id <ProbeMap>)getCompleteProbeMapFor: (Class)aClass
  The getCompleteProbeMapFor: method returns a ProbeMap containing Probes for all the instance variables and messages of the given Class (including inherited variables and messages). The current implementation of ProbeLibrary does not cache CompleteProbeMaps.

- - (id <ProbeMap>)getProbeMapForObject: anObject

- - (id <ProbeMap>)getProbeMapFor: (Class)aClass
  The getProbeMapFor: method returns a ProbeMap for the aClass class. If a specific ProbeMap has been designed and installed in the ProbeLibrary for that class, then that specific ProbeMap is returned. If a custom ProbeMap was not designed and installed, then a CompleteProbeMap is created and returned.

- - (BOOL)isProbeMapDefinedForObject: anObject

- - (BOOL)isProbeMapDefinedFor: (Class)aClass
  The isProbeMapDefinedFor: method returns True if there is a non-nil value in the ProbeLibrary for that class and False otherwise.

- - (unsigned)getSavedPrecision
  The getSavedPrecision method gets the current saved precision set in the ProbeLibrary instance.

- - setSavedPrecision: (unsigned)nSigSaved
  The setSavedPrecision: method sets the number of significant digits saved for floating-point and double floating-point numbers through ObjectSaver. This function sets the global default precision for all floating point numbers, including double floating point numbers. This floating point precision affects all numbers saved via the ObjectSaver class. There is currently no way to override this global default for an individual probe.

- - (unsigned)getDisplayPrecision
  The getDisplayPrecision method gets the current display precision set in the ProbeLibrary instance.

- - setDisplayPrecision: (unsigned)nSigDisplay
  The setDisplayPrecision: method sets the number of significant digits for floating point and double floating point numbers displayed on GUI widgets. This method is currently only implemented for VarProbes. It has not been implemented for MessageProbes yet. The setDisplayPrecision method allows all probes checked out from the global ProbeLibrary instance to access this displayed precision. However, individual probes can vary from this global default, by using the setFloatFormat method on a exisiting probe.

Prev | Home | Next
ProbeConfig | Up | ProbeMap