IBM Rational Performance Tester SDK

com.ibm.rational.test.lt.recorder.core.extensibility
Class BaseRecorderDelegate

java.lang.Object
  extended by com.ibm.rational.test.lt.recorder.core.extensibility.BaseRecorderDelegate
All Implemented Interfaces:
IRecorderDelegate, IRecordingComponentDelegate

public abstract class BaseRecorderDelegate
extends Object
implements IRecorderDelegate

A base implementation of IRecorderDelegate. This class provides basic convenience methods and circuitry for implementing a recorder delegate. However it is not required to extend this class in order to implement IRecorderDelegate. Sub-classes are responsible of implementing IRecorderDelegate.start(boolean), IRecorderDelegate.stop(), IRecorderDelegate.pause() and IRecorderDelegate.resume(); they may extend BaseRecorderDelegate.initialize(IRecorderContext), and should invoke BaseRecorderDelegate.sendStarted(boolean), BaseRecorderDelegate.sendStopped(boolean), BaseRecorderDelegate.sendPaused() and BaseRecorderDelegate.sendResumed() when appropriate.


Constructor Summary
BaseRecorderDelegate()
           
 
Method Summary
 IRecorderContext getContext()
          Returns the recorder context.
 Object getProperty(String name)
          Gets a runtime property of the delegate.
 void initialize(IRecorderContext context)
          This method may be overridden if desired, but the overriding method should make sure that the super implementation is invoked.
 void messageReceived(Message message)
          This method is invoked by the context when a message is sent to this delegate.
 void savePreference(String bundleId, String preferenceName, Object preferenceValue)
          Let the framework save the specified preference.
protected  void sendPaused()
           
protected  void sendResumed()
           
protected  void sendStarted(boolean recordingEnabled)
           
protected  void sendStopped(boolean failed)
           
 void sendUserMessage(String msg)
           
 void setProperty(String name, Object value)
          Sets the value of a runtime property of the delegate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.rational.test.lt.recorder.core.extensibility.IRecorderDelegate
pause, resume, start, stop
 

Constructor Detail

BaseRecorderDelegate

public BaseRecorderDelegate()
Method Detail

initialize

public void initialize(IRecorderContext context)
                throws DelegateInitializeException
This method may be overridden if desired, but the overriding method should make sure that the super implementation is invoked. For more details about what this method does, see IRecorderDelegate.initialize(IRecorderContext).

Specified by:
initialize in interface IRecorderDelegate
Parameters:
context - The recorder context, that provides the recorder configuration that this instance should conform to, and a mechanism for the delegate to send events to other involved components.
Throws:
DelegateInitializeException - If the delegate cannot be initialized or will not be able to run properly.

getContext

public IRecorderContext getContext()
Returns the recorder context. This can be used to issue log traces, send messages to the user, and send packets captured by the recorder.

Returns:
A recorder context.

sendStarted

protected final void sendStarted(boolean recordingEnabled)
Parameters:
recordingEnabled - Whether the recorder is recording or ignoring captured information.
See Also:
IRecorderDelegate.start(boolean)

sendStopped

protected final void sendStopped(boolean failed)
See Also:
IRecorderDelegate.stop()

sendPaused

protected final void sendPaused()
See Also:
IRecorderDelegate.pause()

sendResumed

protected final void sendResumed()
See Also:
IRecorderDelegate.resume()

sendUserMessage

public void sendUserMessage(String msg)

messageReceived

public void messageReceived(Message message)
Description copied from interface: IRecordingComponentDelegate
This method is invoked by the context when a message is sent to this delegate. If the delegate doesn't know how to understand or handle the message, it should silently ignore it.

Specified by:
messageReceived in interface IRecordingComponentDelegate
Parameters:
message - A message.

getProperty

public Object getProperty(String name)
                   throws UnsupportedPropertyException
Description copied from interface: IRecordingComponentDelegate
Gets a runtime property of the delegate. The meaning of the property and its value is specific to the delegate and part of the interface between the delegate and other recording components. In particular, the time when the value can be read is let to the delegate implementation (for instance, a property may be read only after the component has started).

Specified by:
getProperty in interface IRecordingComponentDelegate
Parameters:
name - The property name
Returns:
The property value
Throws:
UnsupportedPropertyException - If the delegate does not support the property (either because it does not define such a property, or because the property is read at an inappropriate time).

setProperty

public void setProperty(String name,
                        Object value)
                 throws UnsupportedPropertyException
Description copied from interface: IRecordingComponentDelegate
Sets the value of a runtime property of the delegate. The meaning of the property and its value is specific to the delegate and part of the interface between the delegate and other recording components. In particular, the time when the value can be set is defined by the delegate implementation (for instance, a property may be set only before the component is started).

Specified by:
setProperty in interface IRecordingComponentDelegate
Parameters:
name - The property name
Throws:
UnsupportedPropertyException - If the delegate does not support the property (either because it does not define such a property, or because the property is set at an inappropriate time).

savePreference

public final void savePreference(String bundleId,
                                 String preferenceName,
                                 Object preferenceValue)
Let the framework save the specified preference. If the delegate runs locally in the workbench, it is not required to go through this method for saving a preference, however this method may be useful for delegates running outside the workbench and that need to alter the preferences in the workbench.

Parameters:
bundleId - The bundle (or plug-in) id where the specified preference must be saved.
preferenceName - The preference name
preferenceValue - The preference value. Must be one the following types: Boolean, byte[], Double, Float, Integer, Long or String. Other types are not supported and will be ignored.

IBM Rational Performance Tester SDK

© Copyright IBM Corp. 2012. All rights reserved.