Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/* Generated SBE (Simple Binary Encoding) message codec. */
package b3.entrypoint.fixp.sbe;
import org.agrona.DirectBuffer;
import org.agrona.sbe.*;
/**
* The SimpleModifyOrder submits a simple modify request for basic parameters like price and quantity. The client sends the SimpleModifyOrder message to B3 to modify some order values only.
*/
@SuppressWarnings("all")
public final class SimpleModifyOrderDecoder implements MessageDecoderFlyweight
{
public static final int BLOCK_LENGTH = 66;
public static final int TEMPLATE_ID = 101;
public static final int SCHEMA_ID = 1;
public static final int SCHEMA_VERSION = 5;
public static final String SEMANTIC_VERSION = "5.6";
public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
private final SimpleModifyOrderDecoder parentMessage = this;
private DirectBuffer buffer;
private int offset;
private int limit;
int actingBlockLength;
int actingVersion;
public int sbeBlockLength()
{
return BLOCK_LENGTH;
}
public int sbeTemplateId()
{
return TEMPLATE_ID;
}
public int sbeSchemaId()
{
return SCHEMA_ID;
}
public int sbeSchemaVersion()
{
return SCHEMA_VERSION;
}
public String sbeSemanticType()
{
return "";
}
public DirectBuffer buffer()
{
return buffer;
}
public int offset()
{
return offset;
}
public SimpleModifyOrderDecoder wrap(
final DirectBuffer buffer,
final int offset,
final int actingBlockLength,
final int actingVersion)
{
if (buffer != this.buffer)
{
this.buffer = buffer;
}
this.offset = offset;
this.actingBlockLength = actingBlockLength;
this.actingVersion = actingVersion;
limit(offset + actingBlockLength);
return this;
}
public SimpleModifyOrderDecoder wrapAndApplyHeader(
final DirectBuffer buffer,
final int offset,
final MessageHeaderDecoder headerDecoder)
{
headerDecoder.wrap(buffer, offset);
final int templateId = headerDecoder.templateId();
if (TEMPLATE_ID != templateId)
{
throw new IllegalStateException("Invalid TEMPLATE_ID: " + templateId);
}
return wrap(
buffer,
offset + MessageHeaderDecoder.ENCODED_LENGTH,
headerDecoder.blockLength(),
headerDecoder.version());
}
public SimpleModifyOrderDecoder sbeRewind()
{
return wrap(buffer, offset, actingBlockLength, actingVersion);
}
public int sbeDecodedLength()
{
final int currentLimit = limit();
sbeSkip();
final int decodedLength = encodedLength();
limit(currentLimit);
return decodedLength;
}
public int actingVersion()
{
return actingVersion;
}
public int encodedLength()
{
return limit - offset;
}
public int limit()
{
return limit;
}
public void limit(final int limit)
{
this.limit = limit;
}
public static int messageTypeId()
{
return 35;
}
public static int messageTypeSinceVersion()
{
return 0;
}
public static int messageTypeEncodingOffset()
{
return 0;
}
public static int messageTypeEncodingLength()
{
return 1;
}
public static String messageTypeMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "constant";
}
return "";
}
public short messageTypeRaw()
{
return MessageType.SimpleModifyOrder.value();
}
public MessageType messageType()
{
return MessageType.SimpleModifyOrder;
}
public static int clOrdIDId()
{
return 11;
}
public static int clOrdIDSinceVersion()
{
return 0;
}
public static int clOrdIDEncodingOffset()
{
return 0;
}
public static int clOrdIDEncodingLength()
{
return 8;
}
public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static long clOrdIDNullValue()
{
return 0xffffffffffffffffL;
}
public static long clOrdIDMinValue()
{
return 0x0L;
}
public static long clOrdIDMaxValue()
{
return 0xfffffffffffffffeL;
}
public long clOrdID()
{
return buffer.getLong(offset + 0, BYTE_ORDER);
}
public static int securityIDId()
{
return 48;
}
public static int securityIDSinceVersion()
{
return 0;
}
public static int securityIDEncodingOffset()
{
return 8;
}
public static int securityIDEncodingLength()
{
return 8;
}
public static String securityIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static long securityIDNullValue()
{
return 0xffffffffffffffffL;
}
public static long securityIDMinValue()
{
return 0x0L;
}
public static long securityIDMaxValue()
{
return 0xfffffffffffffffeL;
}
public long securityID()
{
return buffer.getLong(offset + 8, BYTE_ORDER);
}
public static int securityIDSourceId()
{
return 22;
}
public static int securityIDSourceSinceVersion()
{
return 0;
}
public static int securityIDSourceEncodingOffset()
{
return 16;
}
public static int securityIDSourceEncodingLength()
{
return 0;
}
public static String securityIDSourceMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "constant";
}
return "";
}
public static byte securityIDSourceNullValue()
{
return (byte)0;
}
public static byte securityIDSourceMinValue()
{
return (byte)32;
}
public static byte securityIDSourceMaxValue()
{
return (byte)126;
}
private static final byte[] SECURITYIDSOURCE_VALUE = { 56 };
public static int securityIDSourceLength()
{
return 1;
}
public byte securityIDSource(final int index)
{
return SECURITYIDSOURCE_VALUE[index];
}
public int getSecurityIDSource(final byte[] dst, final int offset, final int length)
{
final int bytesCopied = Math.min(length, 1);
System.arraycopy(SECURITYIDSOURCE_VALUE, 0, dst, offset, bytesCopied);
return bytesCopied;
}
public byte securityIDSource()
{
return (byte)56;
}
public static int securityExchangeId()
{
return 207;
}
public static int securityExchangeSinceVersion()
{
return 0;
}
public static int securityExchangeEncodingOffset()
{
return 16;
}
public static int securityExchangeEncodingLength()
{
return 0;
}
public static String securityExchangeMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "constant";
}
return "";
}
public static byte securityExchangeNullValue()
{
return (byte)0;
}
public static byte securityExchangeMinValue()
{
return (byte)32;
}
public static byte securityExchangeMaxValue()
{
return (byte)126;
}
private static final byte[] SECURITYEXCHANGE_VALUE = { 66, 86, 77, 70 };
public static int securityExchangeLength()
{
return 4;
}
public byte securityExchange(final int index)
{
return SECURITYEXCHANGE_VALUE[index];
}
public int getSecurityExchange(final byte[] dst, final int offset, final int length)
{
final int bytesCopied = Math.min(length, 4);
System.arraycopy(SECURITYEXCHANGE_VALUE, 0, dst, offset, bytesCopied);
return bytesCopied;
}
public String securityExchange()
{
return "BVMF";
}
public static int priceId()
{
return 44;
}
public static int priceSinceVersion()
{
return 0;
}
public static int priceEncodingOffset()
{
return 16;
}
public static int priceEncodingLength()
{
return 8;
}
public static String priceMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
private final PriceOptionalDecoder price = new PriceOptionalDecoder();
/**
* Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).
*
* @return PriceOptionalDecoder : Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).
*/
public PriceOptionalDecoder price()
{
price.wrap(buffer, offset + 16);
return price;
}
public static int orderQtyId()
{
return 38;
}
public static int orderQtySinceVersion()
{
return 0;
}
public static int orderQtyEncodingOffset()
{
return 24;
}
public static int orderQtyEncodingLength()
{
return 8;
}
public static String orderQtyMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static long orderQtyNullValue()
{
return 0xffffffffffffffffL;
}
public static long orderQtyMinValue()
{
return 0x0L;
}
public static long orderQtyMaxValue()
{
return 0xfffffffffffffffeL;
}
public long orderQty()
{
return buffer.getLong(offset + 24, BYTE_ORDER);
}
public static int origClOrdIDId()
{
return 41;
}
public static int origClOrdIDSinceVersion()
{
return 0;
}
public static int origClOrdIDEncodingOffset()
{
return 32;
}
public static int origClOrdIDEncodingLength()
{
return 8;
}
public static String origClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static long origClOrdIDNullValue()
{
return 0xffffffffffffffffL;
}
public static long origClOrdIDMinValue()
{
return 0x0L;
}
public static long origClOrdIDMaxValue()
{
return 0xfffffffffffffffeL;
}
public long origClOrdID()
{
return buffer.getLong(offset + 32, BYTE_ORDER);
}
public static int marketSegmentIDId()
{
return 1300;
}
public static int marketSegmentIDSinceVersion()
{
return 0;
}
public static int marketSegmentIDEncodingOffset()
{
return 40;
}
public static int marketSegmentIDEncodingLength()
{
return 1;
}
public static String marketSegmentIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static short marketSegmentIDNullValue()
{
return (short)255;
}
public static short marketSegmentIDMinValue()
{
return (short)0;
}
public static short marketSegmentIDMaxValue()
{
return (short)254;
}
public short marketSegmentID()
{
return ((short)(buffer.getByte(offset + 40) & 0xFF));
}
public static int ordTypeId()
{
return 40;
}
public static int ordTypeSinceVersion()
{
return 0;
}
public static int ordTypeEncodingOffset()
{
return 41;
}
public static int ordTypeEncodingLength()
{
return 1;
}
public static String ordTypeMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public byte ordTypeRaw()
{
return buffer.getByte(offset + 41);
}
public OrdType ordType()
{
return OrdType.get(buffer.getByte(offset + 41));
}
public static int ordTagIDId()
{
return 35505;
}
public static int ordTagIDSinceVersion()
{
return 0;
}
public static int ordTagIDEncodingOffset()
{
return 42;
}
public static int ordTagIDEncodingLength()
{
return 1;
}
public static String ordTagIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static short ordTagIDNullValue()
{
return (short)0;
}
public static short ordTagIDMinValue()
{
return (short)0;
}
public static short ordTagIDMaxValue()
{
return (short)254;
}
public short ordTagID()
{
return ((short)(buffer.getByte(offset + 42) & 0xFF));
}
public static int enteringTraderId()
{
return 35502;
}
public static int enteringTraderSinceVersion()
{
return 0;
}
public static int enteringTraderEncodingOffset()
{
return 43;
}
public static int enteringTraderEncodingLength()
{
return 5;
}
public static String enteringTraderMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static byte enteringTraderNullValue()
{
return (byte)0;
}
public static byte enteringTraderMinValue()
{
return (byte)32;
}
public static byte enteringTraderMaxValue()
{
return (byte)126;
}
public static int enteringTraderLength()
{
return 5;
}
public byte enteringTrader(final int index)
{
if (index < 0 || index >= 5)
{
throw new IndexOutOfBoundsException("index out of range: index=" + index);
}
final int pos = offset + 43 + (index * 1);
return buffer.getByte(pos);
}
public static String enteringTraderCharacterEncoding()
{
return java.nio.charset.StandardCharsets.US_ASCII.name();
}
public int getEnteringTrader(final byte[] dst, final int dstOffset)
{
final int length = 5;
if (dstOffset < 0 || dstOffset > (dst.length - length))
{
throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
}
buffer.getBytes(offset + 43, dst, dstOffset, length);
return length;
}
public String enteringTrader()
{
final byte[] dst = new byte[5];
buffer.getBytes(offset + 43, dst, 0, 5);
int end = 0;
for (; end < 5 && dst[end] != 0; ++end);
return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
}
public int getEnteringTrader(final Appendable value)
{
for (int i = 0; i < 5; ++i)
{
final int c = buffer.getByte(offset + 43 + i) & 0xFF;
if (c == 0)
{
return i;
}
try
{
value.append(c > 127 ? '?' : (char)c);
}
catch (final java.io.IOException ex)
{
throw new java.io.UncheckedIOException(ex);
}
}
return 5;
}
public static int accountId()
{
return 1;
}
public static int accountSinceVersion()
{
return 0;
}
public static int accountEncodingOffset()
{
return 48;
}
public static int accountEncodingLength()
{
return 4;
}
public static String accountMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static long accountNullValue()
{
return 0L;
}
public static long accountMinValue()
{
return 0L;
}
public static long accountMaxValue()
{
return 4294967294L;
}
public long account()
{
return (buffer.getInt(offset + 48, BYTE_ORDER) & 0xFFFF_FFFFL);
}
public static int sideId()
{
return 54;
}
public static int sideSinceVersion()
{
return 0;
}
public static int sideEncodingOffset()
{
return 52;
}
public static int sideEncodingLength()
{
return 1;
}
public static String sideMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public byte sideRaw()
{
return buffer.getByte(offset + 52);
}
public Side side()
{
return Side.get(buffer.getByte(offset + 52));
}
public static int senderLocationId()
{
return 35503;
}
public static int senderLocationSinceVersion()
{
return 0;
}
public static int senderLocationEncodingOffset()
{
return 56;
}
public static int senderLocationEncodingLength()
{
return 10;
}
public static String senderLocationMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static byte senderLocationNullValue()
{
return (byte)0;
}
public static byte senderLocationMinValue()
{
return (byte)32;
}
public static byte senderLocationMaxValue()
{
return (byte)126;
}
public static int senderLocationLength()
{
return 10;
}
public byte senderLocation(final int index)
{
if (index < 0 || index >= 10)
{
throw new IndexOutOfBoundsException("index out of range: index=" + index);
}
final int pos = offset + 56 + (index * 1);
return buffer.getByte(pos);
}
public static String senderLocationCharacterEncoding()
{
return java.nio.charset.StandardCharsets.US_ASCII.name();
}
public int getSenderLocation(final byte[] dst, final int dstOffset)
{
final int length = 10;
if (dstOffset < 0 || dstOffset > (dst.length - length))
{
throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
}
buffer.getBytes(offset + 56, dst, dstOffset, length);
return length;
}
public String senderLocation()
{
final byte[] dst = new byte[10];
buffer.getBytes(offset + 56, dst, 0, 10);
int end = 0;
for (; end < 10 && dst[end] != 0; ++end);
return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
}
public int getSenderLocation(final Appendable value)
{
for (int i = 0; i < 10; ++i)
{
final int c = buffer.getByte(offset + 56 + i) & 0xFF;
if (c == 0)
{
return i;
}
try
{
value.append(c > 127 ? '?' : (char)c);
}
catch (final java.io.IOException ex)
{
throw new java.io.UncheckedIOException(ex);
}
}
return 10;
}
public String toString()
{
if (null == buffer)
{
return "";
}
final SimpleModifyOrderDecoder decoder = new SimpleModifyOrderDecoder();
decoder.wrap(buffer, offset, actingBlockLength, actingVersion);
return decoder.appendTo(new StringBuilder()).toString();
}
public StringBuilder appendTo(final StringBuilder builder)
{
if (null == buffer)
{
return builder;
}
final int originalLimit = limit();
limit(offset + actingBlockLength);
builder.append("[SimpleModifyOrder](sbeTemplateId=");
builder.append(TEMPLATE_ID);
builder.append("|sbeSchemaId=");
builder.append(SCHEMA_ID);
builder.append("|sbeSchemaVersion=");
if (parentMessage.actingVersion != SCHEMA_VERSION)
{
builder.append(parentMessage.actingVersion);
builder.append('/');
}
builder.append(SCHEMA_VERSION);
builder.append("|sbeBlockLength=");
if (actingBlockLength != BLOCK_LENGTH)
{
builder.append(actingBlockLength);
builder.append('/');
}
builder.append(BLOCK_LENGTH);
builder.append("):");
builder.append("messageType=");
builder.append(this.messageType());
builder.append('|');
builder.append("clOrdID=");
builder.append(this.clOrdID());
builder.append('|');
builder.append("securityID=");
builder.append(this.securityID());
builder.append('|');
builder.append("price=");
final PriceOptionalDecoder price = this.price();
if (null != price)
{
price.appendTo(builder);
}
else
{
builder.append("null");
}
builder.append('|');
builder.append("orderQty=");
builder.append(this.orderQty());
builder.append('|');
builder.append("origClOrdID=");
builder.append(this.origClOrdID());
builder.append('|');
builder.append("marketSegmentID=");
builder.append(this.marketSegmentID());
builder.append('|');
builder.append("ordType=");
builder.append(this.ordType());
builder.append('|');
builder.append("ordTagID=");
builder.append(this.ordTagID());
builder.append('|');
builder.append("enteringTrader=");
for (int i = 0; i < enteringTraderLength() && this.enteringTrader(i) > 0; i++)
{
builder.append((char)this.enteringTrader(i));
}
builder.append('|');
builder.append("account=");
builder.append(this.account());
builder.append('|');
builder.append("side=");
builder.append(this.side());
builder.append('|');
builder.append("senderLocation=");
for (int i = 0; i < senderLocationLength() && this.senderLocation(i) > 0; i++)
{
builder.append((char)this.senderLocation(i));
}
limit(originalLimit);
return builder;
}
public SimpleModifyOrderDecoder sbeSkip()
{
sbeRewind();
return this;
}
}