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.MutableDirectBuffer;
import org.agrona.DirectBuffer;
import org.agrona.sbe.*;
/**
* The Quote Request message is used within the context of this Forward transaction in which two parties have completed a deal outside the Exchange and are initiating the negotiation process to formalize and execute this operation on the Exchange.
*/
@SuppressWarnings("all")
public final class QuoteRequestDecoder implements MessageDecoderFlyweight
{
public static final int BLOCK_LENGTH = 77;
public static final int TEMPLATE_ID = 401;
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 QuoteRequestDecoder 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 QuoteRequestDecoder 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 QuoteRequestDecoder 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 QuoteRequestDecoder 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.QuoteRequest.value();
}
public MessageType messageType()
{
return MessageType.QuoteRequest;
}
public static int quoteReqIDId()
{
return 131;
}
public static int quoteReqIDSinceVersion()
{
return 0;
}
public static int quoteReqIDEncodingOffset()
{
return 0;
}
public static int quoteReqIDEncodingLength()
{
return 8;
}
public static String quoteReqIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public static long quoteReqIDNullValue()
{
return 0xffffffffffffffffL;
}
public static long quoteReqIDMinValue()
{
return 0x0L;
}
public static long quoteReqIDMaxValue()
{
return 0xfffffffffffffffeL;
}
public long quoteReqID()
{
return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
}
public static int quoteIDId()
{
return 117;
}
public static int quoteIDSinceVersion()
{
return 0;
}
public static int quoteIDEncodingOffset()
{
return 8;
}
public static int quoteIDEncodingLength()
{
return 8;
}
public static String quoteIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static long quoteIDNullValue()
{
return 0x0L;
}
public static long quoteIDMinValue()
{
return 0x0L;
}
public static long quoteIDMaxValue()
{
return 0xfffffffffffffffeL;
}
public long quoteID()
{
return buffer.getLong(offset + 8, java.nio.ByteOrder.LITTLE_ENDIAN);
}
public static int securityIDId()
{
return 48;
}
public static int securityIDSinceVersion()
{
return 0;
}
public static int securityIDEncodingOffset()
{
return 16;
}
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 + 16, java.nio.ByteOrder.LITTLE_ENDIAN);
}
public static int securityIDSourceId()
{
return 22;
}
public static int securityIDSourceSinceVersion()
{
return 0;
}
public static int securityIDSourceEncodingOffset()
{
return 24;
}
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 24;
}
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 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 uniqueTradeIDId()
{
return 6032;
}
public static int uniqueTradeIDSinceVersion()
{
return 0;
}
public static int uniqueTradeIDEncodingOffset()
{
return 32;
}
public static int uniqueTradeIDEncodingLength()
{
return 4;
}
public static String uniqueTradeIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static long uniqueTradeIDNullValue()
{
return 0L;
}
public static long uniqueTradeIDMinValue()
{
return 0L;
}
public static long uniqueTradeIDMaxValue()
{
return 4294967294L;
}
public long uniqueTradeID()
{
return (buffer.getInt(offset + 32, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
}
public static int fixedRateId()
{
return 5706;
}
public static int fixedRateSinceVersion()
{
return 0;
}
public static int fixedRateEncodingOffset()
{
return 36;
}
public static int fixedRateEncodingLength()
{
return 8;
}
public static String fixedRateMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
private final PercentageDecoder fixedRate = new PercentageDecoder();
/**
* Describes the interest to be paid by the forward buyer and received by the forward seller, in proportion to the agreed days to settlement. Expressed in decimal form. For example, 1% is expressed and sent as 0.01. One basis point is represented as 0.0001.
*
* @return PercentageDecoder : Describes the interest to be paid by the forward buyer and received by the forward seller, in proportion to the agreed days to settlement. Expressed in decimal form. For example, 1% is expressed and sent as 0.01. One basis point is represented as 0.0001.
*/
public PercentageDecoder fixedRate()
{
fixedRate.wrap(buffer, offset + 36);
return fixedRate;
}
public static int priceId()
{
return 44;
}
public static int priceSinceVersion()
{
return 0;
}
public static int priceEncodingOffset()
{
return 44;
}
public static int priceEncodingLength()
{
return 8;
}
public static String priceMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
private final PriceDecoder price = new PriceDecoder();
/**
* Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).
*
* @return PriceDecoder : Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).
*/
public PriceDecoder price()
{
price.wrap(buffer, offset + 44);
return price;
}
public static int daysToSettlementId()
{
return 5497;
}
public static int daysToSettlementSinceVersion()
{
return 0;
}
public static int daysToSettlementEncodingOffset()
{
return 52;
}
public static int daysToSettlementEncodingLength()
{
return 2;
}
public static String daysToSettlementMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static int daysToSettlementNullValue()
{
return 65535;
}
public static int daysToSettlementMinValue()
{
return 0;
}
public static int daysToSettlementMaxValue()
{
return 65534;
}
public int daysToSettlement()
{
return (buffer.getShort(offset + 52, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
}
public static int privateQuoteId()
{
return 1171;
}
public static int privateQuoteSinceVersion()
{
return 0;
}
public static int privateQuoteEncodingOffset()
{
return 54;
}
public static int privateQuoteEncodingLength()
{
return 1;
}
public static String privateQuoteMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public short privateQuoteRaw()
{
return ((short)(buffer.getByte(offset + 54) & 0xFF));
}
public Boolean privateQuote()
{
return Boolean.get(((short)(buffer.getByte(offset + 54) & 0xFF)));
}
public static int settlTypeId()
{
return 63;
}
public static int settlTypeSinceVersion()
{
return 0;
}
public static int settlTypeEncodingOffset()
{
return 55;
}
public static int settlTypeEncodingLength()
{
return 1;
}
public static String settlTypeMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public byte settlTypeRaw()
{
return buffer.getByte(offset + 55);
}
public SettlType settlType()
{
return SettlType.get(buffer.getByte(offset + 55));
}
public static int executeUnderlyingTradeId()
{
return 35004;
}
public static int executeUnderlyingTradeSinceVersion()
{
return 0;
}
public static int executeUnderlyingTradeEncodingOffset()
{
return 56;
}
public static int executeUnderlyingTradeEncodingLength()
{
return 1;
}
public static String executeUnderlyingTradeMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public byte executeUnderlyingTradeRaw()
{
return buffer.getByte(offset + 56);
}
public ExecuteUnderlyingTrade executeUnderlyingTrade()
{
return ExecuteUnderlyingTrade.get(buffer.getByte(offset + 56));
}
public static int possResendId()
{
return 97;
}
public static int possResendSinceVersion()
{
return 0;
}
public static int possResendEncodingOffset()
{
return 57;
}
public static int possResendEncodingLength()
{
return 1;
}
public static String possResendMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
return "";
}
public short possResendRaw()
{
return ((short)(buffer.getByte(offset + 57) & 0xFF));
}
public Boolean possResend()
{
return Boolean.get(((short)(buffer.getByte(offset + 57) & 0xFF)));
}
public static int contraBrokerId()
{
return 375;
}
public static int contraBrokerSinceVersion()
{
return 0;
}
public static int contraBrokerEncodingOffset()
{
return 58;
}
public static int contraBrokerEncodingLength()
{
return 4;
}
public static String contraBrokerMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "optional";
}
return "";
}
public static long contraBrokerNullValue()
{
return 0L;
}
public static long contraBrokerMinValue()
{
return 0L;
}
public static long contraBrokerMaxValue()
{
return 4294967294L;
}
public long contraBroker()
{
return (buffer.getInt(offset + 58, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
}
public static int senderLocationId()
{
return 35503;
}
public static int senderLocationSinceVersion()
{
return 0;
}
public static int senderLocationEncodingOffset()
{
return 62;
}
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 + 62 + (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 + 62, dst, dstOffset, length);
return length;
}
public String senderLocation()
{
final byte[] dst = new byte[10];
buffer.getBytes(offset + 62, 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 + 62 + 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 72;
}
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 + 72 + (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 + 72, dst, dstOffset, length);
return length;
}
public String enteringTrader()
{
final byte[] dst = new byte[5];
buffer.getBytes(offset + 72, 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 + 72 + 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;
}
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 QuoteRequestDecoder parentMessage;
private DirectBuffer buffer;
private int count;
private int index;
private int offset;
private int blockLength;
NoSidesDecoder(final QuoteRequestDecoder 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 5;
}
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 1;
}
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 + 1, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
}
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(')');
return builder;
}
public NoSidesDecoder sbeSkip()
{
return this;
}
}
public static int deskIDId()
{
return 35510;
}
public static int deskIDSinceVersion()
{
return 0;
}
public static String deskIDCharacterEncoding()
{
return java.nio.charset.StandardCharsets.US_ASCII.name();
}
public static String deskIDMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
if (MetaAttribute.SEMANTIC_TYPE == metaAttribute)
{
return "String";
}
return "";
}
public static int deskIDHeaderLength()
{
return 1;
}
public int deskIDLength()
{
final int limit = parentMessage.limit();
return ((short)(buffer.getByte(limit) & 0xFF));
}
public int skipDeskID()
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int dataOffset = limit + headerLength;
parentMessage.limit(dataOffset + dataLength);
return dataLength;
}
public int getDeskID(final MutableDirectBuffer dst, final int dstOffset, final int length)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int bytesCopied = Math.min(length, dataLength);
parentMessage.limit(limit + headerLength + dataLength);
buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
return bytesCopied;
}
public int getDeskID(final byte[] dst, final int dstOffset, final int length)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int bytesCopied = Math.min(length, dataLength);
parentMessage.limit(limit + headerLength + dataLength);
buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
return bytesCopied;
}
public void wrapDeskID(final DirectBuffer wrapBuffer)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
parentMessage.limit(limit + headerLength + dataLength);
wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
}
public String deskID()
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
parentMessage.limit(limit + headerLength + dataLength);
if (0 == dataLength)
{
return "";
}
final byte[] tmp = new byte[dataLength];
buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
return new String(tmp, java.nio.charset.StandardCharsets.US_ASCII);
}
public int getDeskID(final Appendable appendable)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int dataOffset = limit + headerLength;
parentMessage.limit(dataOffset + dataLength);
buffer.getStringWithoutLengthAscii(dataOffset, dataLength, appendable);
return dataLength;
}
public static int memoId()
{
return 5149;
}
public static int memoSinceVersion()
{
return 0;
}
public static String memoCharacterEncoding()
{
return java.nio.charset.StandardCharsets.UTF_8.name();
}
public static String memoMetaAttribute(final MetaAttribute metaAttribute)
{
if (MetaAttribute.PRESENCE == metaAttribute)
{
return "required";
}
if (MetaAttribute.SEMANTIC_TYPE == metaAttribute)
{
return "String";
}
return "";
}
public static int memoHeaderLength()
{
return 1;
}
public int memoLength()
{
final int limit = parentMessage.limit();
return ((short)(buffer.getByte(limit) & 0xFF));
}
public int skipMemo()
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int dataOffset = limit + headerLength;
parentMessage.limit(dataOffset + dataLength);
return dataLength;
}
public int getMemo(final MutableDirectBuffer dst, final int dstOffset, final int length)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int bytesCopied = Math.min(length, dataLength);
parentMessage.limit(limit + headerLength + dataLength);
buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
return bytesCopied;
}
public int getMemo(final byte[] dst, final int dstOffset, final int length)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
final int bytesCopied = Math.min(length, dataLength);
parentMessage.limit(limit + headerLength + dataLength);
buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
return bytesCopied;
}
public void wrapMemo(final DirectBuffer wrapBuffer)
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
parentMessage.limit(limit + headerLength + dataLength);
wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
}
public String memo()
{
final int headerLength = 1;
final int limit = parentMessage.limit();
final int dataLength = ((short)(buffer.getByte(limit) & 0xFF));
parentMessage.limit(limit + headerLength + dataLength);
if (0 == dataLength)
{
return "";
}
final byte[] tmp = new byte[dataLength];
buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
return new String(tmp, java.nio.charset.StandardCharsets.UTF_8);
}
public String toString()
{
if (null == buffer)
{
return "";
}
final QuoteRequestDecoder decoder = new QuoteRequestDecoder();
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("[QuoteRequest](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("quoteReqID=");
builder.append(this.quoteReqID());
builder.append('|');
builder.append("quoteID=");
builder.append(this.quoteID());
builder.append('|');
builder.append("securityID=");
builder.append(this.securityID());
builder.append('|');
builder.append("orderQty=");
builder.append(this.orderQty());
builder.append('|');
builder.append("uniqueTradeID=");
builder.append(this.uniqueTradeID());
builder.append('|');
builder.append("fixedRate=");
final PercentageDecoder fixedRate = this.fixedRate();
if (fixedRate != null)
{
fixedRate.appendTo(builder);
}
else
{
builder.append("null");
}
builder.append('|');
builder.append("price=");
final PriceDecoder price = this.price();
if (price != null)
{
price.appendTo(builder);
}
else
{
builder.append("null");
}
builder.append('|');
builder.append("daysToSettlement=");
builder.append(this.daysToSettlement());
builder.append('|');
builder.append("privateQuote=");
builder.append(this.privateQuote());
builder.append('|');
builder.append("settlType=");
builder.append(this.settlType());
builder.append('|');
builder.append("executeUnderlyingTrade=");
builder.append(this.executeUnderlyingTrade());
builder.append('|');
builder.append("possResend=");
builder.append(this.possResend());
builder.append('|');
builder.append("contraBroker=");
builder.append(this.contraBroker());
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("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(']');
builder.append('|');
builder.append("deskID=");
builder.append('\'');
getDeskID(builder);
builder.append('\'');
builder.append('|');
builder.append("memo=");
builder.append('\'').append(memo()).append('\'');
limit(originalLimit);
return builder;
}
public QuoteRequestDecoder sbeSkip()
{
sbeRewind();
NoSidesDecoder noSides = this.noSides();
if (noSides.count() > 0)
{
while (noSides.hasNext())
{
noSides.next();
noSides.sbeSkip();
}
}
skipDeskID();
skipMemo();
return this;
}
}