uk.co.real_logic.artio.builder.OrderQtyDataEncoder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of artio-session-codecs Show documentation
Show all versions of artio-session-codecs Show documentation
High-Performance FIX Gateway
/* Generated Fix Gateway message codec */
package uk.co.real_logic.artio.builder;
import uk.co.real_logic.artio.dictionary.Generated;
import org.agrona.MutableDirectBuffer;
import org.agrona.AsciiSequenceView;
import static uk.co.real_logic.artio.dictionary.generation.CodecUtil.*;
import static uk.co.real_logic.artio.dictionary.SessionConstants.*;
import uk.co.real_logic.artio.builder.Encoder;
import uk.co.real_logic.artio.fields.ReadOnlyDecimalFloat;
import uk.co.real_logic.artio.fields.DecimalFloat;
import uk.co.real_logic.artio.util.MutableAsciiBuffer;
import uk.co.real_logic.artio.util.AsciiBuffer;
import uk.co.real_logic.artio.fields.LocalMktDateEncoder;
import uk.co.real_logic.artio.fields.UtcTimestampEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import uk.co.real_logic.artio.dictionary.CharArraySet;
import org.agrona.collections.IntHashSet;
import org.agrona.collections.IntHashSet.IntIterator;
import uk.co.real_logic.artio.EncodingException;
import uk.co.real_logic.artio.dictionary.CharArrayWrapper;
import org.agrona.DirectBuffer;
import org.agrona.MutableDirectBuffer;
import org.agrona.concurrent.UnsafeBuffer;
import org.agrona.AsciiSequenceView;
import uk.co.real_logic.artio.builder.FieldBagEncoder;
import static java.nio.charset.StandardCharsets.US_ASCII;
import static uk.co.real_logic.artio.builder.Validation.CODEC_VALIDATION_ENABLED;
import static uk.co.real_logic.artio.builder.RejectUnknownField.CODEC_REJECT_UNKNOWN_FIELD_ENABLED;
import static uk.co.real_logic.artio.builder.RejectUnknownEnumValue.CODEC_REJECT_UNKNOWN_ENUM_VALUE_ENABLED;
import uk.co.real_logic.artio.*;
@Generated("uk.co.real_logic.artio")
public class OrderQtyDataEncoder
{
private static final int orderQtyHeaderLength = 3;
private static final byte[] orderQtyHeader = new byte[] {51, 56, (byte) '='};
private final DecimalFloat orderQty = new DecimalFloat();
private boolean hasOrderQty;
public boolean hasOrderQty()
{
return hasOrderQty;
}
/* OrderQty = 38 */
public OrderQtyDataEncoder orderQty(ReadOnlyDecimalFloat value)
{
orderQty.set(value);
hasOrderQty = true;
return this;
}
/* OrderQty = 38 */
public OrderQtyDataEncoder orderQty(long value, int scale)
{
orderQty.set(value, scale);
hasOrderQty = true;
return this;
}
/* OrderQty = 38 */
public DecimalFloat orderQty()
{
return orderQty;
}
public int encode(final MutableAsciiBuffer buffer, final int offset)
{
int position = offset;
if (hasOrderQty)
{
buffer.putBytes(position, orderQtyHeader, 0, orderQtyHeaderLength);
position += orderQtyHeaderLength;
position += buffer.putFloatAscii(position, orderQty);
buffer.putSeparator(position);
position++;
}
return position - offset;
}
public void reset()
{
this.resetOrderQty();
}
public void resetOrderQty()
{
hasOrderQty = false;
}
public String toString()
{
return appendTo(new StringBuilder()).toString();
}
public StringBuilder appendTo(final StringBuilder builder)
{
return appendTo(builder, 1);
}
public StringBuilder appendTo(final StringBuilder builder, final int level)
{
builder.append("{\n"); indent(builder, level);
builder.append("\"MessageName\": \"OrderQtyData\",\n");
if (hasOrderQty())
{
indent(builder, level);
builder.append("\"OrderQty\": \"");
orderQty.appendTo(builder);
builder.append("\",\n");
}
indent(builder, level - 1);
builder.append("}");
return builder;
}
public OrderQtyDataEncoder copyTo(final Encoder encoder)
{
return copyTo((OrderQtyDataEncoder)encoder);
}
public OrderQtyDataEncoder copyTo(final OrderQtyDataEncoder encoder)
{
encoder.reset();
if (hasOrderQty())
{
encoder.orderQty(this.orderQty());
}
return encoder;
}
}