com.latencybusters.lbm.sdm
Class LBMSDMFieldDecimal

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

public class LBMSDMFieldDecimal
extends LBMSDMField
implements java.lang.Cloneable

Implements an SDM Field of type Decimal


Field Summary
protected  LBMSDMRawDecimal 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 LBMSDMFieldDecimal(short type, java.lang.String name)
          Constructor for array subclasses
  LBMSDMFieldDecimal(java.lang.String name)
          Constructor for an empty decimal field.
  LBMSDMFieldDecimal(java.lang.String name, LBMSDMRawDecimal v)
          Constructor for a decimal field with a known decimal
  LBMSDMFieldDecimal(java.lang.String name, long mant, int exp)
          Constructor for a decimal field providing the mantissa and exponent
 
Method Summary
 LBMSDMFieldDecimal clone()
          Get a copy of this object
static int fixed_size()
          Get the length of formatted field (static field)
 int format(byte[] buf, int offset)
          Format a raw decimal in to a byte buffer
 int get_base_len()
          Get the length of base formatted field This is used by the respective array class
 int get_len()
          Get the length of formatted field
 LBMSDMRawDecimal get()
          Get the raw decimal field
 int parse(byte[] buf, int offset)
          Parse a byte buffer and store the value
 void set(LBMSDMRawDecimal v)
          Set the raw decimal.
 java.lang.String toDbgString()
          Get a string useful for debugging
 java.lang.String toString()
          Get the string form of the decimal
 
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 LBMSDMRawDecimal internalValue
The internal data storage for this field

Constructor Detail

LBMSDMFieldDecimal

public LBMSDMFieldDecimal(java.lang.String name)
                   throws LBMSDMException
Constructor for an empty decimal field.

Parameters:
name - The field name
Throws:
LBMSDMException

LBMSDMFieldDecimal

public LBMSDMFieldDecimal(java.lang.String name,
                          LBMSDMRawDecimal v)
                   throws LBMSDMException
Constructor for a decimal field with a known decimal

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

LBMSDMFieldDecimal

public LBMSDMFieldDecimal(java.lang.String name,
                          long mant,
                          int exp)
                   throws LBMSDMException
Constructor for a decimal field providing the mantissa and exponent

Parameters:
name - The field name
mant - The mantissa to be used as the decimal
exp - The exponent to be used as the decimal
Throws:
LBMSDMException

LBMSDMFieldDecimal

protected LBMSDMFieldDecimal(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 LBMSDMRawDecimal get()
Get the raw decimal field

Returns:
A LBMSDMRawDecimal object

fixed_size

public static int fixed_size()
Get the length of formatted field (static field)

Returns:
The number of bytes a formatted decimal will use

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 decimal will use

get_base_len

public final int get_base_len()
Get the length of base formatted field This is used by the respective array class

Returns:
The number of bytes a formatted Decimal will use

set

public void set(LBMSDMRawDecimal v)
         throws LBMSDMException
Set the raw decimal.

Parameters:
v - The LBMSDMRawDecimal 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

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

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

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

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

clone

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