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 NewOrderCross message submits a Cross on Order Entry gateway, a two-sided order submitted by a single party/broker at the same price and quantity.
*/
@SuppressWarnings("all")
public final class NewOrderCrossDecoder implements MessageDecoderFlyweight
{
public static final int BLOCK_LENGTH = 56;
public static final int TEMPLATE_ID = 106;
public static final int SCHEMA_ID = 1;
public static final int SCHEMA_VERSION = 5;
public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
private final NewOrderCrossDecoder parentMessage = this;
private DirectBuffer buffer;
private int initialOffset;
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 initialOffset()
{
return initialOffset;
}
public int offset()
{
return offset;
}
public NewOrderCrossDecoder wrap(
final DirectBuffer buffer,
final int offset,
final int actingBlockLength,
final int actingVersion)
{
if (buffer != this.buffer)
{
this.buffer = buffer;
}
this.initialOffset = offset;
this.offset = offset;
this.actingBlockLength = actingBlockLength;
this.actingVersion = actingVersion;
limit(offset + actingBlockLength);
return this;
}
public NewOrderCrossDecoder 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 NewOrderCrossDecoder sbeRewind()
{
return wrap(buffer, initialOffset, actingBlockLength, actingVersion);
}
public int sbeDecodedLength()
{
final int currentLimit = limit();
sbeSkip();
final int decodedLength = encodedLength();
limit(currentLimit);
return decodedLength;
}
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.NewOrderCross.value();
}
public MessageType messageType()
{
return MessageType.NewOrderCross;
}
public static int crossIDId()
{
return 548;
}
public static int crossIDSinceVersion()
{
return 0;
}
public static int crossIDEncodingOffset()
{
return 0;
}
public static int crossIDEncodingLength()
{
return 8;
}
public static String crossIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static long crossIDNullValue()
{
return 0xffffffffffffffffL;
}
public static long crossIDMinValue()
{
return 0x0L;
}
public static long crossIDMaxValue()
{
return 0xfffffffffffffffeL;
}
public long crossID()
{
return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
}
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, java.nio.ByteOrder.LITTLE_ENDIAN);
}
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, java.nio.ByteOrder.LITTLE_ENDIAN);
}
public static int senderLocationId()
{
return 35503;
}
public static int senderLocationSinceVersion()
{
return 0;
}
public static int senderLocationEncodingOffset()
{
return 32;
}
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 + 32 + (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 + 32, dst, dstOffset, length);
return length;
}
public String senderLocation()
{
final byte[] dst = new byte[10];
buffer.getBytes(offset + 32, 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 + 32 + 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 static int enteringTraderId()
{
return 35502;
}
public static int enteringTraderSinceVersion()
{
return 0;
}
public static int enteringTraderEncodingOffset()
{
return 42;
}
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 + 42 + (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 + 42, dst, dstOffset, length);
return length;
}
public String enteringTrader()
{
final byte[] dst = new byte[5];
buffer.getBytes(offset + 42, 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 + 42 + 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 marketSegmentIDId()
{
return 1300;
}
public static int marketSegmentIDSinceVersion()
{
return 0;
}
public static int marketSegmentIDEncodingOffset()
{
return 47;
}
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 + 47) & 0xFF));
}
public static int externalRFQIndicatorId()
{
return 35551;
}
public static int externalRFQIndicatorSinceVersion()
{
return 0;
}
public static int externalRFQIndicatorEncodingOffset()
{
return 55;
}
public static int externalRFQIndicatorEncodingLength()
{
return 1;
}
public static String externalRFQIndicatorMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public short externalRFQIndicatorRaw()
{
return ((short)(buffer.getByte(offset + 55) & 0xFF));
}
public Boolean externalRFQIndicator()
{
return Boolean.get(((short)(buffer.getByte(offset + 55) & 0xFF)));
}
private final NoSidesDecoder noSides = new NoSidesDecoder(this);
public static long noSidesDecoderId()
{
return 552;
}
public static int noSidesDecoderSinceVersion()
{
return 0;
}
public NoSidesDecoder noSides()
{
noSides.wrap(buffer);
return noSides;
}
public static final class NoSidesDecoder
implements Iterable, java.util.Iterator
{
public static final int HEADER_SIZE = 3;
private final NewOrderCrossDecoder parentMessage;
private DirectBuffer buffer;
private int count;
private int index;
private int offset;
private int blockLength;
NoSidesDecoder(final NewOrderCrossDecoder parentMessage)
{
this.parentMessage = parentMessage;
}
public void wrap(final DirectBuffer buffer)
{
if (buffer != this.buffer)
{
this.buffer = buffer;
}
index = 0;
final int limit = parentMessage.limit();
parentMessage.limit(limit + HEADER_SIZE);
blockLength = (buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
count = ((short)(buffer.getByte(limit + 2) & 0xFF));
}
public NoSidesDecoder next()
{
if (index >= count)
{
throw new java.util.NoSuchElementException();
}
offset = parentMessage.limit();
parentMessage.limit(offset + blockLength);
++index;
return this;
}
public static short countMinValue()
{
return (short)0;
}
public static short countMaxValue()
{
return (short)254;
}
public static int sbeHeaderSize()
{
return HEADER_SIZE;
}
public static int sbeBlockLength()
{
return 18;
}
public int actingBlockLength()
{
return blockLength;
}
public int count()
{
return count;
}
public java.util.Iterator iterator()
{
return this;
}
public void remove()
{
throw new UnsupportedOperationException();
}
public boolean hasNext()
{
return index < count;
}
public static int sideId()
{
return 54;
}
public static int sideSinceVersion()
{
return 0;
}
public static int sideEncodingOffset()
{
return 0;
}
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 + 0);
}
public Side side()
{
return Side.get(buffer.getByte(offset + 0));
}
public static int accountId()
{
return 1;
}
public static int accountSinceVersion()
{
return 0;
}
public static int accountEncodingOffset()
{
return 2;
}
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 + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
}
public static int enteringFirmId()
{
return 35501;
}
public static int enteringFirmSinceVersion()
{
return 0;
}
public static int enteringFirmEncodingOffset()
{
return 6;
}
public static int enteringFirmEncodingLength()
{
return 4;
}
public static String enteringFirmMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static long enteringFirmNullValue()
{
return 0L;
}
public static long enteringFirmMinValue()
{
return 0L;
}
public static long enteringFirmMaxValue()
{
return 4294967294L;
}
public long enteringFirm()
{
return (buffer.getInt(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
}
public static int clOrdIDId()
{
return 11;
}
public static int clOrdIDSinceVersion()
{
return 0;
}
public static int clOrdIDEncodingOffset()
{
return 10;
}
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 + 10, java.nio.ByteOrder.LITTLE_ENDIAN);
}
public StringBuilder appendTo(final StringBuilder builder)
{
if (null == buffer)
{
return builder;
}
builder.append('(');
builder.append("side=");
builder.append(this.side());
builder.append('|');
builder.append("account=");
builder.append(this.account());
builder.append('|');
builder.append("enteringFirm=");
builder.append(this.enteringFirm());
builder.append('|');
builder.append("clOrdID=");
builder.append(this.clOrdID());
builder.append(')');
return builder;
}
public NoSidesDecoder sbeSkip()
{
return this;
}
}
public String toString()
{
if (null == buffer)
{
return "";
}
final NewOrderCrossDecoder decoder = new NewOrderCrossDecoder();
decoder.wrap(buffer, initialOffset, actingBlockLength, actingVersion);
return decoder.appendTo(new StringBuilder()).toString();
}
public StringBuilder appendTo(final StringBuilder builder)
{
if (null == buffer)
{
return builder;
}
final int originalLimit = limit();
limit(initialOffset + actingBlockLength);
builder.append("[NewOrderCross](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("crossID=");
builder.append(this.crossID());
builder.append('|');
builder.append("securityID=");
builder.append(this.securityID());
builder.append('|');
builder.append("price=");
final PriceOptionalDecoder price = this.price();
if (price != null)
{
price.appendTo(builder);
}
else
{
builder.append("null");
}
builder.append('|');
builder.append("orderQty=");
builder.append(this.orderQty());
builder.append('|');
builder.append("senderLocation=");
for (int i = 0; i < senderLocationLength() && this.senderLocation(i) > 0; i++)
{
builder.append((char)this.senderLocation(i));
}
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("marketSegmentID=");
builder.append(this.marketSegmentID());
builder.append('|');
builder.append("externalRFQIndicator=");
builder.append(this.externalRFQIndicator());
builder.append('|');
builder.append("noSides=[");
final int noSidesOriginalOffset = noSides.offset;
final int noSidesOriginalIndex = noSides.index;
final NoSidesDecoder noSides = this.noSides();
if (noSides.count() > 0)
{
while (noSides.hasNext())
{
noSides.next().appendTo(builder);
builder.append(',');
}
builder.setLength(builder.length() - 1);
}
noSides.offset = noSidesOriginalOffset;
noSides.index = noSidesOriginalIndex;
builder.append(']');
limit(originalLimit);
return builder;
}
public NewOrderCrossDecoder sbeSkip()
{
sbeRewind();
NoSidesDecoder noSides = this.noSides();
if (noSides.count() > 0)
{
while (noSides.hasNext())
{
noSides.next();
noSides.sbeSkip();
}
}
return this;
}
}