org.fudgemsg.types
Class FudgeMsgFieldType

java.lang.Object
  extended by org.fudgemsg.FudgeFieldType<FudgeFieldContainer>
      extended by org.fudgemsg.types.FudgeMsgFieldType
All Implemented Interfaces:
Serializable

public class FudgeMsgFieldType
extends FudgeFieldType<FudgeFieldContainer>

The type definition for a sub-message in a hierarchical message format.

See Also:
Serialized Form

Field Summary
static FudgeMsgFieldType INSTANCE
          Standard Fudge field type: embedded sub-message.
 
Method Summary
 int getVariableSize(FudgeFieldContainer value, FudgeTaxonomy taxonomy)
          Gets the number of bytes used to encode a value.
 FudgeFieldContainer readValue(DataInput input, int dataSize)
          Reads a value of this type to the output.
 void writeValue(DataOutput output, FudgeFieldContainer value)
          Writes a value of this type to the output.
 
Methods inherited from class org.fudgemsg.FudgeFieldType
equals, getFixedSize, getJavaType, getTypeId, hashCode, isVariableSize, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

INSTANCE

public static final FudgeMsgFieldType INSTANCE
Standard Fudge field type: embedded sub-message. See FudgeTypeDictionary.FUDGE_MSG_TYPE_ID.

Method Detail

getVariableSize

public int getVariableSize(FudgeFieldContainer value,
                           FudgeTaxonomy taxonomy)
Gets the number of bytes used to encode a value.

A variable width type must override this method. A fixed width type will return the fixed size.

Overrides:
getVariableSize in class FudgeFieldType<FudgeFieldContainer>
Parameters:
value - the value to check, not used for fixed width types
taxonomy - the taxonomy being used for the encoding, not used for fixed width types
Returns:
the size in bytes

readValue

public FudgeFieldContainer readValue(DataInput input,
                                     int dataSize)
Reads a value of this type to the output.

This is intended for use by variable width types and must read the given value. The implementation must read exactly the number of bytes passed into the method.

Overrides:
readValue in class FudgeFieldType<FudgeFieldContainer>
Parameters:
input - the input source to read the value from, not null
dataSize - the number of bytes of data to read
Returns:
the value that was read

writeValue

public void writeValue(DataOutput output,
                       FudgeFieldContainer value)
Writes a value of this type to the output.

This is intended for use by variable width types and must write the given value. The implementation must write exactly the number of bytes returned by the size calculation.

Overrides:
writeValue in class FudgeFieldType<FudgeFieldContainer>
Parameters:
output - the output target to write the value to, not null
value - the value to write


Copyright 2009-Present by OpenGamma Inc. and individual contributors
Released under the Apache License, Version 2.0