com.latencybusters.lbm.sdm
Class LBMSDMFieldMessage

java.lang.Object
  extended by com.latencybusters.lbm.sdm.LBMSDM
      extended by com.latencybusters.lbm.sdm.LBMSDMField
          extended by com.latencybusters.lbm.sdm.LBMSDMFieldMessage
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
LBMSDMArrayMessage

public class LBMSDMFieldMessage
extends LBMSDMField
implements java.lang.Cloneable

Implements an SDM Field that encapsulates an SDM message


Field Summary
protected  LBMSDMessage internalValue
          The internal data storage for this field
 
Fields inherited from class com.latencybusters.lbm.sdm.LBMSDMField
elements, MAX_FIELD_NAME_LENGTH, name, type, TYPE_ARRAY_BLOB, TYPE_ARRAY_BOOLEAN, TYPE_ARRAY_DECIMAL, TYPE_ARRAY_DOUBLE, TYPE_ARRAY_FLOAT, TYPE_ARRAY_INT16, TYPE_ARRAY_INT32, TYPE_ARRAY_INT64, TYPE_ARRAY_INT8, TYPE_ARRAY_MESSAGE, TYPE_ARRAY_STRING, TYPE_ARRAY_TIMESTAMP, TYPE_ARRAY_UINT16, TYPE_ARRAY_UINT32, TYPE_ARRAY_UINT64, TYPE_ARRAY_UINT8, TYPE_ARRAY_UNICODE, TYPE_BLOB, TYPE_BOOLEAN, TYPE_DECIMAL, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT16, TYPE_INT32, TYPE_INT64, TYPE_INT8, TYPE_INVALID, TYPE_MESSAGE, TYPE_STRING, TYPE_TIMESTAMP, TYPE_UINT16, TYPE_UINT32, TYPE_UINT64, TYPE_UINT8, TYPE_UNICODE
 
Fields inherited from class com.latencybusters.lbm.sdm.LBMSDM
DEBUG_BASIC, debug_level, DEBUG_VERBOSE_PARSING
 
Constructor Summary
protected LBMSDMFieldMessage(short type, java.lang.String name)
          Constructor for array subclasses
  LBMSDMFieldMessage(java.lang.String name)
          Constructor for an empty message field.
  LBMSDMFieldMessage(java.lang.String name, LBMSDMessage v)
          Constructor for a message field with a known message
 
Method Summary
 LBMSDMFieldMessage clone()
          Get a copy of this object
 int format(byte[] buf, int offset)
          Format the message in to a byte buffer
protected  int format(byte[] buf, int offset, LBMSDMessage v)
          Format a message in to a byte buffer
 int get_len()
          Get the length of the formatted message
 LBMSDMessage get()
          Get the message in this field
 int parse(byte[] buf, int offset)
          Parse a byte buffer and store the value
 void set(LBMSDMessage v)
          Set the SDM message value
 java.lang.String toDbgString()
          Get a string useful for debugging
 java.lang.String toString()
          Get the string form of the message
 
Methods inherited from class com.latencybusters.lbm.sdm.LBMSDMField
add_element, append, format_name, format_type, get_name, getType, getType, getTypeString, internalString, isNull, length, name_len, remove, sameBaseType, sameType, set_name, set, setNull, type_len
 
Methods inherited from class com.latencybusters.lbm.sdm.LBMSDM
log, set_debug_level
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

internalValue

protected LBMSDMessage internalValue
The internal data storage for this field

Constructor Detail

LBMSDMFieldMessage

public LBMSDMFieldMessage(java.lang.String name)
                   throws LBMSDMException
Constructor for an empty message field.

Parameters:
name - The field name
Throws:
LBMSDMException

LBMSDMFieldMessage

public LBMSDMFieldMessage(java.lang.String name,
                          LBMSDMessage v)
                   throws LBMSDMException
Constructor for a message field with a known message

Parameters:
name - The field name
v - The message to be used as the field value
Throws:
LBMSDMException

LBMSDMFieldMessage

protected LBMSDMFieldMessage(short type,
                             java.lang.String name)
Constructor for array subclasses

Parameters:
type - The field type to be created
name - The name of the field to be created
Method Detail

get

public LBMSDMessage get()
Get the message in this field

Returns:
The LBMSDMessage object

get_len

public int get_len()
Get the length of the formatted message

Overrides:
get_len in class LBMSDMField
Returns:
The length of the formatted message

set

public void set(LBMSDMessage v)
         throws LBMSDMException
Set the SDM message value

Parameters:
v - The message to be set
Throws:
LBMSDMException

toDbgString

public java.lang.String toDbgString()
Get a string useful for debugging

Overrides:
toDbgString in class LBMSDMField
Returns:
A string representation of this object

format

protected int format(byte[] buf,
                     int offset,
                     LBMSDMessage v)
              throws LBMSDMException
Format a message in to a byte buffer

Parameters:
buf - The byte buffer to have the message formatted in
offset - The offset to begin formatting in the buffer
v - The message to be formatted
Returns:
The updated offset after formatting (points to an unused offset)
Throws:
LBMSDMException

format

public int format(byte[] buf,
                  int offset)
           throws LBMSDMException
Format the message in to a byte buffer

Overrides:
format in class LBMSDMField
Parameters:
buf - The byte buffer to have the message formatted in
offset - The offset to begin formatting in the buffer
Returns:
The updated offset after formatting (points to an unused offset)
Throws:
LBMSDMException - when an unexpected error occurs within LBMSDM

toString

public java.lang.String toString()
Get the string form of the message

Overrides:
toString in class java.lang.Object
Returns:
A String in the form of the 8 bit integer

parse

public int parse(byte[] buf,
                 int offset)
          throws LBMSDMException
Parse a byte buffer and store the value

Overrides:
parse in class LBMSDMField
Parameters:
buf - The byte buffer to be parsed for the boolean
offset - The offset to begin parsing the buffer
Returns:
The next offset to be parsed
Throws:
LBMSDMException - parse() should be overridden

clone

public LBMSDMFieldMessage clone()
                         throws java.lang.CloneNotSupportedException
Get a copy of this object

Overrides:
clone in class LBMSDMField
Returns:
A new object with a copy
Throws:
java.lang.CloneNotSupportedException


All of the documentation and software included in this and any other Informatica Inc "Ultra Messaging" Release is Copyright (C) 2004-2014, Informatica Corporation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted only as covered by the terms of a valid software license agreement with 29West Inc. Copyright © 2004-2014, Informatica, Inc. All Rights Reserved.