com.latencybusters.lbm.sdm
Class LBMSDMFieldBlob

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

public class LBMSDMFieldBlob
extends LBMSDMField
implements java.lang.Cloneable

Implements an SDM Field of type BLOB (Binary Large OBject)


Field Summary
protected  LBMSDMRawBlob 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 LBMSDMFieldBlob(short type, java.lang.String name)
          Constructor for array subclasses
  LBMSDMFieldBlob(java.lang.String name)
          Constructor for an empty blob field.
  LBMSDMFieldBlob(java.lang.String name, byte[] v)
          Constructor for a blob field using a byte array as the blob
  LBMSDMFieldBlob(java.lang.String name, LBMSDMRawBlob v)
          Constructor for a blob field with a known blob
 
Method Summary
 LBMSDMFieldBlob clone()
          Get a copy of this object
 int format(byte[] buf, int offset)
          Format a raw blob in to a byte buffer
protected  int format(byte[] buf, int offset, LBMSDMRawBlob src)
          Format a raw blob in to a byte buffer
 int get_len()
          Get the length of formatted field
 LBMSDMRawBlob get()
          Get the raw blob field
 int parse(byte[] buf, int offset)
          Parse a byte buffer and store the value
 void set(LBMSDMRawBlob v)
          Set the raw blob.
 byte[] toByteArray()
          Get a byte array for this blob
 java.lang.String toDbgString()
          Get a string useful for debugging
 java.lang.String toString()
          Get the string form of the raw blob
 
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 LBMSDMRawBlob internalValue
The internal data storage for this field

Constructor Detail

LBMSDMFieldBlob

public LBMSDMFieldBlob(java.lang.String name)
Constructor for an empty blob field.

Parameters:
name - The field name

LBMSDMFieldBlob

public LBMSDMFieldBlob(java.lang.String name,
                       LBMSDMRawBlob v)
                throws LBMSDMException
Constructor for a blob field with a known blob

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

LBMSDMFieldBlob

public LBMSDMFieldBlob(java.lang.String name,
                       byte[] v)
                throws LBMSDMUnsignedException
Constructor for a blob field using a byte array as the blob

Parameters:
name - The field name
v - The byte array to be used as the blob
Throws:
LBMSDMUnsignedException

LBMSDMFieldBlob

protected LBMSDMFieldBlob(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 LBMSDMRawBlob get()
Get the raw blob field

Returns:
A LBMSDMRawBlob object

get_len

public int get_len()
Get the length of formatted field

Overrides:
get_len in class LBMSDMField
Returns:
The number of bytes a formatted Blob will use

set

public void set(LBMSDMRawBlob v)
         throws LBMSDMException
Set the raw blob.

Parameters:
v - The LBMSDMRawBlob object to be set - it will be copied
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,
                     LBMSDMRawBlob src)
              throws LBMSDMException
Format a raw blob in to a byte buffer

Parameters:
buf - The byte buffer to have the blob formatted in
offset - The offset to begin formatting in the buffer
src - The blob to be formatted
Returns:
The updated offset after formatting (points to an unused offset)
Throws:
LBMSDMInsufficientSpaceException - when the buffer doesn't have enough space
LBMSDMException - when an unexpected error occurs within LBMSDM

format

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

Overrides:
format in class LBMSDMField
Parameters:
buf - The byte buffer to have the blob 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 raw blob

Overrides:
toString in class java.lang.Object
Returns:
A String in the form of the blob

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 blob
offset - The offset to begin parsing the buffer
Returns:
The next offset to be parsed
Throws:
LBMSDMException - parse() should be overridden

clone

public LBMSDMFieldBlob 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

toByteArray

public byte[] toByteArray()
Get a byte array for this blob

Returns:
A byte array containing the blob data


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.