FileDocCategorySizeDatePackage
ProactiveResponseHandler.javaAPI DocphoneME MR2 API (J2ME)10038Wed May 02 18:00:40 BST 2007sim.toolkit

ProactiveResponseHandler

public final class ProactiveResponseHandler extends ViewHandler
The ProactiveResponseHandler class contains basic methods to handle the Terminal Response data field. This class will be used by the Toolkit applet to get the response to the Proactive commands. No constructor is available for the Toolkit applet. The ProactiveResponseHandler class is a Temporary JCRE Entry Point Object. The only way to get a ProactiveResponseHandler reference is through the getTheHandler() static method.

Example of use:



private byte[] data;
data = new byte[32]; // build a buffer

ProactiveResponseHandler ProRespHdlr; // get the system instance
ProRespHdlr = ProactiveResponseHandler.getTheHandler();

// get General Result
byte result = ProRespHdlr.getGeneralResult();

// look for Device Identities
respHdlr.findTLV(TAG_DEVICE_IDENTITIES, 1);

// read Device Identities
byte sourceDev = ProRespHdlr.getValueByte((short)0);
byte destinDev = ProRespHdlr.getValueByte((short)1);

// look for Text String element
if (ProRespHdlr.findTLV(TAG_TEXT_STRING, (byte)1) == TLV_FOUND_CR_SET) {
if ((short len = ProRespHdlr.getValueLength()) > 1) {
// not empty string: to be copied
ProRespHdlr.copyValue((short)1, data, (short)0, (short)(len - 1));
}
}
version
8.3.0
see
ViewHandler
see
ProactiveHandler
see
ToolkitException

Fields Summary
Constructors Summary
private ProactiveResponseHandler()
Constructor

    
Methods Summary
public shortcopyAdditionalInformation(byte[] dstBuffer, short dstOffset, short dstLength)
Copies a part of the additional information field from the first Result TLV element of the current response data field. If the element is available it becomes the TLV selected.

Notes:

  • If dstOffset or dstLength parameter is negative an ArrayIndexOutOfBoundsException exception is thrown and no copy is performed.
  • If dstOffset+dstLength is greater than dstBuffer.length, the length of the dstBuffer array an ArrayIndexOutOfBoundsException exception is thrown and no copy is performed.

param
dstBuffer a reference to the destination buffer
param
dstOffset the position in the destination buffer
param
dstLength the data length to be copied
return
dstOffset+dstLength
exception
NullPointerException if dstBuffer is null
exception
ArrayIndexOutOfBoundsException if copyAdditionalInformation would cause access of data outside array bounds.
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Result TLV element
  • OUT_OF_TLV_BOUNDARIES if dstLength is greater than the value field of the available TLV

        return 0;
    
public shortcopyTextString(byte[] dstBuffer, short dstOffset)
Copies the text string value from the first Text String TLV element of the current response data field. The Data Coding Scheme byte is not copied. If the element is available it becomes the TLV selected.

param
dstBuffer a reference to the destination buffer
param
dstOffset the position in the destination buffer
return
dstOffset + length of the copied value
exception
NullPointerException if dstBuffer is null
exception
ArrayIndexOutOfBoundsException if dstOffset or dstOffset + (length of the TextString to be copied, without the Data Coding Scheme included), as specified for the returned value, would cause access outside array bounds.
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Text String TLV element

        return 0;
    
public shortgetAdditionalInformationLength()
Returns the length of the additional information field from the first Result TLV element of the current response data field. If the element is available it becomes the TLV selected.

return
additional information length
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Result TLV element

        return 0;
    
public bytegetGeneralResult()
Returns the general result byte of the Proactive command. If the element is available it becomes the TLV selected.

return
general result of the command (first byte of Result TLV in Terminal Response)
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Result TLV element
  • OUT_OF_TLV_BOUNDARIES if the general result byte is missing in the Result Simple TLV

        return 0;
    
public bytegetItemIdentifier()
Returns the item identifier byte value from the first Item Identifier TLV element of the current response data field. If the element is available it becomes the TLV selected.

return
item identifier
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Item Identifier TLV element
  • OUT_OF_TLV_BOUNDARIES if the item identifier byte is missing in the Item Identifier Simple TLV

        return 0;
    
public bytegetTextStringCodingScheme()
Returns the data coding scheme byte from the first Text String TLV element of the current response data field. If the element is available it becomes the TLV selected.

return
text string coding scheme
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Text String TLV element
  • OUT_OF_TLV_BOUNDARIES if the Text String TLV is present with a length of 0 (no DCS byte)

        return 0;
    
public shortgetTextStringLength()
Returns the text string length value from the first Text String TLV element of the current response data field. The Data Coding Scheme byte is not taken into account. If the element is available it becomes the TLV selected.

return
text string length
exception
ToolkitException with the following reason codes:
  • UNAVAILABLE_ELEMENT in case of unavailable Text String TLV element

        return 0;
    
public static sim.toolkit.ProactiveResponseHandlergetTheHandler()
Returns the single system instance of the ProactiveResponseHandler class. The applet shall get the reference of the handler at its triggering, the beginning of the processToolkit method.

return
reference of the system instance
exception
ToolkitException with the following reason codes:
  • HANDLER_NOT_AVAILABLE if the handler is busy.

		    return null;