swarm.objectbase
Interface ProbeLibrary

All Known Implementing Classes:
ProbeLibraryImpl

public interface ProbeLibrary
extends Create, CreateS, Drop, DropS, ProbeConfig, ProbeConfigS

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.. 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.


Method Summary
 ProbeMap getCompleteProbeMapFor(java.lang.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).
 ProbeMap getCompleteProbeMapForObject(java.lang.Object anObject)
           
 ProbeMap getCompleteVarMapFor(java.lang.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.
 ProbeMap getCompleteVarMapForObject(java.lang.Object anObject)
           
 int getDisplayPrecision()
          The getDisplayPrecision method gets the current display precision set in the ProbeLibrary instance.
 MessageProbe getProbeForMessage$inClass(java.lang.String aMessage, java.lang.Class aClass)
          The getProbeForMessage:inClass: method returns a probe that has been "checked out" from the appropriate Probes in the probe library.
 MessageProbe getProbeForMessage$inObject(java.lang.String aMessage, java.lang.Object anObject)
           
 VarProbe getProbeForVariable$inClass(java.lang.String aVar, java.lang.Class aClass)
          The getProbeForVariable:inClass: method returns a probe that has been "checked out" from the appropriate Probes in the probe library.
 VarProbe getProbeForVariable$inObject(java.lang.String aVar, java.lang.Object anObject)
           
 ProbeMap getProbeMapFor(java.lang.Class aClass)
          The getProbeMapFor: method returns a ProbeMap for the aClass class.
 ProbeMap getProbeMapForObject(java.lang.Object anObject)
           
 int getSavedPrecision()
          The getSavedPrecision method gets the current saved precision set in the ProbeLibrary instance.
 boolean isProbeMapDefinedFor(java.lang.Class aClass)
          The isProbeMapDefinedFor: method returns True if there is a non-nil value in the ProbeLibrary for that class and False otherwise.
 boolean isProbeMapDefinedForObject(java.lang.Object anObject)
           
 java.lang.Object setDisplayPrecision(int nSigDisplay)
          The setDisplayPrecision: method sets the number of significant digits for floating point and double floating point numbers displayed on GUI widgets.
 java.lang.Object setProbeMap$For(ProbeMap aMap, java.lang.Class aClass)
          The setProbeMap:For: method sets the standard probe map as the probe map.
 java.lang.Object setProbeMap$ForObject(ProbeMap aMap, java.lang.Object anObject)
           
 java.lang.Object setSavedPrecision(int nSigSaved)
          The setSavedPrecision: method sets the number of significant digits saved for floating-point and double floating-point numbers through ObjectSaver.
 
Methods inherited from interface swarm.defobj.Drop
drop
 
Methods inherited from interface swarm.objectbase.ProbeConfig
getObjectToNotify, setObjectToNotify
 
Methods inherited from interface swarm.defobj.DefinedObject
compare, describe, describeID, getDisplayName, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods inherited from interface swarm.defobj.GetName
getName
 

Method Detail

setDisplayPrecision

public java.lang.Object setDisplayPrecision(int 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.

getDisplayPrecision

public int getDisplayPrecision()
The getDisplayPrecision method gets the current display precision set in the ProbeLibrary instance.

setSavedPrecision

public java.lang.Object setSavedPrecision(int 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.

getSavedPrecision

public int getSavedPrecision()
The getSavedPrecision method gets the current saved precision set in the ProbeLibrary instance.

isProbeMapDefinedFor

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

isProbeMapDefinedForObject

public boolean isProbeMapDefinedForObject(java.lang.Object anObject)

getProbeMapFor

public ProbeMap getProbeMapFor(java.lang.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.

getProbeMapForObject

public ProbeMap getProbeMapForObject(java.lang.Object anObject)

getCompleteProbeMapFor

public ProbeMap getCompleteProbeMapFor(java.lang.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.

getCompleteProbeMapForObject

public ProbeMap getCompleteProbeMapForObject(java.lang.Object anObject)

getCompleteVarMapFor

public ProbeMap getCompleteVarMapFor(java.lang.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.

getCompleteVarMapForObject

public ProbeMap getCompleteVarMapForObject(java.lang.Object anObject)

getProbeForVariable$inClass

public VarProbe getProbeForVariable$inClass(java.lang.String aVar,
                                            java.lang.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.

getProbeForVariable$inObject

public VarProbe getProbeForVariable$inObject(java.lang.String aVar,
                                             java.lang.Object anObject)

getProbeForMessage$inClass

public MessageProbe getProbeForMessage$inClass(java.lang.String aMessage,
                                               java.lang.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.

getProbeForMessage$inObject

public MessageProbe getProbeForMessage$inObject(java.lang.String aMessage,
                                                java.lang.Object anObject)

setProbeMap$For

public java.lang.Object setProbeMap$For(ProbeMap aMap,
                                        java.lang.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.

setProbeMap$ForObject

public java.lang.Object setProbeMap$ForObject(ProbeMap aMap,
                                              java.lang.Object anObject)