diff --git a/.gitignore b/.gitignore
index 41f4464ce4..85ad8b315f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,9 +14,9 @@
build-local.properties
deps
/bin
-build
+# build
.gradle
-target
+3 target
GTAGS
GRTAGS
GPATH
@@ -29,15 +29,15 @@ out
codecs
# cpp build linux
-cppbuild/CMakeCache.txt
-cppbuild/CMakeFiles/
-cppbuild/CTestTestfile.cmake
-cppbuild/Makefile
-cppbuild/Testing/
-cppbuild/aeron-common/
-cppbuild/aeron-samples/
-cppbuild/binaries/
-cppbuild/cmake_install.cmake
+# cppbuild/CMakeCache.txt
+# cppbuild/CMakeFiles/
+# cppbuild/CTestTestfile.cmake
+# cppbuild/Makefile
+# cppbuild/Testing/
+# cppbuild/aeron-common/
+# cppbuild/aeron-samples/
+# cppbuild/binaries/
+# cppbuild/cmake_install.cmake
# cpp build windows
cppbuild/*.opensdf
diff --git a/sbe-all/build/docs/javadoc/allclasses-frame.html b/sbe-all/build/docs/javadoc/allclasses-frame.html
new file mode 100644
index 0000000000..551efed782
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/allclasses-frame.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-all/build/docs/javadoc/allclasses-noframe.html b/sbe-all/build/docs/javadoc/allclasses-noframe.html
new file mode 100644
index 0000000000..2dbe13d321
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/allclasses-noframe.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-all/build/docs/javadoc/constant-values.html b/sbe-all/build/docs/javadoc/constant-values.html
new file mode 100644
index 0000000000..55c682746f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/constant-values.html
@@ -0,0 +1,1081 @@
+
+
+
+
+
+常量字段值 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
uk.co.*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.CompositeType
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+COMPOSITE_TYPE
+"composite"
+
+
+
+
+ public static final java.lang.String
+SUB_TYPES_EXP
+"type|enum|set|composite|ref"
+
+
+
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.EnumType
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+ENUM_TYPE
+"enum"
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.Field
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final int
+INVALID_ID
+2147483647
+
+
+
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.SetType
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+SET_TYPE
+"set"
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+COMPOSITE_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/composite"
+
+
+
+
+ public static final java.lang.String
+ENUM_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/enum"
+
+
+
+
+ public static final java.lang.String
+ERROR_HANDLER_KEY
+"SbeErrorHandler"
+
+
+
+
+ public static final java.lang.String
+MESSAGE_SCHEMA_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']"
+
+
+
+
+ public static final java.lang.String
+MESSAGE_XPATH_EXPR
+"//*[local-name() = \'message\']"
+
+
+
+
+ public static final java.lang.String
+SET_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/set"
+
+
+
+
+ public static final java.lang.String
+TYPE_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/type"
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/deprecated-list.html b/sbe-all/build/docs/javadoc/deprecated-list.html
new file mode 100644
index 0000000000..889a515052
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/deprecated-list.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+已过时的列表 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/help-doc.html b/sbe-all/build/docs/javadoc/help-doc.html
new file mode 100644
index 0000000000..774d01a57d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/help-doc.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+API 帮助 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+概览
+概览 页面是此 API 文档的首页, 提供了所有程序包的列表及其概要。此页面也可能包含这些程序包的总体说明。
+
+
+程序包
+每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:
+
+接口 (斜体)
+类
+枚举
+异常错误
+错误
+注释类型
+
+
+
+类/接口
+每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:
+
+类继承图
+直接子类
+所有已知子接口
+所有已知实现类
+类/接口声明
+类/接口说明
+
+
+嵌套类概要
+字段概要
+构造器概要
+方法概要
+
+
+字段详细资料
+构造器详细资料
+方法详细资料
+
+每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。
+
+
+注释类型
+每个注释类型都有各自的页面, 其中包含以下部分:
+
+注释类型声明
+注释类型说明
+必需元素概要
+可选元素概要
+元素详细资料
+
+
+
+枚举
+每个枚举都有各自的页面, 其中包含以下部分:
+
+枚举声明
+枚举说明
+枚举常量概要
+枚举常量详细资料
+
+
+
+树 (类分层结构)
+对于所有程序包, 有一个类分层结构 页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从java.lang.Object
开始, 按继承结构对类进行排列。接口不从java.lang.Object
继承。
+
+查看“概览”页面时, 单击 "树" 将显示所有程序包的分层结构。
+查看特定程序包, 类或接口页面时, 单击 "树" 将仅显示该程序包的分层结构。
+
+
+
+已过时的 API
+已过时的 API 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。
+
+
+索引
+索引 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。
+
+
+上一个/下一个
+这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。
+
+
+框架/无框架
+这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。
+
+
+所有类
+所有类 链接显示所有类和接口 (除了非静态嵌套类型)。
+
+
+序列化表格
+每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。
+
+
+常量字段值
+常量字段值 页面列出了静态最终字段及其值。
+
+
+
此帮助文件适用于使用标准 doclet 生成的 API 文档。
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/index-all.html b/sbe-all/build/docs/javadoc/index-all.html
new file mode 100644
index 0000000000..ab642d79dc
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/index-all.html
@@ -0,0 +1,3690 @@
+
+
+
+
+
+索引 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W X
+
+
+
A
+
+AbstractTokenListener - uk.co.real_logic.sbe.otf 中的类
+
+Abstract
TokenListener
that can be extended when not all callback methods are required.
+
+AbstractTokenListener() - 类 的构造器uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+actingBlockLength - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+actingBlockLength - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+actingVersion - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+actingVersion - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+addMessage(long, List<Token>) - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Add a List of
Token
s for a given message id.
+
+append(StringBuilder, String, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Shortcut to append a line of generated code
+
+appendAsString(StringBuilder, DirectBuffer, int, Encoding) - 类 中的静态方法uk.co.real_logic.sbe.otf.Types
+
+Append an encoding as a String to a StringBuilder
.
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+appendToGeneratedBuilder(StringBuilder, String, String) - 枚举 中的方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+Add separator to a generated StringBuilder
+
+applicableMaxValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The most applicable max value for the encoded type.
+
+applicableMinValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The most applicable min value for the encoded type.
+
+applicableNamespace() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the namespaceName to be used for generated code.
+
+applicableNullValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The most applicable null value for the encoded type.
+
+applicableTypeName() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Get the name of the type that should be applied in context.
+
+arrayLength() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The number of encoded primitives in this type.
+
+
+
+
+
+
B
+
+BI_MAX_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+BI_NULL_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+blockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLength(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLength() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+blockLength(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+blockLength() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the encodedLength of the
Message
in bytes including any padding.
+
+blockLengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+build() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+build() - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+build() - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+build() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.ir.Encoding.Builder
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.ir.Token.Builder
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.xml.Field.Builder
+
+builder() - 类 中的静态方法uk.co.real_logic.sbe.xml.ParserOptions
+
+Creates a builder.
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+byteArrayValue() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return byte array value for this PrimitiveValue.
+
+byteArrayValue(PrimitiveType) - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return byte array value for this PrimitiveValue given a particular type
+
+byteOrder(ByteOrder) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The ByteOrder
for this encoding.
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrder(ByteOrderCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+ByteOrder
for all types in the schema.
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Return the byte order specified by the messageSchema
+
+ByteOrderCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+byteOrderEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+
+
+
+
+
C
+
+characterEncoding(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The character encoding for the token or null if not set.
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncoding(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+The character encoding of the byte array representation.
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The character encoding of the type
+
+characterEncodingCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+charset(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Code to fetch an instance of Charset
corresponding to the given encoding.
+
+checkForValidName(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Check name against validity for C++ and Java naming.
+
+checkForValidOffsets(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for any specified offsets and validate they are correctly specified.
+
+checkForWellFormedGroupSizeEncoding(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for being a well formed group encodedLength encoding.
+
+checkForWellFormedMessageHeader(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for being a well formed message headerStructure encoding.
+
+checkForWellFormedVariableLengthDataEncoding(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for being a well formed variable length data encoding.
+
+checkIfShouldExit() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+Check if the parser should exit.
+
+Choice(Node, PrimitiveType) - 类 的构造器uk.co.real_logic.sbe.xml.SetType.Choice
+
+Construct a Choice given the XML node and the encodingType
+
+choices() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+
+
+close() - 类 中的方法uk.co.real_logic.sbe.ir.IrDecoder
+
+close() - 类 中的方法uk.co.real_logic.sbe.ir.IrEncoder
+
+closingBraces(int) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+closingBraces(int) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+CodeGenerator - uk.co.real_logic.sbe.generation 中的接口
+
+Abstraction for code generators to implement.
+
+collect(Signal, List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+collectFields(List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+collectGroups(List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+collectMessageComponents(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.MessageComponents
+
+collectVarData(List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+componentTokenCount() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCount(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCount(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+componentTokenCount() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The number of tokens that make up this component.
+
+componentTokenCount(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Set the number of tokens this component has.
+
+componentTokenCountEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+COMPOSITE_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.CompositeType
+
+COMPOSITE_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+CompositeType - uk.co.real_logic.sbe.xml 中的类
+
+SBE compositeType.
+
+CompositeType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.CompositeType
+
+CompositeType(Node, String, String, List<String>) - 类 的构造器uk.co.real_logic.sbe.xml.CompositeType
+
+Construct a new compositeType from XML Schema.
+
+computedBlockLength(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+computedBlockLength() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+computedOffset(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+computedOffset() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+concatTokens(List<Token>, Signal, Function<Token, CharSequence>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+constVal() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The constant value of the type if specified
+
+constValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+constValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The constant value for the token or null if not set.
+
+constValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+CPP_NAMESPACES_COLLAPSE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to toggle collapsing of nested namespaces in generated C++ stubs.
+
+CppGenerator - uk.co.real_logic.sbe.generation.cpp 中的类
+
+CppGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+cppTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+
+
+CppUtil - uk.co.real_logic.sbe.generation.cpp 中的类
+
+Utilities for mapping between IR and the C++ language.
+
+CppUtil() - 类 的构造器uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager
+
+Create a new output which will be a C++98 source file in the given package.
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpNamespaceOutputManager
+
+Create a new output which will be a C# source file in the given package.
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangOutputManager
+
+Create a new output which will be a golang source file in the given package.
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManager
+
+CSharp - uk.co.real_logic.sbe.generation.csharp 中的类
+
+CSharp() - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharp
+
+CSharpGenerator - uk.co.real_logic.sbe.generation.csharp 中的类
+
+CSharpGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+CSharpNamespaceOutputManager - uk.co.real_logic.sbe.generation.csharp 中的类
+
+OutputManager
for managing the creation of C# source files
+ as the target of code generation.
+
+CSharpNamespaceOutputManager(String, String) - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharpNamespaceOutputManager
+
+Create a new OutputManager
for generating C# source
+ files into a given package.
+
+cSharpTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+
+
+CSharpUtil - uk.co.real_logic.sbe.generation.csharp 中的类
+
+Utilities for mapping between IR and the C# language.
+
+CSharpUtil() - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+
+
+
+
+
D
+
+decode() - 类 中的方法uk.co.real_logic.sbe.ir.IrDecoder
+
+decode(DirectBuffer, int, int, int, List<Token>, TokenListener) - 类 中的静态方法uk.co.real_logic.sbe.otf.OtfMessageDecoder
+
+Decode a message from the provided buffer based on the message schema described with IR
Token
s.
+
+DECODE_UNKNOWN_ENUM_VALUES - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Should unknown enum values be decoded to support extension.
+
+DEFAULT - 类 中的静态变量uk.co.real_logic.sbe.xml.ParserOptions
+
+defaultRustGenerator(Ir, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.rust.Rust
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecated(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecated(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The version in which this context was deprecated.
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+deprecated(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Version in which message was deprecated.
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Version in which type was deprecated.
+
+deprecatedEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+description() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+description(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+description(String) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+description() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Description for what the token is to be used for.
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+description(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+The description of the message (if set) or null
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The description of the schema.
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+The description of the bitset choice.
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The description of the Type (if set) or null
+
+descriptionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+dimensionType(CompositeType) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+dimensionType() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+doubleValue() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return double value for this PrimitiveValue.
+
+
+
+
+
+
E
+
+EMPTY_BUFFER - 类 中的静态变量uk.co.real_logic.sbe.ir.IrUtil
+
+encode() - 类 中的方法uk.co.real_logic.sbe.ir.IrEncoder
+
+ENCODED_DATA_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.EncodedDataType
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+EncodedDataType - uk.co.real_logic.sbe.xml 中的类
+
+SBE encodedDataType
+
+EncodedDataType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.EncodedDataType
+
+Construct a new encodedDataType from XML Schema.
+
+EncodedDataType(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.EncodedDataType
+
+Construct a new encodedDataType from XML Schema.
+
+EncodedDataType(String, Presence, String, String, PrimitiveType, int, boolean) - 类 的构造器uk.co.real_logic.sbe.xml.EncodedDataType
+
+Construct a new EncodedDataType with direct values.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The encodedLength of this token in bytes.
+
+encodedLength(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Set the encoded length for this node.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+The encodedLength of the message header in bytes.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+The encodedLength (in octets) of the list of EncodedDataTypes
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The encodedLength (in octets) of the encoding as length of the primitiveType times its count.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+The encodedLength (in octets) of the encodingType
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+The encodedLength (in octets) of the encodingType
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The encodedLength (in octets) of the Type.
+
+Encoding - uk.co.real_logic.sbe.ir 中的类
+
+Optional encoding settings that can be associated with
Token
s.
+
+Encoding() - 类 的构造器uk.co.real_logic.sbe.ir.Encoding
+
+Encoding(Encoding.Presence, PrimitiveType, ByteOrder, PrimitiveValue, PrimitiveValue, PrimitiveValue, PrimitiveValue, String, String, String, String) - 类 的构造器uk.co.real_logic.sbe.ir.Encoding
+
+encoding(Encoding) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+encoding() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+
+
+Encoding.Builder - uk.co.real_logic.sbe.ir 中的类
+
+Builder to make
Encoding
easier to create.
+
+Encoding.Presence - uk.co.real_logic.sbe.ir 中的枚举
+
+Indicates the presence status of a primitive encoded field in a message.
+
+encodingType() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+
+
+encodingType() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+The encoding type of the bitset to be used on the wire.
+
+ENUM_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.EnumType
+
+ENUM_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+EnumType - uk.co.real_logic.sbe.xml 中的类
+
+SBE enumType
+
+EnumType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.EnumType
+
+EnumType(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.EnumType
+
+Construct a new enumType from XML Schema.
+
+EnumType.ValidValue - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold valid values for EnumType
+
+epoch(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+epoch() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The epoch from which a timestamp is offset.
+
+epoch() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epoch(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epoch(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+epoch() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+epochCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+equals(Object) - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Determine if two values are equivalent.
+
+error(String) - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+Record a message signifying an error condition.
+
+ERROR_HANDLER_KEY - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+
+
+errorCount() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+The count of errors encountered.
+
+ErrorHandler - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold error handling state while parsing an XML message schema.
+
+ErrorHandler(PrintStream, ParserOptions) - 类 的构造器uk.co.real_logic.sbe.xml.ErrorHandler
+
+Construct a new
ErrorHandler
that outputs to a provided
PrintStream
.
+
+ErrorHandler(ParserOptions) - 类 的构造器uk.co.real_logic.sbe.xml.ErrorHandler
+
+
+
+
+
+
+
+
F
+
+Field - uk.co.real_logic.sbe.xml 中的类
+
+Holder for Field (or Group or Data) information
+
+Field(String, String, int, Type, int, String, Presence, String, int, CompositeType, boolean, int, int, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.Field
+
+Field.Builder - uk.co.real_logic.sbe.xml 中的类
+
+fieldId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fields - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+fields() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the list of fields in the message
+
+findEndSignal(List<Token>, int, Signal, String) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+findFirst(String, List<Token>, int) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+Find the first token with a given name from an index inclusive.
+
+findMessages(Document, XPath, Map<String, Type>) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Scan XML for all message definitions and save in map
+
+findSubGroupNames(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+findTypes(Document, XPath) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Scan XML for all types (encodedDataType, compositeType, enumType, and setType) and save in map
+
+forEachField(List<Token>, BiConsumer<Token, Token>) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+For each field found in a list of field
Token
s take the field token and following type token to
+ a
BiConsumer
.
+
+formatByteOrderEncoding(ByteOrder, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Return the Cpp98 formatted byte order encoding string to use for a given byte order and primitiveType
+
+formatByteOrderEncoding(ByteOrder, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Return the Golang formatted byte order encoding string to use for a given byte order and primitiveType
+
+formatClassName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Format a String as a class name.
+
+formatClassName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Format a String as a class name.
+
+formatClassName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Format a class name for the generated code.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Format a String as a property name.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Format a String as a property name.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Format a String as a property name.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Format a property name for generated code.
+
+formatTypeName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Format a String as a type name.
+
+FrameCodecDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Frame Header for start of encoding IR
+
+FrameCodecDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+FrameCodecEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Frame Header for start of encoding IR
+
+FrameCodecEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+
+
+
+
+
G
+
+gatherNamedNonConstantFieldTokens(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.generation.NamedToken
+
+generate() - 接口 中的方法uk.co.real_logic.sbe.generation.CodeGenerator
+
+Generate the complete set of types and messages for a schema.
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.rust.RustGenerator
+
+generate(Ir, String, String) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Generate SBE encoding and decoding stubs for a target language.
+
+generate(MessageSchema, String) - 类 中的方法uk.co.real_logic.sbe.xml.IrGenerator
+
+Generate a complete
Ir
for a given schema.
+
+generate(MessageSchema) - 类 中的方法uk.co.real_logic.sbe.xml.IrGenerator
+
+Generate a complete
Ir
for a given schema.
+
+GENERATE_IR - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to turn on or off generation of IR.
+
+GENERATE_STUBS - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to turn on or off generation of stubs.
+
+generateFileFromTemplate(String, String) - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generateFlyweightPropertyJavadoc(String, Token, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for flyweight property.
+
+generateGroupEncodePropertyJavadoc(String, Token, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for group encode property.
+
+generateLiteral(PrimitiveType, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate a literal value to be used in code generation.
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+generateOptionDecodeJavadoc(String, Token) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for a bitset choice option decode method.
+
+generateOptionEncodeJavadoc(String, Token) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for a bitset choice option encode method.
+
+generateTypeJavadoc(String, Token) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for a type.
+
+generateTypesToIncludes(List<Token>) - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+GenerationUtil - uk.co.real_logic.sbe.ir 中的类
+
+Common code generation utility functions to be used by the different language specific backends.
+
+GenerationUtil() - 类 的构造器uk.co.real_logic.sbe.ir.GenerationUtil
+
+Generators - uk.co.real_logic.sbe.generation 中的类
+
+Generators() - 类 的构造器uk.co.real_logic.sbe.generation.Generators
+
+get(String) - 枚举 中的静态方法uk.co.real_logic.sbe.generation.TargetCodeGeneratorLoader
+
+Do a case insensitive lookup of a target language for code generation.
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+get(DirectBuffer, PrimitiveType, int) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+get(String) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+Lookup PrimitiveType by String name and return Enum.
+
+get(String) - 枚举 中的静态方法uk.co.real_logic.sbe.xml.Presence
+
+Lookup Presence name and return enum.
+
+getAttributeValue(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function that throws an exception when the attribute is not set.
+
+getAttributeValue(Node, String, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function that uses a default value when value not set.
+
+getAttributeValueOrNull(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function that hides the null return from NamedNodeMap.getNamedItem(String)
+
+getBlockLength(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the block length of the root block in the message.
+
+getByteOrder(String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function to convert a schema byteOrderName into a ByteOrder
+
+getBytes(String, String) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+getCharacterEncoding(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getCharacterEncoding(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getChoice(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+
+
+getChoice(String) - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+
+
+getConstValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getConstValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getDescription(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getDescription(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getEpoch(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getEpoch(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getInt(DirectBuffer, int, PrimitiveType, ByteOrder) - 类 中的静态方法uk.co.real_logic.sbe.otf.Types
+
+Get an integer value from a buffer at a given index for a
PrimitiveType
.
+
+getLong(DirectBuffer, int, Encoding) - 类 中的静态方法uk.co.real_logic.sbe.otf.Types
+
+Get a long value from a buffer at a given index for a given
Encoding
.
+
+getMaxValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getMaxValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getMessage(long) - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the getMessage for a given identifier.
+
+getMessage(long) - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Return a given
Message
object with the given messageId.
+
+getMessageBody(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+getMinValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getMinValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getNamespaceName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getNamespaceName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getNullValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getNullValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getPackageName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getPackageName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getReferencedName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getReferencedName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getSchemaId(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the schema id number from the message header.
+
+getSchemaVersion(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the schema version number from the message header.
+
+getSemanticType(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getSemanticType(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getSemanticVersion(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getSemanticVersion(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getTemplateId(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the template id from the message header.
+
+getTimeUnit(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getTimeUnit(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getType(String) - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the type representation for a given type name.
+
+getType(String) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Return the EncodedDataType within this composite with the given name
+
+getType(String) - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Get the
Type
for a given name.
+
+getTypeList() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Return list of the
Type
s that compose this composite
+
+getValidValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+
+
+getValidValue(String) - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+
+
+GolangGenerator - uk.co.real_logic.sbe.generation.golang 中的类
+
+GolangGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+golangMarshalType(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Map the name of a
PrimitiveType
to a Golang marhsalling function name.
+
+GolangOutputManager - uk.co.real_logic.sbe.generation.golang 中的类
+
+OutputManager
for managing the creation of golang source files as the target of code generation.
+
+GolangOutputManager(String, String) - 类 的构造器uk.co.real_logic.sbe.generation.golang.GolangOutputManager
+
+Create a new OutputManager
for generating golang source files into a given package.
+
+golangTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+
+
+GolangUtil - uk.co.real_logic.sbe.generation.golang 中的类
+
+Utilities for mapping between IR and the Golang language.
+
+GolangUtil() - 类 的构造器uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+groupFields(List<Field>) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+groupFields() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+GroupOrder - uk.co.real_logic.sbe.codec.java 中的注释类型
+
+Group order for repeating groups in encoded messages.
+
+groups - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+
+
+
+
+
H
+
+handleError(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Handle an error condition as consequence of parsing.
+
+handleWarning(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Handle a warning condition as a consequence of parsing.
+
+hashCode() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return hashCode for value.
+
+HEADER_TYPE_DEFAULT - 类 中的静态变量uk.co.real_logic.sbe.xml.MessageSchema
+
+HeaderStructure - uk.co.real_logic.sbe.ir 中的类
+
+Metadata description for a message headerStructure
+
+HeaderStructure(List<Token>) - 类 的构造器uk.co.real_logic.sbe.ir.HeaderStructure
+
+headerStructure() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+
+
+
+
+
+
+
I
+
+id() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the id number of the schema.
+
+id(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+id() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Return the ID of the token assigned by the specification
+
+id(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+id() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+id() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the template schemaId of the message
+
+id() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The id number of the schema.
+
+INVALID_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.Token
+
+Invalid ID value.
+
+INVALID_ID - 类 中的静态变量uk.co.real_logic.sbe.xml.Field
+
+Ir - uk.co.real_logic.sbe.ir 中的类
+
+Intermediate representation of SBE messages to be used for the generation of encoders and decoders
+ as stubs in various languages.
+
+Ir(String, String, int, int, String, ByteOrder, List<Token>) - 类 的构造器uk.co.real_logic.sbe.ir.Ir
+
+Create a new IR container taking a defensive copy of the headerStructure
Token
s passed.
+
+IrDecoder - uk.co.real_logic.sbe.ir 中的类
+
+IrDecoder(String) - 类 的构造器uk.co.real_logic.sbe.ir.IrDecoder
+
+IrDecoder(ByteBuffer) - 类 的构造器uk.co.real_logic.sbe.ir.IrDecoder
+
+IrEncoder - uk.co.real_logic.sbe.ir 中的类
+
+IrEncoder(String, Ir) - 类 的构造器uk.co.real_logic.sbe.ir.IrEncoder
+
+IrEncoder(ByteBuffer, Ir) - 类 的构造器uk.co.real_logic.sbe.ir.IrEncoder
+
+IrGenerator - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold the state while generating the
Ir
.
+
+IrGenerator() - 类 的构造器uk.co.real_logic.sbe.xml.IrGenerator
+
+irId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+IrUtil - uk.co.real_logic.sbe.ir 中的类
+
+IrUtil() - 类 的构造器uk.co.real_logic.sbe.ir.IrUtil
+
+irVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersion(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+isConstantEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+isCppKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+isCSharpKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+isGolangKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+isJavaKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+Is this token a Java keyword?
+
+isOptionalEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+isSbeCppName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+Check value for validity of usage as a C++ identifier.
+
+isSbeCSharpName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+"Check" value for validity of usage as a csharp identifier.
+
+isSbeGolangName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+"Check" value for validity of usage as a golang identifier.
+
+isSbeJavaName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+Check string for validity of usage as a Java identifier.
+
+isUnsigned(PrimitiveType) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+Is the type an unsigned type like in C.
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Return the variableLength attribute of the type
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+
+
+
+
+
J
+
+JAVA_DECODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Specifies the name of the Java read only buffer to wrap.
+
+JAVA_DEFAULT_DECODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Default class to use as the buffer read only implementation in generated code.
+
+JAVA_DEFAULT_ENCODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Default class to use as the buffer mutable implementation in generated code.
+
+JAVA_ENCODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Specifies the name of the Java mutable buffer to wrap.
+
+JAVA_GENERATE_INTERFACES - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to turn on or off generation of the interface hierarchy.
+
+JAVA_GROUP_ORDER_ANNOTATION - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Should the
GroupOrder
annotation be added to generated stubs.
+
+JAVA_INTERFACE_PACKAGE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Package in which the generated Java interfaces will be placed.
+
+JavaGenerator - uk.co.real_logic.sbe.generation.java 中的类
+
+JavaGenerator(Ir, String, String, boolean, boolean, boolean, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+javaTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+
+
+JavaUtil - uk.co.real_logic.sbe.generation.java 中的类
+
+Utilities for mapping between IR and the Java language.
+
+JavaUtil() - 类 的构造器uk.co.real_logic.sbe.generation.java.JavaUtil
+
+JavaUtil.Separators - uk.co.real_logic.sbe.generation.java 中的枚举
+
+JsonPrinter - uk.co.real_logic.sbe.json 中的类
+
+Pretty Print Json based upon the given Ir.
+
+JsonPrinter(Ir) - 类 的构造器uk.co.real_logic.sbe.json.JsonPrinter
+
+JsonTokenListener - uk.co.real_logic.sbe.json 中的类
+
+JsonTokenListener(StringBuilder) - 类 的构造器uk.co.real_logic.sbe.json.JsonTokenListener
+
+
+
+
+
+
K
+
+KEYWORD_APPEND_TOKEN - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Specifies token that should be appended to keywords to avoid compilation errors.
+
+
+
+
+
+
L
+
+length() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+length(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+length() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Return the length attribute of the type
+
+lengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+longValue() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return long value for this PrimitiveValue
+
+
+
+
+
+
M
+
+main(String[]) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Main entry point for the SBE Tool.
+
+makeDataFieldCompositeType() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Make this composite type, if it has a varData member, variable length
+ by making the EncodedDataType with the name "varData" be variable length.
+
+mapByteOrder(ByteOrder) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapByteOrder(ByteOrderCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPresence(PresenceCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPresence(Encoding.Presence) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPrimitiveType(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPrimitiveType(PrimitiveTypeCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapSignal(Signal) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapSignal(SignalCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+matchOnLength(Supplier<CharSequence>, Supplier<CharSequence>) - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Match which approach to take based on the length of the token.
+
+MAX_VALUE_CHAR - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_DOUBLE - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_FLOAT - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+maxValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+maxValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The max value for the token or null if not set.
+
+maxValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValue() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The maxValue of the primitive type.
+
+maxValue() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The maxValue of the type
+
+maxValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+Message - uk.co.real_logic.sbe.xml 中的类
+
+An SBE message containing a list of
Field
objects and SBE message attributes.
+
+Message(Node, Map<String, Type>) - 类 的构造器uk.co.real_logic.sbe.xml.Message
+
+Construct a new message from XML Schema.
+
+MESSAGE_HEADER_DECODER_TYPE - 接口 中的静态变量uk.co.real_logic.sbe.generation.CodeGenerator
+
+MESSAGE_HEADER_ENCODER_TYPE - 接口 中的静态变量uk.co.real_logic.sbe.generation.CodeGenerator
+
+Class name to be used for visitor pattern that accesses the message headerStructure.
+
+MESSAGE_SCHEMA_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+MESSAGE_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+MessageComponents - uk.co.real_logic.sbe.ir 中的类
+
+MessageComponents(Token, List<Token>, List<Token>, List<Token>) - 类 的构造器uk.co.real_logic.sbe.ir.MessageComponents
+
+messageHeader() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The Schema headerType for message headers.
+
+MessageHeaderDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Message identifiers and length of message root
+
+MessageHeaderDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+MessageHeaderEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Message identifiers and length of message root
+
+MessageHeaderEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+messages() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+The Collection
of messages in this schema.
+
+messages() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Get the
Collection
of
Message
s for this Schema.
+
+MessageSchema - uk.co.real_logic.sbe.xml 中的类
+
+Message schema composite for schema attributes, messageHeader, and reference for multiple
Message
objects.
+
+MessageSchema(Node, Map<String, Type>, Map<Long, Message>) - 类 的构造器uk.co.real_logic.sbe.xml.MessageSchema
+
+messageToken - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+MetaAttribute - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+MethodSelector - uk.co.real_logic.sbe.codec.java 中的类
+
+MethodSelector(Set<String>) - 类 的构造器uk.co.real_logic.sbe.codec.java.MethodSelector
+
+MIN_VALUE_CHAR - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_DOUBLE - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_FLOAT - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+minValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+minValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The min value for the token or null if not set.
+
+minValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValue() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The minValue of the primitive type.
+
+minValue() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The minValue of the type
+
+minValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
N
+
+name() - 类 中的方法uk.co.real_logic.sbe.generation.NamedToken
+
+name() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+name(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+name(String) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+name() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Return the name of the token
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+name(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the name of the message
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+The String name representation of the bitset choice.
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Return the name of the type
+
+nameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+NamedToken - uk.co.real_logic.sbe.generation 中的类
+
+NamedToken(String, Token) - 类 的构造器uk.co.real_logic.sbe.generation.NamedToken
+
+nameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+namespaceName() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceName(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceName() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the namespaceName to be used for generated code.
+
+namespaceNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+NamespaceOutputManager - uk.co.real_logic.sbe.generation.cpp 中的类
+
+OutputManager
for managing the creation of C++98 source files as the target of code generation.
+
+NamespaceOutputManager(String, String) - 类 的构造器uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager
+
+Create a new OutputManager
for generating C++98 source files into a given package.
+
+namespaces() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the namespaces array to be used for generated code.
+
+newInstance(Ir, String) - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharp
+
+newInstance(Ir, String) - 类 中的方法uk.co.real_logic.sbe.generation.rust.Rust
+
+newInstance(Ir, String) - 接口 中的方法uk.co.real_logic.sbe.generation.TargetCodeGenerator
+
+
+
+NULL_VALUE_CHAR - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_DOUBLE - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_FLOAT - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+nullValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The null value for the token or null if not set.
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValue() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The nullValue of the primitive type.
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The nullValue of the type
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+The nullValue of the type
+
+nullValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
O
+
+objectAndIteratorMethods() - 类 中的静态方法uk.co.real_logic.sbe.codec.java.MethodSelector
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+offset(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The offset for this token in the message.
+
+offset(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+offsetAttribute() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Return the offset attribute of the
Type
from the schema
+
+offsetAttribute(int) - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Set the offset attribute of the
Type
from the schema
+
+onBeginComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBeginComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBeginComposite(Token, List<Token>, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Beginning of Composite encoded type encountered.
+
+onBeginGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBeginGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBeginGroup(Token, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Beginning of group encoded type encountered.
+
+onBeginMessage(Token) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBeginMessage(Token) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBeginMessage(Token) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Called on beginning the decoding of a message.
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+BitSet encoded type encountered.
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Primitive encoded type encountered.
+
+onEndComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEndComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEndComposite(Token, List<Token>, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+End of Composite encoded type encountered.
+
+onEndGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEndGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEndGroup(Token, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+End of group encoded type encountered.
+
+onEndMessage(Token) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEndMessage(Token) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEndMessage(Token) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Called on end of decoding of a message.
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Enum encoded type encountered.
+
+onGroupHeader(Token, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onGroupHeader(Token, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onGroupHeader(Token, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Group encountered.
+
+onVarData(Token, DirectBuffer, int, int, Token) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onVarData(Token, DirectBuffer, int, int, Token) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onVarData(Token, DirectBuffer, int, int, Token) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Var data field encountered.
+
+OtfHeaderDecoder - uk.co.real_logic.sbe.otf 中的类
+
+Used to decode a message header while doing on-the-fly decoding of a message stream.
+
+OtfHeaderDecoder(HeaderStructure) - 类 的构造器uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Read the message header structure and cache the meta data for finding the key fields for decoding messages.
+
+OtfMessageDecoder - uk.co.real_logic.sbe.otf 中的类
+
+On-the-fly decoder that dynamically decodes messages based on the IR for a schema.
+
+OtfMessageDecoder() - 类 的构造器uk.co.real_logic.sbe.otf.OtfMessageDecoder
+
+OUTPUT_DIR - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Output directory for generated code.
+
+
+
+
+
+
P
+
+packageName() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageName(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageName() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the package name to be used for generated code.
+
+packageName() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The package name for the schema.
+
+packageNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+parse(String, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.PrimitiveValue
+
+Parse constant value string and set representation based on type
+
+parse(String, PrimitiveType, String) - 类 中的静态方法uk.co.real_logic.sbe.PrimitiveValue
+
+Parse constant value string and set representation based on type
+
+parse(String, int, String) - 类 中的静态方法uk.co.real_logic.sbe.PrimitiveValue
+
+Parse constant value string and set representation based on type, length, and characterEncoding
+
+parse(InputStream, ParserOptions) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Take an InputStream
and parse it generating map of template ID to Message objects, types, and schema.
+
+ParserOptions - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold the values of the parsing options.
+
+ParserOptions.Builder - uk.co.real_logic.sbe.xml 中的类
+
+parseSchema(String) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Parse the message schema specification.
+
+presence(Encoding.Presence) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+presence() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+Indicates the presence status of a field in a message.
+
+presence(Encoding.Presence) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+
+
+presence() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presence(PresenceCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presence(Presence) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+presence() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+Presence - uk.co.real_logic.sbe.xml 中的枚举
+
+Presence attribute values for a
Type
applied to a
Field
.
+
+presence() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Return the presence of the type
+
+PresenceCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+presenceEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveName() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The name of the primitive type as a String.
+
+primitiveType(PrimitiveType) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+primitiveType() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+
+
+primitiveType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveType(PrimitiveTypeCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+PrimitiveType - uk.co.real_logic.sbe 中的枚举
+
+Primitive types from which all other types are composed.
+
+primitiveType() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Return the primitiveType attribute of the type
+
+PrimitiveTypeCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+primitiveTypeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+PrimitiveValue - uk.co.real_logic.sbe 中的类
+
+Class used to encapsulate values for primitives.
+
+PrimitiveValue(long, int) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a long.
+
+PrimitiveValue(byte, String) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a long.
+
+PrimitiveValue(double, int) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a double.
+
+PrimitiveValue(byte[], String, int) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a byte array.
+
+primitiveValue() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+primitiveValue() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+PrimitiveValue.Representation - uk.co.real_logic.sbe 中的枚举
+
+print(ByteBuffer, StringBuilder) - 类 中的方法uk.co.real_logic.sbe.json.JsonPrinter
+
+print(StringBuilder, UnsafeBuffer, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonPrinter
+
+print(ByteBuffer) - 类 中的方法uk.co.real_logic.sbe.json.JsonPrinter
+
+put(MutableDirectBuffer, PrimitiveValue, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+putCharacterEncoding(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putCharacterEncoding(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putConstValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putConstValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putDescription(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putDescription(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putEpoch(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putEpoch(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMaxValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMaxValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMinValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMinValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putNamespaceName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putNamespaceName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putNullValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putNullValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putPackageName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putPackageName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putReferencedName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putReferencedName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putSemanticType(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putSemanticType(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putSemanticVersion(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putSemanticVersion(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putTimeUnit(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putTimeUnit(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+
+
+
+
+
R
+
+referencedName() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedName(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedName(String) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+referencedName() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Get the name of the type when this is from a reference.
+
+referencedName() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Get the name of the type field is from a reference.
+
+referencedNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+representation() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+
+
+Rust - uk.co.real_logic.sbe.generation.rust 中的类
+
+This class is present largely to enable the dynamic-loading style pattern
+ of specifying a TargetCodeGenerator Java class name rather than the language
+ name.
+
+Rust() - 类 的构造器uk.co.real_logic.sbe.generation.rust.Rust
+
+RustFlatFileOutputManager - uk.co.real_logic.sbe.generation.rust 中的类
+
+RustGenerator - uk.co.real_logic.sbe.generation.rust 中的类
+
+RustGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.rust.RustGenerator
+
+RustUtil - uk.co.real_logic.sbe.generation.rust 中的类
+
+RustUtil() - 类 的构造器uk.co.real_logic.sbe.generation.rust.RustUtil
+
+
+
+
+
+
S
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+SbeTool - uk.co.real_logic.sbe 中的类
+
+A tool for running the SBE parser, validator, and code generator.
+
+SbeTool() - 类 的构造器uk.co.real_logic.sbe.SbeTool
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+schemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+schemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersion(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+select(Class<?>) - 类 中的方法uk.co.real_logic.sbe.codec.java.MethodSelector
+
+semanticType(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The semantic type of an encoding which can have relevance to the application layer.
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticType(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticType(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+The semanticType of the message (if set) or null
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The semanticType of the Type
+
+semanticTypeCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersion(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersion() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the semantic version of the schema.
+
+semanticVersion() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The semantic version number of the schema.
+
+semanticVersionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+SET_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.SetType
+
+SET_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+SetType - uk.co.real_logic.sbe.xml 中的类
+
+SBE setType representing a bitset of options.
+
+SetType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.SetType
+
+SetType(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.SetType
+
+Construct a new SetType from XML Schema.
+
+SetType.Choice - uk.co.real_logic.sbe.xml 中的类
+
+Holder for valid values for EnumType
+
+signal() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signal(SignalCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+Signal - uk.co.real_logic.sbe.ir 中的枚举
+
+Signal the
Token
role within a stream of tokens.
+
+signal(Signal) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+signal() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Signal the role of this token.
+
+SignalCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+signalEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+sinceVersion(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+The version since this was added to the template.
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The version since this was added to the template.
+
+size(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+size() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The encodedLength of the primitive type in octets.
+
+size() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return encodedLength for this PrimitiveValue for serialization purposes.
+
+stopOnError() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+The value of the stopOnError parameter.
+
+stopOnError(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the value of the stopOnError parameter.
+
+stopOnError() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+The value of the stopOnError parameter.
+
+SUB_TYPES_EXP - 类 中的静态变量uk.co.real_logic.sbe.xml.CompositeType
+
+suppressOutput() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+The value of the suppressOutput parameter.
+
+suppressOutput(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the value for the suppressOutput parameter.
+
+suppressOutput() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+The value of the suppressOutput parameter.
+
+symbol - 枚举 中的变量uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+
+
+
+
+
T
+
+TARGET_LANGUAGE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Target language for generated code.
+
+TARGET_NAMESPACE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+String system property of the namespace for generated code.
+
+TargetCodeGenerator - uk.co.real_logic.sbe.generation 中的接口
+
+Target a code generator for a given language.
+
+TargetCodeGeneratorLoader - uk.co.real_logic.sbe.generation 中的枚举
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+templateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+timeUnit(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+timeUnit() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The time unit of the timestamp.
+
+timeUnit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnit(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnit(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+timeUnit() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+timeUnitCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+Token - uk.co.real_logic.sbe.ir 中的类
+
+Class to encapsulate a token of information for the message schema stream.
+
+Token(Signal, String, String, String, int, int, int, int, int, int, Encoding) - 类 的构造器uk.co.real_logic.sbe.ir.Token
+
+Construct an
Token
by providing values for all fields.
+
+Token.Builder - uk.co.real_logic.sbe.ir 中的类
+
+TokenCodecDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Codec for an IR Token
+
+TokenCodecDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+TokenCodecEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Codec for an IR Token
+
+TokenCodecEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+TokenListener - uk.co.real_logic.sbe.otf 中的接口
+
+Callback interface to be implemented by code wanting to decode messages on-the-fly.
+
+tokenOffset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffset(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokens() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+tokenSize() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSize(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersion(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Lowercase the first character of a given String.
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Lowercase the first character of a given String.
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+Lowercase the first character of a given String.
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Lowercase the first character of a given String.
+
+toString() - 枚举 中的方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+toString() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return String representation of this object
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Uppercase the first character of a given String.
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Uppercase the first character of a given String.
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+Uppercase the first character of a given String.
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Uppercase the first character of a given String.
+
+type(Type) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+type() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+Type - uk.co.real_logic.sbe.xml 中的类
+
+An SBE type.
+
+Type(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.Type
+
+Construct a new Type from XML Schema.
+
+Type(String, Presence, String, int, int, String) - 类 的构造器uk.co.real_logic.sbe.xml.Type
+
+Construct a new Type from direct values.
+
+TYPE_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+types() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the Collection
of types in for this schema.
+
+Types - uk.co.real_logic.sbe.otf 中的类
+
+Utility functions for applying to types to help with on-the-fly (OTF) decoding.
+
+Types() - 类 的构造器uk.co.real_logic.sbe.otf.Types
+
+typeToken() - 类 中的方法uk.co.real_logic.sbe.generation.NamedToken
+
+
+
+
+
+
U
+
+uk.co.real_logic.sbe - 程序包 uk.co.real_logic.sbe
+
+uk.co.real_logic.sbe.codec.java - 程序包 uk.co.real_logic.sbe.codec.java
+
+uk.co.real_logic.sbe.generation - 程序包 uk.co.real_logic.sbe.generation
+
+uk.co.real_logic.sbe.generation.cpp - 程序包 uk.co.real_logic.sbe.generation.cpp
+
+uk.co.real_logic.sbe.generation.csharp - 程序包 uk.co.real_logic.sbe.generation.csharp
+
+uk.co.real_logic.sbe.generation.golang - 程序包 uk.co.real_logic.sbe.generation.golang
+
+uk.co.real_logic.sbe.generation.java - 程序包 uk.co.real_logic.sbe.generation.java
+
+uk.co.real_logic.sbe.generation.rust - 程序包 uk.co.real_logic.sbe.generation.rust
+
+uk.co.real_logic.sbe.ir - 程序包 uk.co.real_logic.sbe.ir
+
+uk.co.real_logic.sbe.ir.generated - 程序包 uk.co.real_logic.sbe.ir.generated
+
+uk.co.real_logic.sbe.json - 程序包 uk.co.real_logic.sbe.json
+
+uk.co.real_logic.sbe.otf - 程序包 uk.co.real_logic.sbe.otf
+
+uk.co.real_logic.sbe.util - 程序包 uk.co.real_logic.sbe.util
+
+uk.co.real_logic.sbe.xml - 程序包 uk.co.real_logic.sbe.xml
+
+UNKNOWN_OFFSET - 类 中的静态变量uk.co.real_logic.sbe.ir.Token
+
+Offset not computed or set
+
+updateComponentTokenCounts(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.Ir
+
+Iterate over a list of
Token
s and update their counts of how many tokens make up each component.
+
+
+
+
+
+
V
+
+validate(Node, Map<String, Type>) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+validate(String, InputStream, ParserOptions) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Validate the document against a given schema.
+
+validateAgainstSchema(String, String) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Validate the SBE Schema against the XSD.
+
+VALIDATION_STOP_ON_ERROR - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control throwing exceptions on all errors.
+
+VALIDATION_SUPPRESS_OUTPUT - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control suppressing output on all errors and warnings.
+
+VALIDATION_WARNINGS_FATAL - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control whether to consider warnings fatal and treat them as errors.
+
+VALIDATION_XSD - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+System property to hold XSD to validate message specification against.
+
+ValidationUtil - uk.co.real_logic.sbe.util 中的类
+
+Various validation utilities used across parser, IR, and generator
+
+ValidationUtil() - 类 的构造器uk.co.real_logic.sbe.util.ValidationUtil
+
+ValidValue(Node, PrimitiveType) - 类 的构造器uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+Construct a ValidValue given the XML node and the encodingType.
+
+validValues() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+The collection of valid values for this enumeration.
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.xml.Presence
+
+The value as a String of the presence.
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.generation.TargetCodeGeneratorLoader
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Encoding.Presence
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.MetaAttribute
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Signal
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveValue.Representation
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.xml.Presence
+
+返回带有指定名称的该类型的枚举常量。
+
+valueRef() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Get the value of the valueRef attribute.
+
+valueRef(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+valueRef() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.generation.TargetCodeGeneratorLoader
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Encoding.Presence
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.MetaAttribute
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Signal
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveValue.Representation
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.xml.Presence
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+varData - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+VarDataEncodingDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+VarDataEncodingDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+VarDataEncodingEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+VarDataEncodingEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+VARIABLE_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.Token
+
+Length not determined
+
+variableLength(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+variableLength(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+version() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+version(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+version() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the version of the schema.
+
+version(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+version() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The version context for this token.
+
+version() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The version number of the schema.
+
+versionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+
+
+
+
+
W
+
+warning(String) - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+Record a message signifying an warning condition.
+
+warningCount() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+The count of warnings encountered.
+
+warningsFatal() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+The value of the warningsFatal parameter.
+
+warningsFatal(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the value for the warningsFatal parameter.
+
+warningsFatal() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+The value of the warningsFatal parameter.
+
+wrap(DirectBuffer, int, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+wrap(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+wrap(DirectBuffer, int, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+wrap(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+wrapAndApplyHeader(MutableDirectBuffer, int, MessageHeaderEncoder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+wrapAndApplyHeader(MutableDirectBuffer, int, MessageHeaderEncoder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+wrapCharacterEncoding(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapConstValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapDescription(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapEpoch(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapMaxValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapMinValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapNamespaceName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrapNullValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapPackageName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrapReferencedName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapSemanticType(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapSemanticVersion(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrapTimeUnit(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
X
+
+XINCLUDE_AWARE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control is XInclude is supported.
+
+xIncludeAware() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Is the parser XInclude aware?
+
+xIncludeAware(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Is the parser XInclude aware?
+
+xIncludeAware() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+Is the parser XInclude aware?
+
+XmlSchemaParser - uk.co.real_logic.sbe.xml 中的类
+
+Encapsulate the XML Schema parsing for SBE so that other representations may be
+ used to generate independent representations.
+
+XmlSchemaParser() - 类 的构造器uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+xsdFilename() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Returns the name of the schema file.
+
+xsdFilename(String) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the schema filename.
+
+xsdFilename() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+Returns the name of the schema file.
+
+
+
A B C D E F G H I J K L M N O P R S T U V W X
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/index.html b/sbe-all/build/docs/javadoc/index.html
new file mode 100644
index 0000000000..8e1d6dcbd8
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/index.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+Simple Binary Encoding
+
+
+
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+框架预警
+请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到非框架版本 。
+
+
+
diff --git a/sbe-all/build/docs/javadoc/overview-frame.html b/sbe-all/build/docs/javadoc/overview-frame.html
new file mode 100644
index 0000000000..30235380e4
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/overview-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+概览列表 (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/overview-summary.html b/sbe-all/build/docs/javadoc/overview-summary.html
new file mode 100644
index 0000000000..698aa0f7e3
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/overview-summary.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+概览 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/overview-tree.html b/sbe-all/build/docs/javadoc/overview-tree.html
new file mode 100644
index 0000000000..857809c9d3
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/overview-tree.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
接口分层结构
+
+
注释类型分层结构
+
+uk.co.real_logic.sbe.codec.java.GroupOrder (implements java.lang.annotation.Annotation)
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/package-list b/sbe-all/build/docs/javadoc/package-list
new file mode 100644
index 0000000000..8b04e51e61
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/package-list
@@ -0,0 +1,14 @@
+uk.co.real_logic.sbe
+uk.co.real_logic.sbe.codec.java
+uk.co.real_logic.sbe.generation
+uk.co.real_logic.sbe.generation.cpp
+uk.co.real_logic.sbe.generation.csharp
+uk.co.real_logic.sbe.generation.golang
+uk.co.real_logic.sbe.generation.java
+uk.co.real_logic.sbe.generation.rust
+uk.co.real_logic.sbe.ir
+uk.co.real_logic.sbe.ir.generated
+uk.co.real_logic.sbe.json
+uk.co.real_logic.sbe.otf
+uk.co.real_logic.sbe.util
+uk.co.real_logic.sbe.xml
diff --git a/sbe-all/build/docs/javadoc/script.js b/sbe-all/build/docs/javadoc/script.js
new file mode 100644
index 0000000000..b346356931
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+ count = 0;
+ for (var key in methods) {
+ var row = document.getElementById(key);
+ if ((methods[key] & type) != 0) {
+ row.style.display = '';
+ row.className = (count++ % 2) ? rowColor : altColor;
+ }
+ else
+ row.style.display = 'none';
+ }
+ updateTabs(type);
+}
+
+function updateTabs(type)
+{
+ for (var value in tabs) {
+ var sNode = document.getElementById(tabs[value][0]);
+ var spanNode = sNode.firstChild;
+ if (value == type) {
+ sNode.className = activeTableTab;
+ spanNode.innerHTML = tabs[value][1];
+ }
+ else {
+ sNode.className = tableTab;
+ spanNode.innerHTML = "" + tabs[value][1] + " ";
+ }
+ }
+}
diff --git a/sbe-all/build/docs/javadoc/stylesheet.css b/sbe-all/build/docs/javadoc/stylesheet.css
new file mode 100644
index 0000000000..98055b22d6
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4A6782;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4A6782;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#dee3e9;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+ text-transform:uppercase;
+}
+.navBarCell1Rev {
+ background-color:#F8981D;
+ color:#253441;
+ margin: auto 5px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #ededed;
+ background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border-left:1px solid #EEE;
+ border-right:1px solid #EEE;
+ border-bottom:1px solid #EEE;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ border: none;
+ height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ height:16px;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#4D7A97;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#4D7A97;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#dee3e9;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+ font-size:13px;
+}
+td.colLast, th.colLast {
+ font-size:13px;
+}
+td.colOne, th.colOne {
+ font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#EEEEFF;
+}
+.altColor {
+ background-color:#FFFFFF;
+}
+.rowColor {
+ background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+ font-size:14px;
+ font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+ color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveType.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveType.html
new file mode 100644
index 0000000000..309c4dcc6f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveType.html
@@ -0,0 +1,595 @@
+
+
+
+
+
+PrimitiveType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<PrimitiveType >
+
+
+uk.co.real_logic.sbe.PrimitiveType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.Representation.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.Representation.html
new file mode 100644
index 0000000000..59aa56ab8b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.Representation.html
@@ -0,0 +1,365 @@
+
+
+
+
+
+PrimitiveValue.Representation (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+BYTE_ARRAY
+Value is stored in a byte[].
+
+
+
+DOUBLE
+Value is stored in a double value.
+
+
+
+LONG
+Value is stored in a long value.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.html
new file mode 100644
index 0000000000..112f703ad8
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.html
@@ -0,0 +1,1263 @@
+
+
+
+
+
+PrimitiveValue (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.PrimitiveValue
+
+
+
+
+
+
+
+
+public class PrimitiveValue
+extends java.lang.Object
+Class used to encapsulate values for primitives. Used for nullValue, minValue, maxValue, and constants
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+PrimitiveValue (byte[] value,
+ java.lang.String characterEncoding,
+ int size)
+Construct and fill in value as a byte array.
+
+
+
+PrimitiveValue (byte value,
+ java.lang.String characterEncoding)
+Construct and fill in value as a long.
+
+
+
+PrimitiveValue (double value,
+ int size)
+Construct and fill in value as a double.
+
+
+
+PrimitiveValue (long value,
+ int size)
+Construct and fill in value as a long.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+byte[]
+byteArrayValue ()
+Return byte array value for this PrimitiveValue.
+
+
+
+byte[]
+byteArrayValue (PrimitiveType type)
+Return byte array value for this PrimitiveValue given a particular type
+
+
+
+java.lang.String
+characterEncoding ()
+The character encoding of the byte array representation.
+
+
+
+double
+doubleValue ()
+Return double value for this PrimitiveValue.
+
+
+
+boolean
+equals (java.lang.Object value)
+Determine if two values are equivalent.
+
+
+
+int
+hashCode ()
+Return hashCode for value.
+
+
+
+long
+longValue ()
+Return long value for this PrimitiveValue
+
+
+
+static PrimitiveValue
+parse (java.lang.String value,
+ int length,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type, length, and characterEncoding
+
+
+
+static PrimitiveValue
+parse (java.lang.String value,
+ PrimitiveType primitiveType)
+Parse constant value string and set representation based on type
+
+
+
+static PrimitiveValue
+parse (java.lang.String value,
+ PrimitiveType primitiveType,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type
+
+
+
+PrimitiveValue.Representation
+representation ()
+
+
+
+
+int
+size ()
+Return encodedLength for this PrimitiveValue for serialization purposes.
+
+
+
+java.lang.String
+toString ()
+Return String representation of this object
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+PrimitiveValue
+public PrimitiveValue(byte value,
+ java.lang.String characterEncoding)
+Construct and fill in value as a long.
+
+参数:
+value
- in long format
+characterEncoding
- of the char type.
+
+
+
+
+
+
+
+
+
+
+
+
+PrimitiveValue
+public PrimitiveValue(byte[] value,
+ java.lang.String characterEncoding,
+ int size)
+Construct and fill in value as a byte array.
+
+参数:
+value
- as a byte array
+characterEncoding
- of the characters
+size
- of string in characters
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+parse
+public static PrimitiveValue parse(java.lang.String value,
+ PrimitiveType primitiveType)
+Parse constant value string and set representation based on type
+
+参数:
+value
- expressed as a String
+primitiveType
- that this is supposed to be
+返回:
+a new PrimitiveValue
for the value.
+抛出:
+java.lang.IllegalArgumentException
- if parsing malformed type
+
+
+
+
+
+
+
+
+parse
+public static PrimitiveValue parse(java.lang.String value,
+ PrimitiveType primitiveType,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type
+
+参数:
+value
- expressed as a String
+primitiveType
- that this is supposed to be
+characterEncoding
- of the constant value.
+返回:
+a new PrimitiveValue
for the value.
+抛出:
+java.lang.IllegalArgumentException
- if parsing malformed type
+
+
+
+
+
+
+
+
+parse
+public static PrimitiveValue parse(java.lang.String value,
+ int length,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type, length, and characterEncoding
+
+参数:
+value
- expressed as a String
+length
- of the type
+characterEncoding
- of the String
+返回:
+a new PrimitiveValue
for the value.
+抛出:
+java.lang.IllegalArgumentException
- if parsing malformed type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/SbeTool.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/SbeTool.html
new file mode 100644
index 0000000000..928d39633d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/SbeTool.html
@@ -0,0 +1,814 @@
+
+
+
+
+
+SbeTool (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.SbeTool
+
+
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static java.lang.String
+CPP_NAMESPACES_COLLAPSE
+Boolean system property to toggle collapsing of nested namespaces in generated C++ stubs.
+
+
+
+static java.lang.String
+DECODE_UNKNOWN_ENUM_VALUES
+Should unknown enum values be decoded to support extension.
+
+
+
+static java.lang.String
+GENERATE_IR
+Boolean system property to turn on or off generation of IR.
+
+
+
+static java.lang.String
+GENERATE_STUBS
+Boolean system property to turn on or off generation of stubs.
+
+
+
+static java.lang.String
+JAVA_DECODING_BUFFER_TYPE
+Specifies the name of the Java read only buffer to wrap.
+
+
+
+static java.lang.String
+JAVA_DEFAULT_DECODING_BUFFER_TYPE
+Default class to use as the buffer read only implementation in generated code.
+
+
+
+static java.lang.String
+JAVA_DEFAULT_ENCODING_BUFFER_TYPE
+Default class to use as the buffer mutable implementation in generated code.
+
+
+
+static java.lang.String
+JAVA_ENCODING_BUFFER_TYPE
+Specifies the name of the Java mutable buffer to wrap.
+
+
+
+static java.lang.String
+JAVA_GENERATE_INTERFACES
+Boolean system property to turn on or off generation of the interface hierarchy.
+
+
+
+static java.lang.String
+JAVA_GROUP_ORDER_ANNOTATION
+Should the
GroupOrder
annotation be added to generated stubs.
+
+
+
+static java.lang.String
+JAVA_INTERFACE_PACKAGE
+Package in which the generated Java interfaces will be placed.
+
+
+
+static java.lang.String
+KEYWORD_APPEND_TOKEN
+Specifies token that should be appended to keywords to avoid compilation errors.
+
+
+
+static java.lang.String
+OUTPUT_DIR
+Output directory for generated code.
+
+
+
+static java.lang.String
+TARGET_LANGUAGE
+Target language for generated code.
+
+
+
+static java.lang.String
+TARGET_NAMESPACE
+String system property of the namespace for generated code.
+
+
+
+static java.lang.String
+VALIDATION_STOP_ON_ERROR
+Boolean system property to control throwing exceptions on all errors.
+
+
+
+static java.lang.String
+VALIDATION_SUPPRESS_OUTPUT
+Boolean system property to control suppressing output on all errors and warnings.
+
+
+
+static java.lang.String
+VALIDATION_WARNINGS_FATAL
+Boolean system property to control whether to consider warnings fatal and treat them as errors.
+
+
+
+static java.lang.String
+VALIDATION_XSD
+System property to hold XSD to validate message specification against.
+
+
+
+static java.lang.String
+XINCLUDE_AWARE
+Boolean system property to control is XInclude is supported.
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+generate (Ir ir,
+ java.lang.String outputDirName,
+ java.lang.String targetLanguage)
+Generate SBE encoding and decoding stubs for a target language.
+
+
+
+static void
+main (java.lang.String[] args)
+Main entry point for the SBE Tool.
+
+
+
+static MessageSchema
+parseSchema (java.lang.String sbeSchemaFilename)
+Parse the message schema specification.
+
+
+
+static void
+validateAgainstSchema (java.lang.String sbeSchemaFilename,
+ java.lang.String xsdFilename)
+Validate the SBE Schema against the XSD.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+SbeTool
+public SbeTool()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+validateAgainstSchema
+public static void validateAgainstSchema(java.lang.String sbeSchemaFilename,
+ java.lang.String xsdFilename)
+ throws java.lang.Exception
+Validate the SBE Schema against the XSD.
+
+参数:
+sbeSchemaFilename
- to be validated
+xsdFilename
- XSD against which to validate
+抛出:
+java.lang.Exception
- if an error occurs while validating
+
+
+
+
+
+
+
+
+
+
+
+
+generate
+public static void generate(Ir ir,
+ java.lang.String outputDirName,
+ java.lang.String targetLanguage)
+ throws java.lang.Exception
+Generate SBE encoding and decoding stubs for a target language.
+
+参数:
+ir
- for the parsed specification.
+outputDirName
- directory into which code will be generated.
+targetLanguage
- for the generated code.
+抛出:
+java.lang.Exception
- if an error occurs while generating the code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/GroupOrder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/GroupOrder.html
new file mode 100644
index 0000000000..d1c3c43532
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/GroupOrder.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+GroupOrder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+必需元素概要
+
+所需元素
+
+限定符和类型
+必需的元素和说明
+
+
+java.lang.Class<?>[]
+value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/MethodSelector.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/MethodSelector.html
new file mode 100644
index 0000000000..ccdbe311f6
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/MethodSelector.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+MethodSelector (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.codec.java.MethodSelector
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+MethodSelector (java.util.Set<java.lang.String> ignoredMethods)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-frame.html
new file mode 100644
index 0000000000..45a462eab5
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-frame.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+uk.co.real_logic.sbe.codec.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-summary.html
new file mode 100644
index 0000000000..c79eafe772
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-summary.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+uk.co.real_logic.sbe.codec.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+注释类型概要
+
+注释类型
+说明
+
+
+
+GroupOrder
+
+Group order for repeating groups in encoded messages.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-tree.html
new file mode 100644
index 0000000000..45ea499f99
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-tree.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+uk.co.real_logic.sbe.codec.java 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
注释类型分层结构
+
+uk.co.real_logic.sbe.codec.java.GroupOrder (implements java.lang.annotation.Annotation)
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/CodeGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/CodeGenerator.html
new file mode 100644
index 0000000000..496d1c8571
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/CodeGenerator.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+CodeGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 抽象方法
+
+限定符和类型
+方法和说明
+
+
+void
+generate ()
+Generate the complete set of types and messages for a schema.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/Generators.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/Generators.html
new file mode 100644
index 0000000000..56984799ed
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/Generators.html
@@ -0,0 +1,354 @@
+
+
+
+
+
+Generators (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.Generators
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static Token
+findFirst (java.lang.String name,
+ java.util.List<Token > tokens,
+ int index)
+Find the first token with a given name from an index inclusive.
+
+
+
+static void
+forEachField (java.util.List<Token > tokens,
+ java.util.function.BiConsumer<Token ,Token > consumer)
+For each field found in a list of field
Token
s take the field token and following type token to
+ a
BiConsumer
.
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String s)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String s)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Generators
+public Generators()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+findFirst
+public static Token findFirst(java.lang.String name,
+ java.util.List<Token > tokens,
+ int index)
+Find the first token with a given name from an index inclusive.
+
+参数:
+name
- to search for.
+tokens
- to search.
+index
- from which to search.
+返回:
+first found Token
or throw a IllegalStateException
if not found.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/NamedToken.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/NamedToken.html
new file mode 100644
index 0000000000..f6ac93ae8e
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/NamedToken.html
@@ -0,0 +1,298 @@
+
+
+
+
+
+NamedToken (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.NamedToken
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+NamedToken (java.lang.String name,
+ Token typeToken)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGenerator.html
new file mode 100644
index 0000000000..0b1b55b558
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGenerator.html
@@ -0,0 +1,237 @@
+
+
+
+
+
+TargetCodeGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.html
new file mode 100644
index 0000000000..9a99a6aeaf
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+TargetCodeGeneratorLoader (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppGenerator.html
new file mode 100644
index 0000000000..4db2d2ec3d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppGenerator.html
@@ -0,0 +1,352 @@
+
+
+
+
+
+CppGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CppGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppUtil.html
new file mode 100644
index 0000000000..1179e3c00b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppUtil.html
@@ -0,0 +1,406 @@
+
+
+
+
+
+CppUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static java.lang.String
+closingBraces (int count)
+
+
+static java.lang.String
+cppTypeName (PrimitiveType primitiveType)
+
+
+
+
+static java.lang.String
+formatByteOrderEncoding (java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Cpp98 formatted byte order encoding string to use for a given byte order and primitiveType
+
+
+
+static java.lang.String
+formatClassName (java.lang.String value)
+Format a String as a class name.
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String value)
+Format a String as a property name.
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String str)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String str)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CppUtil
+public CppUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+formatByteOrderEncoding
+public static java.lang.String formatByteOrderEncoding(java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Cpp98 formatted byte order encoding string to use for a given byte order and primitiveType
+
+参数:
+byteOrder
- of the Token
+primitiveType
- of the Token
+返回:
+the string formatted as the byte ordering encoding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.html
new file mode 100644
index 0000000000..45a954a997
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+NamespaceOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager
+
+
+
+
+
+
+
+所有已实现的接口:
+org.agrona.generation.OutputManager
+
+
+
+public class NamespaceOutputManager
+extends java.lang.Object
+implements org.agrona.generation.OutputManager
+OutputManager
for managing the creation of C++98 source files as the target of code generation.
+ The character encoding for the Writer
is UTF-8.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+NamespaceOutputManager (java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating C++98 source files into a given package.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.io.Writer
+createOutput (java.lang.String name)
+Create a new output which will be a C++98 source file in the given package.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+NamespaceOutputManager
+public NamespaceOutputManager(java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating C++98 source files into a given package.
+
+参数:
+baseDirName
- for the generated source code.
+namespaceName
- for the generated source code relative to the baseDirName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-frame.html
new file mode 100644
index 0000000000..baa2fd1bef
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.cpp (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-summary.html
new file mode 100644
index 0000000000..6e4a07cc28
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-summary.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.cpp (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+CppGenerator
+
+
+
+CppUtil
+
+Utilities for mapping between IR and the C++ language.
+
+
+
+NamespaceOutputManager
+
+OutputManager
for managing the creation of C++98 source files as the target of code generation.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-tree.html
new file mode 100644
index 0000000000..4c2661ec22
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.cpp 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharp.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharp.html
new file mode 100644
index 0000000000..4953568c69
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharp.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+CSharp (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharp
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CSharp ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CSharp
+public CSharp()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.html
new file mode 100644
index 0000000000..836c7566bb
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+CSharpGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CSharpGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.html
new file mode 100644
index 0000000000..886f31e4f5
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+CSharpNamespaceOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharpNamespaceOutputManager
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CSharpNamespaceOutputManager (java.lang.String baseDirName,
+ java.lang.String packageName)
+Create a new OutputManager
for generating C# source
+ files into a given package.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.io.Writer
+createOutput (java.lang.String name)
+Create a new output which will be a C# source file in the given package.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CSharpNamespaceOutputManager
+public CSharpNamespaceOutputManager(java.lang.String baseDirName,
+ java.lang.String packageName)
+Create a new OutputManager
for generating C# source
+ files into a given package.
+
+参数:
+baseDirName
- for the generated source code.
+packageName
- for the generated source code relative to the baseDirName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.html
new file mode 100644
index 0000000000..5394887e96
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.html
@@ -0,0 +1,368 @@
+
+
+
+
+
+CSharpUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static java.lang.String
+cSharpTypeName (PrimitiveType primitiveType)
+
+
+
+
+static java.lang.String
+formatClassName (java.lang.String str)
+Format a String as a class name.
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String str)
+Format a String as a property name.
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String str)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String str)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CSharpUtil
+public CSharpUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-frame.html
new file mode 100644
index 0000000000..524332e247
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-frame.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.csharp (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-summary.html
new file mode 100644
index 0000000000..3281929597
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-summary.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.csharp (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-tree.html
new file mode 100644
index 0000000000..f821b9ed8c
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-tree.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.csharp 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangGenerator.html
new file mode 100644
index 0000000000..4ae90f1239
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangGenerator.html
@@ -0,0 +1,359 @@
+
+
+
+
+
+GolangGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+GolangGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.html
new file mode 100644
index 0000000000..bfc12716c7
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+GolangOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.golang.GolangOutputManager
+
+
+
+
+
+
+
+所有已实现的接口:
+org.agrona.generation.OutputManager
+
+
+
+public class GolangOutputManager
+extends java.lang.Object
+implements org.agrona.generation.OutputManager
+OutputManager
for managing the creation of golang source files as the target of code generation.
+ The character encoding for the Writer
is UTF-8.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+GolangOutputManager (java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating golang source files into a given package.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.io.Writer
+createOutput (java.lang.String name)
+Create a new output which will be a golang source file in the given package.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+GolangOutputManager
+public GolangOutputManager(java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating golang source files into a given package.
+
+参数:
+baseDirName
- for the generated source code.
+namespaceName
- for the generated source code relative to the baseDirName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangUtil.html
new file mode 100644
index 0000000000..adc45ce4c4
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangUtil.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+GolangUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static java.lang.String
+closingBraces (int count)
+
+
+static java.lang.String
+formatByteOrderEncoding (java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Golang formatted byte order encoding string to use for a given byte order and primitiveType
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String value)
+Format a String as a property name.
+
+
+
+static java.lang.String
+formatTypeName (java.lang.String value)
+Format a String as a type name.
+
+
+
+static java.lang.String
+golangMarshalType (PrimitiveType primitiveType)
+Map the name of a
PrimitiveType
to a Golang marhsalling function name.
+
+
+
+static java.lang.String
+golangTypeName (PrimitiveType primitiveType)
+
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String str)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String str)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+GolangUtil
+public GolangUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+formatByteOrderEncoding
+public static java.lang.String formatByteOrderEncoding(java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Golang formatted byte order encoding string to use for a given byte order and primitiveType
+
+参数:
+byteOrder
- of the Token
+primitiveType
- of the Token
+返回:
+the string formatted as the byte ordering encoding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-frame.html
new file mode 100644
index 0000000000..32beaec75f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.golang (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-summary.html
new file mode 100644
index 0000000000..49488e9b6f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-summary.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.golang (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+GolangGenerator
+
+
+
+GolangOutputManager
+
+OutputManager
for managing the creation of golang source files as the target of code generation.
+
+
+
+GolangUtil
+
+Utilities for mapping between IR and the Golang language.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-tree.html
new file mode 100644
index 0000000000..87d1a29a54
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.golang 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaGenerator.html
new file mode 100644
index 0000000000..acacbc7db2
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaGenerator.html
@@ -0,0 +1,349 @@
+
+
+
+
+
+JavaGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+JavaGenerator (Ir ir,
+ java.lang.String mutableBuffer,
+ java.lang.String readOnlyBuffer,
+ boolean shouldGenerateGroupOrderAnnotation,
+ boolean shouldGenerateInterfaces,
+ boolean shouldDecodeUnknownEnumValues,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+JavaGenerator
+public JavaGenerator(Ir ir,
+ java.lang.String mutableBuffer,
+ java.lang.String readOnlyBuffer,
+ boolean shouldGenerateGroupOrderAnnotation,
+ boolean shouldGenerateInterfaces,
+ boolean shouldDecodeUnknownEnumValues,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.Separators.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.Separators.html
new file mode 100644
index 0000000000..d481a77a38
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.Separators.html
@@ -0,0 +1,531 @@
+
+
+
+
+
+JavaUtil.Separators (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<JavaUtil.Separators >
+
+
+uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+char
+symbol
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+symbol
+public final char symbol
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+appendToGeneratedBuilder
+public void appendToGeneratedBuilder(java.lang.StringBuilder builder,
+ java.lang.String indent,
+ java.lang.String builderName)
+Add separator to a generated StringBuilder
+
+参数:
+builder
- the code generation builder to which information should be added
+indent
- the current generated code indentation
+builderName
- of the generated StringBuilder to which separator should be added
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.html
new file mode 100644
index 0000000000..6a04b82b06
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.html
@@ -0,0 +1,551 @@
+
+
+
+
+
+JavaUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.java.JavaUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+append (java.lang.StringBuilder builder,
+ java.lang.String indent,
+ java.lang.String line)
+Shortcut to append a line of generated code
+
+
+
+static java.lang.String
+charset (java.lang.String encoding)
+Code to fetch an instance of Charset
corresponding to the given encoding.
+
+
+
+static java.lang.String
+formatClassName (java.lang.String value)
+Format a class name for the generated code.
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String value)
+Format a property name for generated code.
+
+
+
+static java.lang.String
+generateFlyweightPropertyJavadoc (java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for flyweight property.
+
+
+
+static java.lang.String
+generateGroupEncodePropertyJavadoc (java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for group encode property.
+
+
+
+static java.lang.String
+generateLiteral (PrimitiveType type,
+ java.lang.String value)
+Generate a literal value to be used in code generation.
+
+
+
+static java.lang.String
+generateOptionDecodeJavadoc (java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option decode method.
+
+
+
+static java.lang.String
+generateOptionEncodeJavadoc (java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option encode method.
+
+
+
+static java.lang.String
+generateTypeJavadoc (java.lang.String indent,
+ Token typeToken)
+Generate the Javadoc comment header for a type.
+
+
+
+static java.lang.String
+javaTypeName (PrimitiveType primitiveType)
+
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+JavaUtil
+public JavaUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+append
+public static void append(java.lang.StringBuilder builder,
+ java.lang.String indent,
+ java.lang.String line)
+Shortcut to append a line of generated code
+
+参数:
+builder
- string builder to which to append the line
+indent
- current text indentation
+line
- line to be appended
+
+
+
+
+
+
+
+
+
+
+
+
+generateLiteral
+public static java.lang.String generateLiteral(PrimitiveType type,
+ java.lang.String value)
+Generate a literal value to be used in code generation.
+
+参数:
+type
- of the lateral value.
+value
- of the lateral.
+返回:
+a String representation of the Java literal.
+
+
+
+
+
+
+
+
+generateTypeJavadoc
+public static java.lang.String generateTypeJavadoc(java.lang.String indent,
+ Token typeToken)
+Generate the Javadoc comment header for a type.
+
+参数:
+indent
- level for the comment.
+typeToken
- for the type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateOptionDecodeJavadoc
+public static java.lang.String generateOptionDecodeJavadoc(java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option decode method.
+
+参数:
+indent
- level for the comment.
+optionToken
- for the type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateOptionEncodeJavadoc
+public static java.lang.String generateOptionEncodeJavadoc(java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option encode method.
+
+参数:
+indent
- level for the comment.
+optionToken
- for the type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateFlyweightPropertyJavadoc
+public static java.lang.String generateFlyweightPropertyJavadoc(java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for flyweight property.
+
+参数:
+indent
- level for the comment.
+propertyToken
- for the property name.
+typeName
- for the property type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateGroupEncodePropertyJavadoc
+public static java.lang.String generateGroupEncodePropertyJavadoc(java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for group encode property.
+
+参数:
+indent
- level for the comment.
+propertyToken
- for the property name.
+typeName
- for the property type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-frame.html
new file mode 100644
index 0000000000..54a220c2d7
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-frame.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-summary.html
new file mode 100644
index 0000000000..87eea0a09a
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-summary.html
@@ -0,0 +1,162 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+JavaGenerator
+
+
+
+JavaUtil
+
+Utilities for mapping between IR and the Java language.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-tree.html
new file mode 100644
index 0000000000..3da26aeb35
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-tree.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.java 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-frame.html
new file mode 100644
index 0000000000..efbb6afbda
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-frame.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-summary.html
new file mode 100644
index 0000000000..19814b32a8
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-summary.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+接口概要
+
+接口
+说明
+
+
+
+CodeGenerator
+
+Abstraction for code generators to implement.
+
+
+
+TargetCodeGenerator
+
+Target a code generator for a given language.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-tree.html
new file mode 100644
index 0000000000..aba48f47a6
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-tree.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
接口分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/Rust.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/Rust.html
new file mode 100644
index 0000000000..70c83a0fb4
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/Rust.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+Rust (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.Rust
+
+
+
+
+
+
+
+所有已实现的接口:
+TargetCodeGenerator
+
+
+
+public class Rust
+extends java.lang.Object
+implements TargetCodeGenerator
+This class is present largely to enable the dynamic-loading style pattern
+ of specifying a TargetCodeGenerator Java class name rather than the language
+ name.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Rust ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Rust
+public Rust()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.html
new file mode 100644
index 0000000000..a8bd642e2a
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+RustFlatFileOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManager
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustGenerator.html
new file mode 100644
index 0000000000..420e6ffc7e
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustGenerator.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+RustGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.RustGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+RustGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+generate ()
+Generate the complete set of types and messages for a schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustUtil.html
new file mode 100644
index 0000000000..a27b9f0a62
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustUtil.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+RustUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.RustUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+RustUtil
+public RustUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-frame.html
new file mode 100644
index 0000000000..21f58fef83
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-frame.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.rust (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-summary.html
new file mode 100644
index 0000000000..f8d310ccdf
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-summary.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.rust (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+Rust
+
+This class is present largely to enable the dynamic-loading style pattern
+ of specifying a TargetCodeGenerator Java class name rather than the language
+ name.
+
+
+
+RustFlatFileOutputManager
+
+
+
+RustGenerator
+
+
+
+RustUtil
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-tree.html
new file mode 100644
index 0000000000..66221765dc
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-tree.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.rust 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Builder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Builder.html
new file mode 100644
index 0000000000..b49978d838
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Builder.html
@@ -0,0 +1,418 @@
+
+
+
+
+
+Encoding.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Encoding.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Presence.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Presence.html
new file mode 100644
index 0000000000..46a7ed7b37
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Presence.html
@@ -0,0 +1,366 @@
+
+
+
+
+
+Encoding.Presence (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Encoding.Presence >
+
+
+uk.co.real_logic.sbe.ir.Encoding.Presence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+CONSTANT
+The field presence is a constant.
+
+
+
+OPTIONAL
+The field presence is optional.
+
+
+
+REQUIRED
+The field presence is required.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.html
new file mode 100644
index 0000000000..69d1bbc22b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.html
@@ -0,0 +1,634 @@
+
+
+
+
+
+Encoding (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Encoding
+
+
+
+
+
+
+
+
+
+
+
+
+嵌套类概要
+
+嵌套类
+
+限定符和类型
+类和说明
+
+
+static class
+Encoding.Builder
+Builder to make
Encoding
easier to create.
+
+
+
+static class
+Encoding.Presence
+Indicates the presence status of a primitive encoded field in a message.
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Encoding ()
+
+
+Encoding (Encoding.Presence presence,
+ PrimitiveType primitiveType,
+ java.nio.ByteOrder byteOrder,
+ PrimitiveValue minValue,
+ PrimitiveValue maxValue,
+ PrimitiveValue nullValue,
+ PrimitiveValue constValue,
+ java.lang.String characterEncoding,
+ java.lang.String epoch,
+ java.lang.String timeUnit,
+ java.lang.String semanticType)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Encoding
+public Encoding()
+
+
+
+
+
+
+
+Encoding
+public Encoding(Encoding.Presence presence,
+ PrimitiveType primitiveType,
+ java.nio.ByteOrder byteOrder,
+ PrimitiveValue minValue,
+ PrimitiveValue maxValue,
+ PrimitiveValue nullValue,
+ PrimitiveValue constValue,
+ java.lang.String characterEncoding,
+ java.lang.String epoch,
+ java.lang.String timeUnit,
+ java.lang.String semanticType)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/GenerationUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/GenerationUtil.html
new file mode 100644
index 0000000000..daf0c30ead
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/GenerationUtil.html
@@ -0,0 +1,390 @@
+
+
+
+
+
+GenerationUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.GenerationUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static int
+collect (Signal signal,
+ java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > collected)
+
+
+static int
+collectFields (java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > fields)
+
+
+static int
+collectGroups (java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > groups)
+
+
+static int
+collectVarData (java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > varData)
+
+
+static java.lang.CharSequence
+concatTokens (java.util.List<Token > tokens,
+ Signal signal,
+ java.util.function.Function<Token ,java.lang.CharSequence> mapper)
+
+
+static int
+findEndSignal (java.util.List<Token > tokens,
+ int startIndex,
+ Signal signal,
+ java.lang.String name)
+
+
+static java.util.List<java.lang.String>
+findSubGroupNames (java.util.List<Token > tokens)
+
+
+static java.util.List<Token >
+getMessageBody (java.util.List<Token > tokens)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+GenerationUtil
+public GenerationUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+collect
+public static int collect(Signal signal,
+ java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > collected)
+
+
+
+
+
+
+
+
+
+
+
+concatTokens
+public static java.lang.CharSequence concatTokens(java.util.List<Token > tokens,
+ Signal signal,
+ java.util.function.Function<Token ,java.lang.CharSequence> mapper)
+
+
+
+
+
+
+
+findEndSignal
+public static int findEndSignal(java.util.List<Token > tokens,
+ int startIndex,
+ Signal signal,
+ java.lang.String name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/HeaderStructure.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/HeaderStructure.html
new file mode 100644
index 0000000000..0599252352
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/HeaderStructure.html
@@ -0,0 +1,414 @@
+
+
+
+
+
+HeaderStructure (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.HeaderStructure
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Ir.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Ir.html
new file mode 100644
index 0000000000..b6b788fadf
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Ir.html
@@ -0,0 +1,593 @@
+
+
+
+
+
+Ir (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Ir
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Ir (java.lang.String packageName,
+ java.lang.String namespaceName,
+ int id,
+ int version,
+ java.lang.String semanticVersion,
+ java.nio.ByteOrder byteOrder,
+ java.util.List<Token > headerTokens)
+Create a new IR container taking a defensive copy of the headerStructure
Token
s passed.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+addMessage (long messageId,
+ java.util.List<Token > messageTokens)
+Add a List of
Token
s for a given message id.
+
+
+
+java.lang.String
+applicableNamespace ()
+Get the namespaceName to be used for generated code.
+
+
+
+java.nio.ByteOrder
+byteOrder ()
+ByteOrder
for all types in the schema.
+
+
+
+java.util.List<Token >
+getMessage (long messageId)
+Get the getMessage for a given identifier.
+
+
+
+java.util.List<Token >
+getType (java.lang.String name)
+Get the type representation for a given type name.
+
+
+
+HeaderStructure
+headerStructure ()
+
+
+
+
+int
+id ()
+Get the id number of the schema.
+
+
+
+java.util.Collection<java.util.List<Token >>
+messages ()
+The Collection
of messages in this schema.
+
+
+
+java.lang.String
+namespaceName ()
+Get the namespaceName to be used for generated code.
+
+
+
+java.lang.String[]
+namespaces ()
+Get the namespaces array to be used for generated code.
+
+
+
+java.lang.String
+packageName ()
+Get the package name to be used for generated code.
+
+
+
+java.lang.String
+semanticVersion ()
+Get the semantic version of the schema.
+
+
+
+java.util.Collection<java.util.List<Token >>
+types ()
+Get the Collection
of types in for this schema.
+
+
+
+static void
+updateComponentTokenCounts (java.util.List<Token > tokens)
+Iterate over a list of
Token
s and update their counts of how many tokens make up each component.
+
+
+
+int
+version ()
+Get the version of the schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Ir
+public Ir(java.lang.String packageName,
+ java.lang.String namespaceName,
+ int id,
+ int version,
+ java.lang.String semanticVersion,
+ java.nio.ByteOrder byteOrder,
+ java.util.List<Token > headerTokens)
+Create a new IR container taking a defensive copy of the headerStructure
Token
s passed.
+
+参数:
+packageName
- that should be applied to generated code.
+namespaceName
- that should be applied to generated code.
+id
- identifier for the schema.
+version
- of the schema
+semanticVersion
- semantic version for mapping to the application domain.
+byteOrder
- byte order for all types in the schema.
+headerTokens
- representing the message headerStructure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrDecoder.html
new file mode 100644
index 0000000000..1e8dfd9dc1
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrDecoder.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+IrDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.IrDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+IrDecoder (java.nio.ByteBuffer buffer)
+
+
+IrDecoder (java.lang.String fileName)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+close
+public void close()
+
+指定者:
+close
在接口中 java.lang.AutoCloseable
+
+
+
+
+
+
+
+
+decode
+public Ir decode()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrEncoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrEncoder.html
new file mode 100644
index 0000000000..eb629a2c70
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrEncoder.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+IrEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.IrEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+IrEncoder (java.nio.ByteBuffer buffer,
+ Ir ir)
+
+
+IrEncoder (java.lang.String fileName,
+ Ir ir)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+close
+public void close()
+
+指定者:
+close
在接口中 java.lang.AutoCloseable
+
+
+
+
+
+
+
+
+encode
+public int encode()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrUtil.html
new file mode 100644
index 0000000000..336af274f9
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrUtil.html
@@ -0,0 +1,451 @@
+
+
+
+
+
+IrUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.IrUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+IrUtil ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+IrUtil
+public IrUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/MessageComponents.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/MessageComponents.html
new file mode 100644
index 0000000000..52bc4f1635
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/MessageComponents.html
@@ -0,0 +1,351 @@
+
+
+
+
+
+MessageComponents (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.MessageComponents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+MessageComponents
+public MessageComponents(Token messageToken,
+ java.util.List<Token > fields,
+ java.util.List<Token > groups,
+ java.util.List<Token > varData)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Signal.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Signal.html
new file mode 100644
index 0000000000..9f4931641d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Signal.html
@@ -0,0 +1,573 @@
+
+
+
+
+
+Signal (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Signal >
+
+
+uk.co.real_logic.sbe.ir.Signal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+BEGIN_COMPOSITE
+Denotes the beginning of a composite
+
+
+
+BEGIN_ENUM
+Denotes the beginning of an enumeration
+
+
+
+BEGIN_FIELD
+Denotes the beginning of a field
+
+
+
+BEGIN_GROUP
+Denotes the beginning of a repeating group
+
+
+
+BEGIN_MESSAGE
+Denotes the beginning of a message
+
+
+
+BEGIN_SET
+Denotes the beginning of a bitset
+
+
+
+BEGIN_VAR_DATA
+Denotes the beginning of a variable data block
+
+
+
+CHOICE
+Denotes a bit value (choice) of a bitset
+
+
+
+ENCODING
+Denotes the
Token
is an encoding
+
+
+
+END_COMPOSITE
+Denotes the end of a composite
+
+
+
+END_ENUM
+Denotes the end of an enumeration
+
+
+
+END_FIELD
+Denotes the end of a field
+
+
+
+END_GROUP
+Denotes the end of a repeating group
+
+
+
+END_MESSAGE
+Denotes the end of a message
+
+
+
+END_SET
+Denotes the end of a bitset
+
+
+
+END_VAR_DATA
+Denotes the end of a variable data block
+
+
+
+VALID_VALUE
+Denotes a value of an enumeration
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static Signal
+valueOf (java.lang.String name)
+返回带有指定名称的该类型的枚举常量。
+
+
+
+static Signal []
+values ()
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.Builder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.Builder.html
new file mode 100644
index 0000000000..43311b70ed
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.Builder.html
@@ -0,0 +1,417 @@
+
+
+
+
+
+Token.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Token.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.html
new file mode 100644
index 0000000000..6bc1e7b1c8
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.html
@@ -0,0 +1,807 @@
+
+
+
+
+
+Token (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Token
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Token (Signal signal,
+ java.lang.String name,
+ java.lang.String referencedName,
+ java.lang.String description,
+ int id,
+ int version,
+ int deprecated,
+ int encodedLength,
+ int offset,
+ int componentTokenCount,
+ Encoding encoding)
+Construct an
Token
by providing values for all fields.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.String
+applicableTypeName ()
+Get the name of the type that should be applied in context.
+
+
+
+int
+arrayLength ()
+The number of encoded primitives in this type.
+
+
+
+int
+componentTokenCount ()
+The number of tokens that make up this component.
+
+
+
+void
+componentTokenCount (int componentTokenCount)
+Set the number of tokens this component has.
+
+
+
+int
+deprecated ()
+The version in which this context was deprecated.
+
+
+
+java.lang.String
+description ()
+Description for what the token is to be used for.
+
+
+
+int
+encodedLength ()
+The encodedLength of this token in bytes.
+
+
+
+void
+encodedLength (int encodedLength)
+Set the encoded length for this node.
+
+
+
+Encoding
+encoding ()
+
+
+
+
+int
+id ()
+Return the ID of the token assigned by the specification
+
+
+
+boolean
+isConstantEncoding ()
+
+
+boolean
+isOptionalEncoding ()
+
+
+java.lang.CharSequence
+matchOnLength (java.util.function.Supplier<java.lang.CharSequence> one,
+ java.util.function.Supplier<java.lang.CharSequence> many)
+Match which approach to take based on the length of the token.
+
+
+
+java.lang.String
+name ()
+Return the name of the token
+
+
+
+int
+offset ()
+The offset for this token in the message.
+
+
+
+java.lang.String
+referencedName ()
+Get the name of the type when this is from a reference.
+
+
+
+Signal
+signal ()
+Signal the role of this token.
+
+
+
+java.lang.String
+toString ()
+
+
+int
+version ()
+The version context for this token.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Token
+public Token(Signal signal,
+ java.lang.String name,
+ java.lang.String referencedName,
+ java.lang.String description,
+ int id,
+ int version,
+ int deprecated,
+ int encodedLength,
+ int offset,
+ int componentTokenCount,
+ Encoding encoding)
+Construct an
Token
by providing values for all fields.
+
+参数:
+signal
- for the token role.
+name
- of the token in the message.
+referencedName
- of the type when created from a ref in a composite.
+description
- of what the token is for.
+id
- as the identifier in the message declaration.
+version
- application within the template.
+deprecated
- as of this version.
+encodedLength
- of the component part.
+offset
- in the underlying message as octets.
+componentTokenCount
- number of tokens in this component.
+encoding
- of the primitive field.
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+matchOnLength
+public java.lang.CharSequence matchOnLength(java.util.function.Supplier<java.lang.CharSequence> one,
+ java.util.function.Supplier<java.lang.CharSequence> many)
+Match which approach to take based on the length of the token. If length is zero then an empty
+ String
is returned.
+
+参数:
+one
- to be used when length is one.
+many
- to be used when length is greater than one.
+返回:
+the CharSequence
representing the token depending on the length.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.html
new file mode 100644
index 0000000000..32ee67a57b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+ByteOrderCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<ByteOrderCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.html
new file mode 100644
index 0000000000..c6282f67a9
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.html
@@ -0,0 +1,1358 @@
+
+
+
+
+
+FrameCodecDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.DirectBuffer
+buffer ()
+
+
+int
+encodedLength ()
+
+
+int
+getNamespaceName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getNamespaceName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getPackageName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getPackageName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticVersion (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticVersion (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+irId ()
+
+
+static int
+irIdEncodingLength ()
+
+
+static int
+irIdEncodingOffset ()
+
+
+static int
+irIdId ()
+
+
+static int
+irIdMaxValue ()
+
+
+static java.lang.String
+irIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irIdMinValue ()
+
+
+static int
+irIdNullValue ()
+
+
+static int
+irIdSinceVersion ()
+
+
+int
+irVersion ()
+
+
+static int
+irVersionEncodingLength ()
+
+
+static int
+irVersionEncodingOffset ()
+
+
+static int
+irVersionId ()
+
+
+static int
+irVersionMaxValue ()
+
+
+static java.lang.String
+irVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irVersionMinValue ()
+
+
+static int
+irVersionNullValue ()
+
+
+static int
+irVersionSinceVersion ()
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+java.lang.String
+namespaceName ()
+
+
+static java.lang.String
+namespaceNameCharacterEncoding ()
+
+
+static int
+namespaceNameHeaderLength ()
+
+
+static int
+namespaceNameId ()
+
+
+int
+namespaceNameLength ()
+
+
+static java.lang.String
+namespaceNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+namespaceNameSinceVersion ()
+
+
+int
+offset ()
+
+
+java.lang.String
+packageName ()
+
+
+static java.lang.String
+packageNameCharacterEncoding ()
+
+
+static int
+packageNameHeaderLength ()
+
+
+static int
+packageNameId ()
+
+
+int
+packageNameLength ()
+
+
+static java.lang.String
+packageNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+packageNameSinceVersion ()
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+int
+schemaVersion ()
+
+
+static int
+schemaVersionEncodingLength ()
+
+
+static int
+schemaVersionEncodingOffset ()
+
+
+static int
+schemaVersionId ()
+
+
+static int
+schemaVersionMaxValue ()
+
+
+static java.lang.String
+schemaVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+schemaVersionMinValue ()
+
+
+static int
+schemaVersionNullValue ()
+
+
+static int
+schemaVersionSinceVersion ()
+
+
+java.lang.String
+semanticVersion ()
+
+
+static java.lang.String
+semanticVersionCharacterEncoding ()
+
+
+static int
+semanticVersionHeaderLength ()
+
+
+static int
+semanticVersionId ()
+
+
+int
+semanticVersionLength ()
+
+
+static java.lang.String
+semanticVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+semanticVersionSinceVersion ()
+
+
+java.lang.String
+toString ()
+
+
+FrameCodecDecoder
+wrap (org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingBlockLength,
+ int actingVersion)
+
+
+void
+wrapNamespaceName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapPackageName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapSemanticVersion (org.agrona.DirectBuffer wrapBuffer)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.html
new file mode 100644
index 0000000000..a3dc13512f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.html
@@ -0,0 +1,1228 @@
+
+
+
+
+
+FrameCodecEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.MutableDirectBuffer
+buffer ()
+
+
+int
+encodedLength ()
+
+
+FrameCodecEncoder
+irId (int value)
+
+
+static int
+irIdEncodingLength ()
+
+
+static int
+irIdEncodingOffset ()
+
+
+static int
+irIdId ()
+
+
+static int
+irIdMaxValue ()
+
+
+static java.lang.String
+irIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irIdMinValue ()
+
+
+static int
+irIdNullValue ()
+
+
+static int
+irIdSinceVersion ()
+
+
+FrameCodecEncoder
+irVersion (int value)
+
+
+static int
+irVersionEncodingLength ()
+
+
+static int
+irVersionEncodingOffset ()
+
+
+static int
+irVersionId ()
+
+
+static int
+irVersionMaxValue ()
+
+
+static java.lang.String
+irVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irVersionMinValue ()
+
+
+static int
+irVersionNullValue ()
+
+
+static int
+irVersionSinceVersion ()
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+FrameCodecEncoder
+namespaceName (java.lang.String value)
+
+
+static java.lang.String
+namespaceNameCharacterEncoding ()
+
+
+static int
+namespaceNameHeaderLength ()
+
+
+static int
+namespaceNameId ()
+
+
+static java.lang.String
+namespaceNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+offset ()
+
+
+FrameCodecEncoder
+packageName (java.lang.String value)
+
+
+static java.lang.String
+packageNameCharacterEncoding ()
+
+
+static int
+packageNameHeaderLength ()
+
+
+static int
+packageNameId ()
+
+
+static java.lang.String
+packageNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+FrameCodecEncoder
+putNamespaceName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putNamespaceName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putPackageName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putPackageName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putSemanticVersion (byte[] src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putSemanticVersion (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+FrameCodecEncoder
+schemaVersion (int value)
+
+
+static int
+schemaVersionEncodingLength ()
+
+
+static int
+schemaVersionEncodingOffset ()
+
+
+static int
+schemaVersionId ()
+
+
+static int
+schemaVersionMaxValue ()
+
+
+static java.lang.String
+schemaVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+schemaVersionMinValue ()
+
+
+static int
+schemaVersionNullValue ()
+
+
+static int
+schemaVersionSinceVersion ()
+
+
+FrameCodecEncoder
+semanticVersion (java.lang.String value)
+
+
+static java.lang.String
+semanticVersionCharacterEncoding ()
+
+
+static int
+semanticVersionHeaderLength ()
+
+
+static int
+semanticVersionId ()
+
+
+static java.lang.String
+semanticVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+java.lang.String
+toString ()
+
+
+FrameCodecEncoder
+wrap (org.agrona.MutableDirectBuffer buffer,
+ int offset)
+
+
+FrameCodecEncoder
+wrapAndApplyHeader (org.agrona.MutableDirectBuffer buffer,
+ int offset,
+ MessageHeaderEncoder headerEncoder)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.html
new file mode 100644
index 0000000000..328c427368
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.html
@@ -0,0 +1,819 @@
+
+
+
+
+
+MessageHeaderDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.html
new file mode 100644
index 0000000000..0cae20b361
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.html
@@ -0,0 +1,767 @@
+
+
+
+
+
+MessageHeaderEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MetaAttribute.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MetaAttribute.html
new file mode 100644
index 0000000000..5c514d7c76
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MetaAttribute.html
@@ -0,0 +1,364 @@
+
+
+
+
+
+MetaAttribute (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<MetaAttribute >
+
+
+uk.co.real_logic.sbe.ir.generated.MetaAttribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PresenceCodec.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PresenceCodec.html
new file mode 100644
index 0000000000..85cc885bbb
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PresenceCodec.html
@@ -0,0 +1,393 @@
+
+
+
+
+
+PresenceCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<PresenceCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.html
new file mode 100644
index 0000000000..55d62b10b9
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.html
@@ -0,0 +1,501 @@
+
+
+
+
+
+PrimitiveTypeCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<PrimitiveTypeCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/SignalCodec.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/SignalCodec.html
new file mode 100644
index 0000000000..d6e6e2e414
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/SignalCodec.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+SignalCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<SignalCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.html
new file mode 100644
index 0000000000..221264420f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.html
@@ -0,0 +1,3125 @@
+
+
+
+
+
+TokenCodecDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.DirectBuffer
+buffer ()
+
+
+ByteOrderCodec
+byteOrder ()
+
+
+static int
+byteOrderEncodingLength ()
+
+
+static int
+byteOrderEncodingOffset ()
+
+
+static int
+byteOrderId ()
+
+
+static java.lang.String
+byteOrderMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+byteOrderSinceVersion ()
+
+
+java.lang.String
+characterEncoding ()
+
+
+static java.lang.String
+characterEncodingCharacterEncoding ()
+
+
+static int
+characterEncodingHeaderLength ()
+
+
+static int
+characterEncodingId ()
+
+
+int
+characterEncodingLength ()
+
+
+static java.lang.String
+characterEncodingMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+characterEncodingSinceVersion ()
+
+
+int
+componentTokenCount ()
+
+
+static int
+componentTokenCountEncodingLength ()
+
+
+static int
+componentTokenCountEncodingOffset ()
+
+
+static int
+componentTokenCountId ()
+
+
+static int
+componentTokenCountMaxValue ()
+
+
+static java.lang.String
+componentTokenCountMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+componentTokenCountMinValue ()
+
+
+static int
+componentTokenCountNullValue ()
+
+
+static int
+componentTokenCountSinceVersion ()
+
+
+java.lang.String
+constValue ()
+
+
+static java.lang.String
+constValueCharacterEncoding ()
+
+
+static int
+constValueHeaderLength ()
+
+
+static int
+constValueId ()
+
+
+int
+constValueLength ()
+
+
+static java.lang.String
+constValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+constValueSinceVersion ()
+
+
+int
+deprecated ()
+
+
+static int
+deprecatedEncodingLength ()
+
+
+static int
+deprecatedEncodingOffset ()
+
+
+static int
+deprecatedId ()
+
+
+static int
+deprecatedMaxValue ()
+
+
+static java.lang.String
+deprecatedMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+deprecatedMinValue ()
+
+
+static int
+deprecatedNullValue ()
+
+
+static int
+deprecatedSinceVersion ()
+
+
+java.lang.String
+description ()
+
+
+static java.lang.String
+descriptionCharacterEncoding ()
+
+
+static int
+descriptionHeaderLength ()
+
+
+static int
+descriptionId ()
+
+
+int
+descriptionLength ()
+
+
+static java.lang.String
+descriptionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+descriptionSinceVersion ()
+
+
+int
+encodedLength ()
+
+
+java.lang.String
+epoch ()
+
+
+static java.lang.String
+epochCharacterEncoding ()
+
+
+static int
+epochHeaderLength ()
+
+
+static int
+epochId ()
+
+
+int
+epochLength ()
+
+
+static java.lang.String
+epochMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+epochSinceVersion ()
+
+
+int
+fieldId ()
+
+
+static int
+fieldIdEncodingLength ()
+
+
+static int
+fieldIdEncodingOffset ()
+
+
+static int
+fieldIdId ()
+
+
+static int
+fieldIdMaxValue ()
+
+
+static java.lang.String
+fieldIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+fieldIdMinValue ()
+
+
+static int
+fieldIdNullValue ()
+
+
+static int
+fieldIdSinceVersion ()
+
+
+int
+getCharacterEncoding (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getCharacterEncoding (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getConstValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getConstValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getDescription (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getDescription (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getEpoch (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getEpoch (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMaxValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMaxValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMinValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMinValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getNullValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getNullValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getReferencedName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getReferencedName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticType (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticType (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getTimeUnit (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getTimeUnit (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+java.lang.String
+maxValue ()
+
+
+static java.lang.String
+maxValueCharacterEncoding ()
+
+
+static int
+maxValueHeaderLength ()
+
+
+static int
+maxValueId ()
+
+
+int
+maxValueLength ()
+
+
+static java.lang.String
+maxValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+maxValueSinceVersion ()
+
+
+java.lang.String
+minValue ()
+
+
+static java.lang.String
+minValueCharacterEncoding ()
+
+
+static int
+minValueHeaderLength ()
+
+
+static int
+minValueId ()
+
+
+int
+minValueLength ()
+
+
+static java.lang.String
+minValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+minValueSinceVersion ()
+
+
+java.lang.String
+name ()
+
+
+static java.lang.String
+nameCharacterEncoding ()
+
+
+static int
+nameHeaderLength ()
+
+
+static int
+nameId ()
+
+
+int
+nameLength ()
+
+
+static java.lang.String
+nameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+nameSinceVersion ()
+
+
+java.lang.String
+nullValue ()
+
+
+static java.lang.String
+nullValueCharacterEncoding ()
+
+
+static int
+nullValueHeaderLength ()
+
+
+static int
+nullValueId ()
+
+
+int
+nullValueLength ()
+
+
+static java.lang.String
+nullValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+nullValueSinceVersion ()
+
+
+int
+offset ()
+
+
+PresenceCodec
+presence ()
+
+
+static int
+presenceEncodingLength ()
+
+
+static int
+presenceEncodingOffset ()
+
+
+static int
+presenceId ()
+
+
+static java.lang.String
+presenceMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+presenceSinceVersion ()
+
+
+PrimitiveTypeCodec
+primitiveType ()
+
+
+static int
+primitiveTypeEncodingLength ()
+
+
+static int
+primitiveTypeEncodingOffset ()
+
+
+static int
+primitiveTypeId ()
+
+
+static java.lang.String
+primitiveTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+primitiveTypeSinceVersion ()
+
+
+java.lang.String
+referencedName ()
+
+
+static java.lang.String
+referencedNameCharacterEncoding ()
+
+
+static int
+referencedNameHeaderLength ()
+
+
+static int
+referencedNameId ()
+
+
+int
+referencedNameLength ()
+
+
+static java.lang.String
+referencedNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+referencedNameSinceVersion ()
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+java.lang.String
+semanticType ()
+
+
+static java.lang.String
+semanticTypeCharacterEncoding ()
+
+
+static int
+semanticTypeHeaderLength ()
+
+
+static int
+semanticTypeId ()
+
+
+int
+semanticTypeLength ()
+
+
+static java.lang.String
+semanticTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+semanticTypeSinceVersion ()
+
+
+SignalCodec
+signal ()
+
+
+static int
+signalEncodingLength ()
+
+
+static int
+signalEncodingOffset ()
+
+
+static int
+signalId ()
+
+
+static java.lang.String
+signalMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+signalSinceVersion ()
+
+
+java.lang.String
+timeUnit ()
+
+
+static java.lang.String
+timeUnitCharacterEncoding ()
+
+
+static int
+timeUnitHeaderLength ()
+
+
+static int
+timeUnitId ()
+
+
+int
+timeUnitLength ()
+
+
+static java.lang.String
+timeUnitMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+timeUnitSinceVersion ()
+
+
+int
+tokenOffset ()
+
+
+static int
+tokenOffsetEncodingLength ()
+
+
+static int
+tokenOffsetEncodingOffset ()
+
+
+static int
+tokenOffsetId ()
+
+
+static int
+tokenOffsetMaxValue ()
+
+
+static java.lang.String
+tokenOffsetMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenOffsetMinValue ()
+
+
+static int
+tokenOffsetNullValue ()
+
+
+static int
+tokenOffsetSinceVersion ()
+
+
+int
+tokenSize ()
+
+
+static int
+tokenSizeEncodingLength ()
+
+
+static int
+tokenSizeEncodingOffset ()
+
+
+static int
+tokenSizeId ()
+
+
+static int
+tokenSizeMaxValue ()
+
+
+static java.lang.String
+tokenSizeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenSizeMinValue ()
+
+
+static int
+tokenSizeNullValue ()
+
+
+static int
+tokenSizeSinceVersion ()
+
+
+int
+tokenVersion ()
+
+
+static int
+tokenVersionEncodingLength ()
+
+
+static int
+tokenVersionEncodingOffset ()
+
+
+static int
+tokenVersionId ()
+
+
+static int
+tokenVersionMaxValue ()
+
+
+static java.lang.String
+tokenVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenVersionMinValue ()
+
+
+static int
+tokenVersionNullValue ()
+
+
+static int
+tokenVersionSinceVersion ()
+
+
+java.lang.String
+toString ()
+
+
+TokenCodecDecoder
+wrap (org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingBlockLength,
+ int actingVersion)
+
+
+void
+wrapCharacterEncoding (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapConstValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapDescription (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapEpoch (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapMaxValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapMinValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapNullValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapReferencedName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapSemanticType (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapTimeUnit (org.agrona.DirectBuffer wrapBuffer)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.html
new file mode 100644
index 0000000000..30525b16fc
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.html
@@ -0,0 +1,2683 @@
+
+
+
+
+
+TokenCodecEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.MutableDirectBuffer
+buffer ()
+
+
+TokenCodecEncoder
+byteOrder (ByteOrderCodec value)
+
+
+static int
+byteOrderEncodingLength ()
+
+
+static int
+byteOrderEncodingOffset ()
+
+
+static int
+byteOrderId ()
+
+
+static java.lang.String
+byteOrderMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+byteOrderSinceVersion ()
+
+
+TokenCodecEncoder
+characterEncoding (java.lang.String value)
+
+
+static java.lang.String
+characterEncodingCharacterEncoding ()
+
+
+static int
+characterEncodingHeaderLength ()
+
+
+static int
+characterEncodingId ()
+
+
+static java.lang.String
+characterEncodingMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+componentTokenCount (int value)
+
+
+static int
+componentTokenCountEncodingLength ()
+
+
+static int
+componentTokenCountEncodingOffset ()
+
+
+static int
+componentTokenCountId ()
+
+
+static int
+componentTokenCountMaxValue ()
+
+
+static java.lang.String
+componentTokenCountMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+componentTokenCountMinValue ()
+
+
+static int
+componentTokenCountNullValue ()
+
+
+static int
+componentTokenCountSinceVersion ()
+
+
+TokenCodecEncoder
+constValue (java.lang.String value)
+
+
+static java.lang.String
+constValueCharacterEncoding ()
+
+
+static int
+constValueHeaderLength ()
+
+
+static int
+constValueId ()
+
+
+static java.lang.String
+constValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+deprecated (int value)
+
+
+static int
+deprecatedEncodingLength ()
+
+
+static int
+deprecatedEncodingOffset ()
+
+
+static int
+deprecatedId ()
+
+
+static int
+deprecatedMaxValue ()
+
+
+static java.lang.String
+deprecatedMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+deprecatedMinValue ()
+
+
+static int
+deprecatedNullValue ()
+
+
+static int
+deprecatedSinceVersion ()
+
+
+TokenCodecEncoder
+description (java.lang.String value)
+
+
+static java.lang.String
+descriptionCharacterEncoding ()
+
+
+static int
+descriptionHeaderLength ()
+
+
+static int
+descriptionId ()
+
+
+static java.lang.String
+descriptionMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+encodedLength ()
+
+
+TokenCodecEncoder
+epoch (java.lang.String value)
+
+
+static java.lang.String
+epochCharacterEncoding ()
+
+
+static int
+epochHeaderLength ()
+
+
+static int
+epochId ()
+
+
+static java.lang.String
+epochMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+fieldId (int value)
+
+
+static int
+fieldIdEncodingLength ()
+
+
+static int
+fieldIdEncodingOffset ()
+
+
+static int
+fieldIdId ()
+
+
+static int
+fieldIdMaxValue ()
+
+
+static java.lang.String
+fieldIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+fieldIdMinValue ()
+
+
+static int
+fieldIdNullValue ()
+
+
+static int
+fieldIdSinceVersion ()
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+TokenCodecEncoder
+maxValue (java.lang.String value)
+
+
+static java.lang.String
+maxValueCharacterEncoding ()
+
+
+static int
+maxValueHeaderLength ()
+
+
+static int
+maxValueId ()
+
+
+static java.lang.String
+maxValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+minValue (java.lang.String value)
+
+
+static java.lang.String
+minValueCharacterEncoding ()
+
+
+static int
+minValueHeaderLength ()
+
+
+static int
+minValueId ()
+
+
+static java.lang.String
+minValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+name (java.lang.String value)
+
+
+static java.lang.String
+nameCharacterEncoding ()
+
+
+static int
+nameHeaderLength ()
+
+
+static int
+nameId ()
+
+
+static java.lang.String
+nameMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+nullValue (java.lang.String value)
+
+
+static java.lang.String
+nullValueCharacterEncoding ()
+
+
+static int
+nullValueHeaderLength ()
+
+
+static int
+nullValueId ()
+
+
+static java.lang.String
+nullValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+offset ()
+
+
+TokenCodecEncoder
+presence (PresenceCodec value)
+
+
+static int
+presenceEncodingLength ()
+
+
+static int
+presenceEncodingOffset ()
+
+
+static int
+presenceId ()
+
+
+static java.lang.String
+presenceMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+presenceSinceVersion ()
+
+
+TokenCodecEncoder
+primitiveType (PrimitiveTypeCodec value)
+
+
+static int
+primitiveTypeEncodingLength ()
+
+
+static int
+primitiveTypeEncodingOffset ()
+
+
+static int
+primitiveTypeId ()
+
+
+static java.lang.String
+primitiveTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+primitiveTypeSinceVersion ()
+
+
+TokenCodecEncoder
+putCharacterEncoding (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putCharacterEncoding (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putConstValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putConstValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putDescription (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putDescription (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putEpoch (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putEpoch (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMaxValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMaxValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMinValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMinValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putNullValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putNullValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putReferencedName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putReferencedName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putSemanticType (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putSemanticType (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putTimeUnit (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putTimeUnit (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+referencedName (java.lang.String value)
+
+
+static java.lang.String
+referencedNameCharacterEncoding ()
+
+
+static int
+referencedNameHeaderLength ()
+
+
+static int
+referencedNameId ()
+
+
+static java.lang.String
+referencedNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+TokenCodecEncoder
+semanticType (java.lang.String value)
+
+
+static java.lang.String
+semanticTypeCharacterEncoding ()
+
+
+static int
+semanticTypeHeaderLength ()
+
+
+static int
+semanticTypeId ()
+
+
+static java.lang.String
+semanticTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+signal (SignalCodec value)
+
+
+static int
+signalEncodingLength ()
+
+
+static int
+signalEncodingOffset ()
+
+
+static int
+signalId ()
+
+
+static java.lang.String
+signalMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+signalSinceVersion ()
+
+
+TokenCodecEncoder
+timeUnit (java.lang.String value)
+
+
+static java.lang.String
+timeUnitCharacterEncoding ()
+
+
+static int
+timeUnitHeaderLength ()
+
+
+static int
+timeUnitId ()
+
+
+static java.lang.String
+timeUnitMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+tokenOffset (int value)
+
+
+static int
+tokenOffsetEncodingLength ()
+
+
+static int
+tokenOffsetEncodingOffset ()
+
+
+static int
+tokenOffsetId ()
+
+
+static int
+tokenOffsetMaxValue ()
+
+
+static java.lang.String
+tokenOffsetMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenOffsetMinValue ()
+
+
+static int
+tokenOffsetNullValue ()
+
+
+static int
+tokenOffsetSinceVersion ()
+
+
+TokenCodecEncoder
+tokenSize (int value)
+
+
+static int
+tokenSizeEncodingLength ()
+
+
+static int
+tokenSizeEncodingOffset ()
+
+
+static int
+tokenSizeId ()
+
+
+static int
+tokenSizeMaxValue ()
+
+
+static java.lang.String
+tokenSizeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenSizeMinValue ()
+
+
+static int
+tokenSizeNullValue ()
+
+
+static int
+tokenSizeSinceVersion ()
+
+
+TokenCodecEncoder
+tokenVersion (int value)
+
+
+static int
+tokenVersionEncodingLength ()
+
+
+static int
+tokenVersionEncodingOffset ()
+
+
+static int
+tokenVersionId ()
+
+
+static int
+tokenVersionMaxValue ()
+
+
+static java.lang.String
+tokenVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenVersionMinValue ()
+
+
+static int
+tokenVersionNullValue ()
+
+
+static int
+tokenVersionSinceVersion ()
+
+
+java.lang.String
+toString ()
+
+
+TokenCodecEncoder
+wrap (org.agrona.MutableDirectBuffer buffer,
+ int offset)
+
+
+TokenCodecEncoder
+wrapAndApplyHeader (org.agrona.MutableDirectBuffer buffer,
+ int offset,
+ MessageHeaderEncoder headerEncoder)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.html
new file mode 100644
index 0000000000..e2bc06274c
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.html
@@ -0,0 +1,623 @@
+
+
+
+
+
+VarDataEncodingDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.html
new file mode 100644
index 0000000000..04a2a27b9c
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.html
@@ -0,0 +1,597 @@
+
+
+
+
+
+VarDataEncodingEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-frame.html
new file mode 100644
index 0000000000..e86185e4cb
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-frame.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir.generated (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-summary.html
new file mode 100644
index 0000000000..66e549f627
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-summary.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir.generated (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-tree.html
new file mode 100644
index 0000000000..1b38ad997d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-tree.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir.generated 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-frame.html
new file mode 100644
index 0000000000..df1621148b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-frame.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-summary.html
new file mode 100644
index 0000000000..36f4dcf74d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-summary.html
@@ -0,0 +1,217 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+Encoding
+
+Optional encoding settings that can be associated with
Token
s.
+
+
+
+Encoding.Builder
+
+Builder to make
Encoding
easier to create.
+
+
+
+GenerationUtil
+
+Common code generation utility functions to be used by the different language specific backends.
+
+
+
+HeaderStructure
+
+Metadata description for a message headerStructure
+
+
+
+Ir
+
+Intermediate representation of SBE messages to be used for the generation of encoders and decoders
+ as stubs in various languages.
+
+
+
+IrDecoder
+
+
+
+IrEncoder
+
+
+
+IrUtil
+
+
+
+MessageComponents
+
+
+
+Token
+
+Class to encapsulate a token of information for the message schema stream.
+
+
+
+Token.Builder
+
+
+
+
+
+
+
+枚举概要
+
+枚举
+说明
+
+
+
+Encoding.Presence
+
+Indicates the presence status of a primitive encoded field in a message.
+
+
+
+Signal
+
+Signal the
Token
role within a stream of tokens.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-tree.html
new file mode 100644
index 0000000000..8b6e6c0bd3
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-tree.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonPrinter.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonPrinter.html
new file mode 100644
index 0000000000..57e4537396
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonPrinter.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+JsonPrinter (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.json.JsonPrinter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.String
+print (java.nio.ByteBuffer encodedMessage)
+
+
+void
+print (java.nio.ByteBuffer encodedMessage,
+ java.lang.StringBuilder output)
+
+
+void
+print (java.lang.StringBuilder output,
+ org.agrona.concurrent.UnsafeBuffer buffer,
+ int bufferOffset)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonTokenListener.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonTokenListener.html
new file mode 100644
index 0000000000..7d349b426b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonTokenListener.html
@@ -0,0 +1,610 @@
+
+
+
+
+
+JsonTokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.json.JsonTokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+
+
+void
+onBeginGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+
+
+void
+onBeginMessage (Token token)
+Called on beginning the decoding of a message.
+
+
+
+void
+onBitSet (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+
+
+void
+onEncoding (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered.
+
+
+
+void
+onEndComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+
+
+void
+onEndGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+
+
+void
+onEndMessage (Token token)
+Called on end of decoding of a message.
+
+
+
+void
+onEnum (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+
+
+void
+onGroupHeader (Token token,
+ int numInGroup)
+Group encountered.
+
+
+
+void
+onVarData (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+public void onEncoding(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+
+Primitive encoded type encountered. This can be a root block field or field within a composite or group.
+
+ Within a composite the typeToken and fieldToken are the same.
+
+指定者:
+onEncoding
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+typeToken
- of the encoded primitive value.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onEnum
+public void onEnum(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+Enum encoded type encountered.
+
+指定者:
+onEnum
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the enum metadata begins.
+toIndex
- at which the enum metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBitSet
+public void onBitSet(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+BitSet encoded type encountered.
+
+指定者:
+onBitSet
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the bit set metadata begins.
+toIndex
- at which the bit set metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBeginComposite
+public void onBeginComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+Beginning of Composite encoded type encountered.
+
+指定者:
+onBeginComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+onEndComposite
+public void onEndComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+End of Composite encoded type encountered.
+
+指定者:
+onEndComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+
+
+
+
+onBeginGroup
+public void onBeginGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+Beginning of group encoded type encountered.
+
+指定者:
+onBeginGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onEndGroup
+public void onEndGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+End of group encoded type encountered.
+
+指定者:
+onEndGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onVarData
+public void onVarData(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+
+Var data field encountered.
+
+指定者:
+onVarData
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the var data field.
+buffer
- containing the encoded message.
+bufferIndex
- at which the variable data begins.
+length
- of the variable data in bytes.
+typeToken
- of the variable data. Needed to determine character encoding of the variable data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-frame.html
new file mode 100644
index 0000000000..2d803c97c7
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-frame.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+uk.co.real_logic.sbe.json (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-summary.html
new file mode 100644
index 0000000000..70feeb773b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-summary.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+uk.co.real_logic.sbe.json (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-tree.html
new file mode 100644
index 0000000000..e9d0f22eeb
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/json/package-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+uk.co.real_logic.sbe.json 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/AbstractTokenListener.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/AbstractTokenListener.html
new file mode 100644
index 0000000000..8171e7a360
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/AbstractTokenListener.html
@@ -0,0 +1,614 @@
+
+
+
+
+
+AbstractTokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+
+
+void
+onBeginGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+
+
+void
+onBeginMessage (Token token)
+Called on beginning the decoding of a message.
+
+
+
+void
+onBitSet (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+
+
+void
+onEncoding (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered.
+
+
+
+void
+onEndComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+
+
+void
+onEndGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+
+
+void
+onEndMessage (Token token)
+Called on end of decoding of a message.
+
+
+
+void
+onEnum (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+
+
+void
+onGroupHeader (Token token,
+ int numInGroup)
+Group encountered.
+
+
+
+void
+onVarData (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+public void onEncoding(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+
+Primitive encoded type encountered. This can be a root block field or field within a composite or group.
+
+ Within a composite the typeToken and fieldToken are the same.
+
+指定者:
+onEncoding
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+typeToken
- of the encoded primitive value.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onEnum
+public void onEnum(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+Enum encoded type encountered.
+
+指定者:
+onEnum
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the enum metadata begins.
+toIndex
- at which the enum metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBitSet
+public void onBitSet(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+BitSet encoded type encountered.
+
+指定者:
+onBitSet
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the bit set metadata begins.
+toIndex
- at which the bit set metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBeginComposite
+public void onBeginComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+Beginning of Composite encoded type encountered.
+
+指定者:
+onBeginComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+onEndComposite
+public void onEndComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+End of Composite encoded type encountered.
+
+指定者:
+onEndComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+
+
+
+
+onBeginGroup
+public void onBeginGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+Beginning of group encoded type encountered.
+
+指定者:
+onBeginGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onEndGroup
+public void onEndGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+End of group encoded type encountered.
+
+指定者:
+onEndGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onVarData
+public void onVarData(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+
+Var data field encountered.
+
+指定者:
+onVarData
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the var data field.
+buffer
- containing the encoded message.
+bufferIndex
- at which the variable data begins.
+length
- of the variable data in bytes.
+typeToken
- of the variable data. Needed to determine character encoding of the variable data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.html
new file mode 100644
index 0000000000..d6f3b056f2
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+OtfHeaderDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+OtfHeaderDecoder (HeaderStructure headerStructure)
+Read the message header structure and cache the meta data for finding the key fields for decoding messages.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+int
+encodedLength ()
+The encodedLength of the message header in bytes.
+
+
+
+int
+getBlockLength (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the block length of the root block in the message.
+
+
+
+int
+getSchemaId (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema id number from the message header.
+
+
+
+int
+getSchemaVersion (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema version number from the message header.
+
+
+
+int
+getTemplateId (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the template id from the message header.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+getTemplateId
+public int getTemplateId(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the template id from the message header.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the value of the template id.
+
+
+
+
+
+
+
+
+getSchemaId
+public int getSchemaId(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema id number from the message header.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the value of the schema id number.
+
+
+
+
+
+
+
+
+getSchemaVersion
+public int getSchemaVersion(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema version number from the message header.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the value of the schema version number.
+
+
+
+
+
+
+
+
+getBlockLength
+public int getBlockLength(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the block length of the root block in the message.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the length of the root block in the coming message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfMessageDecoder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfMessageDecoder.html
new file mode 100644
index 0000000000..ef04491ad5
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfMessageDecoder.html
@@ -0,0 +1,302 @@
+
+
+
+
+
+OtfMessageDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.OtfMessageDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static int
+decode (org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingVersion,
+ int blockLength,
+ java.util.List<Token > msgTokens,
+ TokenListener listener)
+Decode a message from the provided buffer based on the message schema described with IR
Token
s.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+decode
+public static int decode(org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingVersion,
+ int blockLength,
+ java.util.List<Token > msgTokens,
+ TokenListener listener)
+Decode a message from the provided buffer based on the message schema described with IR
Token
s.
+
+参数:
+buffer
- containing the encoded message.
+offset
- at which the message encoding starts in the buffer.
+actingVersion
- of the encoded message for dealing with extension fields.
+blockLength
- of the root message fields.
+msgTokens
- in IR format describing the message structure.
+listener
- to callback for decoding the primitive values as discovered in the structure.
+返回:
+the index in the underlying buffer after decoding.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/TokenListener.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/TokenListener.html
new file mode 100644
index 0000000000..f451a7a87c
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/TokenListener.html
@@ -0,0 +1,530 @@
+
+
+
+
+
+TokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 抽象方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+
+
+void
+onBeginGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+
+
+void
+onBeginMessage (Token token)
+Called on beginning the decoding of a message.
+
+
+
+void
+onBitSet (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+
+
+void
+onEncoding (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered.
+
+
+
+void
+onEndComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+
+
+void
+onEndGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+
+
+void
+onEndMessage (Token token)
+Called on end of decoding of a message.
+
+
+
+void
+onEnum (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+
+
+void
+onGroupHeader (Token token,
+ int numInGroup)
+Group encountered.
+
+
+
+void
+onVarData (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+void onEncoding(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered. This can be a root block field or field within a composite or group.
+
+ Within a composite the typeToken and fieldToken are the same.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+typeToken
- of the encoded primitive value.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onEnum
+void onEnum(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the enum metadata begins.
+toIndex
- at which the enum metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBitSet
+void onBitSet(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the bit set metadata begins.
+toIndex
- at which the bit set metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBeginComposite
+void onBeginComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+onEndComposite
+void onEndComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+
+
+
+
+onBeginGroup
+void onBeginGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onEndGroup
+void onEndGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onVarData
+void onVarData(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+参数:
+fieldToken
- in the IR representing the var data field.
+buffer
- containing the encoded message.
+bufferIndex
- at which the variable data begins.
+length
- of the variable data in bytes.
+typeToken
- of the variable data. Needed to determine character encoding of the variable data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/Types.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/Types.html
new file mode 100644
index 0000000000..d7544571c3
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/Types.html
@@ -0,0 +1,346 @@
+
+
+
+
+
+Types (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.Types
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Types ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+appendAsString (java.lang.StringBuilder sb,
+ org.agrona.DirectBuffer buffer,
+ int index,
+ Encoding encoding)
+Append an encoding as a String to a StringBuilder
.
+
+
+
+static int
+getInt (org.agrona.DirectBuffer buffer,
+ int index,
+ PrimitiveType type,
+ java.nio.ByteOrder byteOrder)
+Get an integer value from a buffer at a given index for a
PrimitiveType
.
+
+
+
+static long
+getLong (org.agrona.DirectBuffer buffer,
+ int index,
+ Encoding encoding)
+Get a long value from a buffer at a given index for a given
Encoding
.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Types
+public Types()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+getInt
+public static int getInt(org.agrona.DirectBuffer buffer,
+ int index,
+ PrimitiveType type,
+ java.nio.ByteOrder byteOrder)
+Get an integer value from a buffer at a given index for a
PrimitiveType
.
+
+参数:
+buffer
- from which to read.
+index
- at which he integer should be read.
+type
- of the integer encoded in the buffer.
+byteOrder
- of the integer in the buffer.
+返回:
+the value of the encoded integer.
+
+
+
+
+
+
+
+
+
+
+
+
+appendAsString
+public static void appendAsString(java.lang.StringBuilder sb,
+ org.agrona.DirectBuffer buffer,
+ int index,
+ Encoding encoding)
+Append an encoding as a String to a StringBuilder
.
+
+参数:
+sb
- to append the encoding to.
+buffer
- containing the encoded value.
+index
- at which the encoded value exists.
+encoding
- representing the encoded value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-frame.html
new file mode 100644
index 0000000000..e490cd05e0
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-frame.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+uk.co.real_logic.sbe.otf (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-summary.html
new file mode 100644
index 0000000000..457700919d
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-summary.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+uk.co.real_logic.sbe.otf (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+接口概要
+
+接口
+说明
+
+
+
+TokenListener
+
+Callback interface to be implemented by code wanting to decode messages on-the-fly.
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+AbstractTokenListener
+
+Abstract
TokenListener
that can be extended when not all callback methods are required.
+
+
+
+OtfHeaderDecoder
+
+Used to decode a message header while doing on-the-fly decoding of a message stream.
+
+
+
+OtfMessageDecoder
+
+On-the-fly decoder that dynamically decodes messages based on the IR for a schema.
+
+
+
+Types
+
+Utility functions for applying to types to help with on-the-fly (OTF) decoding.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-tree.html
new file mode 100644
index 0000000000..f387b8b636
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-tree.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+uk.co.real_logic.sbe.otf 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html
new file mode 100644
index 0000000000..08bf015fff
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+uk.co.real_logic.sbe (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html
new file mode 100644
index 0000000000..ce903fddb9
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+uk.co.real_logic.sbe (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+PrimitiveValue
+
+Class used to encapsulate values for primitives.
+
+
+
+SbeTool
+
+A tool for running the SBE parser, validator, and code generator.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html
new file mode 100644
index 0000000000..e8b9661107
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+uk.co.real_logic.sbe 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/ValidationUtil.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/ValidationUtil.html
new file mode 100644
index 0000000000..2ddefd5b6b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/ValidationUtil.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+ValidationUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.util.ValidationUtil
+
+
+
+
+
+
+
+
+public class ValidationUtil
+extends java.lang.Object
+Various validation utilities used across parser, IR, and generator
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static boolean
+isCppKeyword (java.lang.String token)
+
+
+static boolean
+isCSharpKeyword (java.lang.String token)
+
+
+static boolean
+isGolangKeyword (java.lang.String token)
+
+
+static boolean
+isJavaKeyword (java.lang.String token)
+Is this token a Java keyword?
+
+
+
+static boolean
+isSbeCppName (java.lang.String value)
+Check value for validity of usage as a C++ identifier.
+
+
+
+static boolean
+isSbeCSharpName (java.lang.String value)
+"Check" value for validity of usage as a csharp identifier.
+
+
+
+static boolean
+isSbeGolangName (java.lang.String value)
+"Check" value for validity of usage as a golang identifier.
+
+
+
+static boolean
+isSbeJavaName (java.lang.String value)
+Check string for validity of usage as a Java identifier.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+ValidationUtil
+public ValidationUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-frame.html
new file mode 100644
index 0000000000..0b1b6534c3
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-frame.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+uk.co.real_logic.sbe.util (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-summary.html
new file mode 100644
index 0000000000..b23224f60f
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-summary.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+uk.co.real_logic.sbe.util (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+ValidationUtil
+
+Various validation utilities used across parser, IR, and generator
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-tree.html
new file mode 100644
index 0000000000..2236614138
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/util/package-tree.html
@@ -0,0 +1,136 @@
+
+
+
+
+
+uk.co.real_logic.sbe.util 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/CompositeType.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/CompositeType.html
new file mode 100644
index 0000000000..c58b5f3009
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/CompositeType.html
@@ -0,0 +1,562 @@
+
+
+
+
+
+CompositeType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CompositeType (org.w3c.dom.Node node)
+
+
+CompositeType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName,
+ java.util.List<java.lang.String> compositesPath)
+Construct a new compositeType from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+checkForValidOffsets (org.w3c.dom.Node node)
+Check the composite for any specified offsets and validate they are correctly specified.
+
+
+
+void
+checkForWellFormedGroupSizeEncoding (org.w3c.dom.Node node)
+Check the composite for being a well formed group encodedLength encoding.
+
+
+
+void
+checkForWellFormedMessageHeader (org.w3c.dom.Node node)
+Check the composite for being a well formed message headerStructure encoding.
+
+
+
+void
+checkForWellFormedVariableLengthDataEncoding (org.w3c.dom.Node node)
+Check the composite for being a well formed variable length data encoding.
+
+
+
+int
+encodedLength ()
+The encodedLength (in octets) of the list of EncodedDataTypes
+
+
+
+Type
+getType (java.lang.String name)
+Return the EncodedDataType within this composite with the given name
+
+
+
+java.util.List<Type >
+getTypeList ()
+Return list of the
Type
s that compose this composite
+
+
+
+boolean
+isVariableLength ()
+
+
+void
+makeDataFieldCompositeType ()
+Make this composite type, if it has a varData member, variable length
+ by making the EncodedDataType with the name "varData" be variable length.
+
+
+
+java.lang.String
+toString ()
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+CompositeType
+public CompositeType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName,
+ java.util.List<java.lang.String> compositesPath)
+ throws javax.xml.xpath.XPathExpressionException
+Construct a new compositeType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for this node.
+referencedName
- of the type when created from a ref in a composite.
+compositesPath
- with the path of composites that represents the levels of composition.
+抛出:
+javax.xml.xpath.XPathExpressionException
- if the XPath is invalid.
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+makeDataFieldCompositeType
+public void makeDataFieldCompositeType()
+Make this composite type, if it has a varData member, variable length
+ by making the EncodedDataType with the name "varData" be variable length.
+
+
+
+
+
+
+
+checkForWellFormedGroupSizeEncoding
+public void checkForWellFormedGroupSizeEncoding(org.w3c.dom.Node node)
+Check the composite for being a well formed group encodedLength encoding. This means
+ that there are the fields "blockLength" and "numInGroup" present.
+
+参数:
+node
- of the XML for this composite
+
+
+
+
+
+
+
+
+checkForWellFormedVariableLengthDataEncoding
+public void checkForWellFormedVariableLengthDataEncoding(org.w3c.dom.Node node)
+Check the composite for being a well formed variable length data encoding. This means
+ that there are the fields "length" and "varData" present.
+
+参数:
+node
- of the XML for this composite
+
+
+
+
+
+
+
+
+checkForWellFormedMessageHeader
+public void checkForWellFormedMessageHeader(org.w3c.dom.Node node)
+Check the composite for being a well formed message headerStructure encoding. This means
+ that there are the fields "blockLength", "templateId" and "version" present.
+
+参数:
+node
- of the XML for this composite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EncodedDataType.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EncodedDataType.html
new file mode 100644
index 0000000000..1cc6e1eeca
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EncodedDataType.html
@@ -0,0 +1,616 @@
+
+
+
+
+
+EncodedDataType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+EncodedDataType (org.w3c.dom.Node node)
+Construct a new encodedDataType from XML Schema.
+
+
+
+EncodedDataType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new encodedDataType from XML Schema.
+
+
+
+EncodedDataType (java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ java.lang.String semanticType,
+ PrimitiveType primitiveType,
+ int length,
+ boolean varLen)
+Construct a new EncodedDataType with direct values.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+EncodedDataType
+public EncodedDataType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new encodedDataType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for this node.
+referencedName
- of the type when created from a ref in a composite.
+
+
+
+
+
+
+
+
+EncodedDataType
+public EncodedDataType(java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ java.lang.String semanticType,
+ PrimitiveType primitiveType,
+ int length,
+ boolean varLen)
+Construct a new EncodedDataType with direct values. Does not handle constant values.
+
+参数:
+name
- of the type
+presence
- of the type
+description
- of the type or null
+semanticType
- of the type or null
+primitiveType
- of the EncodedDataType
+length
- of the EncodedDataType
+varLen
- of the EncodedDataType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.ValidValue.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.ValidValue.html
new file mode 100644
index 0000000000..882cf39382
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.ValidValue.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+EnumType.ValidValue (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+ValidValue (org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a ValidValue given the XML node and the encodingType.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+ValidValue
+public ValidValue(org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a ValidValue given the XML node and the encodingType.
+
+参数:
+node
- that contains the validValue
+encodingType
- for the enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.html
new file mode 100644
index 0000000000..64f9c396b2
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.html
@@ -0,0 +1,524 @@
+
+
+
+
+
+EnumType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+嵌套类概要
+
+嵌套类
+
+限定符和类型
+类和说明
+
+
+static class
+EnumType.ValidValue
+Class to hold valid values for EnumType
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static java.lang.String
+ENUM_TYPE
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+EnumType (org.w3c.dom.Node node)
+
+
+EnumType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new enumType from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+EnumType
+public EnumType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+ throws javax.xml.xpath.XPathExpressionException
+Construct a new enumType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for the node.
+referencedName
- of the type when created from a ref in a composite.
+抛出:
+javax.xml.xpath.XPathExpressionException
- if the XPath is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ErrorHandler.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ErrorHandler.html
new file mode 100644
index 0000000000..498a1c4bcd
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ErrorHandler.html
@@ -0,0 +1,404 @@
+
+
+
+
+
+ErrorHandler (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.ErrorHandler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+checkIfShouldExit ()
+Check if the parser should exit.
+
+
+
+void
+error (java.lang.String msg)
+Record a message signifying an error condition.
+
+
+
+int
+errorCount ()
+The count of errors encountered.
+
+
+
+java.lang.String
+toString ()
+
+
+void
+warning (java.lang.String msg)
+Record a message signifying an warning condition.
+
+
+
+int
+warningCount ()
+The count of warnings encountered.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.Builder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.Builder.html
new file mode 100644
index 0000000000..9a47cfdd47
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.Builder.html
@@ -0,0 +1,469 @@
+
+
+
+
+
+Field.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Field.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.html
new file mode 100644
index 0000000000..289f117d0a
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.html
@@ -0,0 +1,650 @@
+
+
+
+
+
+Field (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Field
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static int
+INVALID_ID
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Field (java.lang.String name,
+ java.lang.String description,
+ int id,
+ Type type,
+ int offset,
+ java.lang.String semanticType,
+ Presence presence,
+ java.lang.String valueRef,
+ int blockLength,
+ CompositeType dimensionType,
+ boolean variableLength,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String epoch,
+ java.lang.String timeUnit)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Field
+public Field(java.lang.String name,
+ java.lang.String description,
+ int id,
+ Type type,
+ int offset,
+ java.lang.String semanticType,
+ Presence presence,
+ java.lang.String valueRef,
+ int blockLength,
+ CompositeType dimensionType,
+ boolean variableLength,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String epoch,
+ java.lang.String timeUnit)
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+id
+public int id()
+
+
+
+
+
+
+
+type
+public Type type()
+
+
+
+
+
+
+
+offset
+public int offset()
+
+
+
+
+
+
+
+blockLength
+public int blockLength()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+deprecated
+public int deprecated()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/IrGenerator.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/IrGenerator.html
new file mode 100644
index 0000000000..d1302dbea2
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/IrGenerator.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+IrGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.IrGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+IrGenerator
+public IrGenerator()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Message.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Message.html
new file mode 100644
index 0000000000..e383571cde
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Message.html
@@ -0,0 +1,456 @@
+
+
+
+
+
+Message (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Message
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Message (org.w3c.dom.Node messageNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+Construct a new message from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+int
+blockLength ()
+Return the encodedLength of the
Message
in bytes including any padding.
+
+
+
+int
+deprecated ()
+Version in which message was deprecated.
+
+
+
+java.lang.String
+description ()
+The description of the message (if set) or null
+
+
+
+java.util.List<Field >
+fields ()
+Return the list of fields in the message
+
+
+
+int
+id ()
+Return the template schemaId of the message
+
+
+
+java.lang.String
+name ()
+Return the name of the message
+
+
+
+java.lang.String
+semanticType ()
+The semanticType of the message (if set) or null
+
+
+
+int
+sinceVersion ()
+The version since this was added to the template.
+
+
+
+java.lang.String
+toString ()
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Message
+public Message(org.w3c.dom.Node messageNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+ throws javax.xml.xpath.XPathExpressionException
+Construct a new message from XML Schema.
+
+参数:
+messageNode
- from the XML Schema Parsing
+typeByNameMap
- holding type information for message
+抛出:
+javax.xml.xpath.XPathExpressionException
- on invalid XPath
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+blockLength
+public int blockLength()
+Return the encodedLength of the
Message
in bytes including any padding.
+
+返回:
+the encodedLength of the Message
in bytes including any padding.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/MessageSchema.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/MessageSchema.html
new file mode 100644
index 0000000000..c884c1e3bb
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/MessageSchema.html
@@ -0,0 +1,506 @@
+
+
+
+
+
+MessageSchema (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.MessageSchema
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+MessageSchema (org.w3c.dom.Node schemaNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap,
+ java.util.Map<java.lang.Long,Message > messageByIdMap)
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.nio.ByteOrder
+byteOrder ()
+Return the byte order specified by the messageSchema
+
+
+
+java.lang.String
+description ()
+The description of the schema.
+
+
+
+Message
+getMessage (long messageId)
+Return a given
Message
object with the given messageId.
+
+
+
+Type
+getType (java.lang.String typeName)
+Get the
Type
for a given name.
+
+
+
+int
+id ()
+The id number of the schema.
+
+
+
+CompositeType
+messageHeader ()
+The Schema headerType for message headers.
+
+
+
+java.util.Collection<Message >
+messages ()
+Get the
Collection
of
Message
s for this Schema.
+
+
+
+java.lang.String
+packageName ()
+The package name for the schema.
+
+
+
+java.lang.String
+semanticVersion ()
+The semantic version number of the schema.
+
+
+
+int
+version ()
+The version number of the schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+MessageSchema
+public MessageSchema(org.w3c.dom.Node schemaNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap,
+ java.util.Map<java.lang.Long,Message > messageByIdMap)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.Builder.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.Builder.html
new file mode 100644
index 0000000000..f1061dabcf
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.Builder.html
@@ -0,0 +1,491 @@
+
+
+
+
+
+ParserOptions.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.html
new file mode 100644
index 0000000000..bc67745eb2
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.html
@@ -0,0 +1,399 @@
+
+
+
+
+
+ParserOptions (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.ParserOptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Presence.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Presence.html
new file mode 100644
index 0000000000..51a6c5b5ac
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Presence.html
@@ -0,0 +1,406 @@
+
+
+
+
+
+Presence (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Presence >
+
+
+uk.co.real_logic.sbe.xml.Presence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+CONSTANT
+The field value is constant and held in the schema and not passed on the wire.
+
+
+
+OPTIONAL
+The field is optional and an optional value must be provided in the schema.
+
+
+
+REQUIRED
+The field must be present in the message encoding.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static Presence
+get (java.lang.String name)
+Lookup Presence name and return enum.
+
+
+
+java.lang.String
+value ()
+The value as a String of the presence.
+
+
+
+static Presence
+valueOf (java.lang.String name)
+返回带有指定名称的该类型的枚举常量。
+
+
+
+static Presence []
+values ()
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.Choice.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.Choice.html
new file mode 100644
index 0000000000..04aad5a80c
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.Choice.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+SetType.Choice (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Choice (org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a Choice given the XML node and the encodingType
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Choice
+public Choice(org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a Choice given the XML node and the encodingType
+
+参数:
+node
- that contains the validValue
+encodingType
- for the enum
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+deprecated
+public int deprecated()
+Version in which
SetType.Choice
was deprecated. Only valid if greater than zero.
+
+返回:
+version in which the SetType.Choice
was deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.html
new file mode 100644
index 0000000000..1b2e859705
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.html
@@ -0,0 +1,508 @@
+
+
+
+
+
+SetType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+嵌套类概要
+
+嵌套类
+
+限定符和类型
+类和说明
+
+
+static class
+SetType.Choice
+Holder for valid values for EnumType
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static java.lang.String
+SET_TYPE
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+SetType (org.w3c.dom.Node node)
+
+
+SetType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new SetType from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+SetType
+public SetType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+ throws javax.xml.xpath.XPathExpressionException,
+ java.lang.IllegalArgumentException
+Construct a new SetType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for the node.
+referencedName
- of the type when created from a ref in a composite.
+抛出:
+javax.xml.xpath.XPathExpressionException
- on invalid XPath.
+java.lang.IllegalArgumentException
- on illegal encoding type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Type.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Type.html
new file mode 100644
index 0000000000..be2a8760f4
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/Type.html
@@ -0,0 +1,524 @@
+
+
+
+
+
+Type (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Type
+
+
+
+
+
+
+
+直接已知子类:
+CompositeType , EncodedDataType , EnumType , SetType
+
+
+
+public abstract class Type
+extends java.lang.Object
+An SBE type. One of encodedDataType, compositeType, enumType, or setType per the SBE spec.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Type (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new Type from XML Schema.
+
+
+
+Type (java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String semanticType)
+Construct a new Type from direct values.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 抽象方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+int
+deprecated ()
+Version in which type was deprecated.
+
+
+
+java.lang.String
+description ()
+The description of the Type (if set) or null
+
+
+
+abstract int
+encodedLength ()
+The encodedLength (in octets) of the Type.
+
+
+
+abstract boolean
+isVariableLength ()
+
+
+java.lang.String
+name ()
+Return the name of the type
+
+
+
+int
+offsetAttribute ()
+Return the offset attribute of the
Type
from the schema
+
+
+
+void
+offsetAttribute (int offsetAttribute)
+Set the offset attribute of the
Type
from the schema
+
+
+
+Presence
+presence ()
+Return the presence of the type
+
+
+
+java.lang.String
+referencedName ()
+Get the name of the type field is from a reference.
+
+
+
+java.lang.String
+semanticType ()
+The semanticType of the Type
+
+
+
+int
+sinceVersion ()
+The version since this was added to the template.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Type
+public Type(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new Type from XML Schema. Called by subclasses to mostly set common fields
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- of this node, if null then the attributed name will be used.
+referencedName
- of the type when created from a ref in a composite.
+
+
+
+
+
+
+
+
+Type
+public Type(java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String semanticType)
+Construct a new Type from direct values.
+
+参数:
+name
- of the type
+presence
- of the type
+description
- of the type or null
+sinceVersion
- for the type
+deprecated
- version in which this was deprecated.
+semanticType
- of the type or null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/XmlSchemaParser.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/XmlSchemaParser.html
new file mode 100644
index 0000000000..15de2d547c
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/XmlSchemaParser.html
@@ -0,0 +1,693 @@
+
+
+
+
+
+XmlSchemaParser (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+checkForValidName (org.w3c.dom.Node node,
+ java.lang.String name)
+Check name against validity for C++ and Java naming.
+
+
+
+static java.util.Map<java.lang.Long,Message >
+findMessages (org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+Scan XML for all message definitions and save in map
+
+
+
+static java.util.Map<java.lang.String,Type >
+findTypes (org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath)
+Scan XML for all types (encodedDataType, compositeType, enumType, and setType) and save in map
+
+
+
+static java.lang.String
+getAttributeValue (org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that throws an exception when the attribute is not set.
+
+
+
+static java.lang.String
+getAttributeValue (org.w3c.dom.Node elementNode,
+ java.lang.String attrName,
+ java.lang.String defValue)
+Helper function that uses a default value when value not set.
+
+
+
+static java.lang.String
+getAttributeValueOrNull (org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that hides the null return from NamedNodeMap.getNamedItem(String)
+
+
+
+static java.nio.ByteOrder
+getByteOrder (java.lang.String byteOrderName)
+Helper function to convert a schema byteOrderName into a ByteOrder
+
+
+
+static void
+handleError (org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle an error condition as consequence of parsing.
+
+
+
+static void
+handleWarning (org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle a warning condition as a consequence of parsing.
+
+
+
+static MessageSchema
+parse (java.io.InputStream in,
+ ParserOptions options)
+Take an InputStream
and parse it generating map of template ID to Message objects, types, and schema.
+
+
+
+static void
+validate (java.lang.String xsdFilename,
+ java.io.InputStream in,
+ ParserOptions options)
+Validate the document against a given schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+XmlSchemaParser
+public XmlSchemaParser()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+validate
+public static void validate(java.lang.String xsdFilename,
+ java.io.InputStream in,
+ ParserOptions options)
+ throws java.lang.Exception
+Validate the document against a given schema. Error will be written to System.err
+
+参数:
+xsdFilename
- schema to validate against.
+in
- document to be validated.
+options
- to be applied during parsing.
+抛出:
+java.lang.Exception
- if an error occurs when parsing the document or schema.
+
+
+
+
+
+
+
+
+
+
+
+
+findTypes
+public static java.util.Map<java.lang.String,Type > findTypes(org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath)
+ throws java.lang.Exception
+Scan XML for all types (encodedDataType, compositeType, enumType, and setType) and save in map
+
+参数:
+document
- for the XML parsing
+xPath
- for XPath expression reuse
+返回:
+Map
of name String
to Type
+抛出:
+java.lang.Exception
- on parsing error.
+
+
+
+
+
+
+
+
+findMessages
+public static java.util.Map<java.lang.Long,Message > findMessages(org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+ throws java.lang.Exception
+Scan XML for all message definitions and save in map
+
+参数:
+document
- for the XML parsing
+xPath
- for XPath expression reuse
+typeByNameMap
- to use for Type objects
+返回:
+Map
of schemaId to Message
+抛出:
+java.lang.Exception
- on parsing error.
+
+
+
+
+
+
+
+
+handleError
+public static void handleError(org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle an error condition as consequence of parsing.
+
+参数:
+node
- that is the context of the warning.
+msg
- associated with the error.
+
+
+
+
+
+
+
+
+handleWarning
+public static void handleWarning(org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle a warning condition as a consequence of parsing.
+
+参数:
+node
- as the context for the warning.
+msg
- associated with the warning.
+
+
+
+
+
+
+
+
+getAttributeValue
+public static java.lang.String getAttributeValue(org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that throws an exception when the attribute is not set.
+
+参数:
+elementNode
- that should have the attribute
+attrName
- that is to be looked up
+返回:
+value of the attribute
+抛出:
+java.lang.IllegalArgumentException
- if the attribute is not present
+
+
+
+
+
+
+
+
+getAttributeValue
+public static java.lang.String getAttributeValue(org.w3c.dom.Node elementNode,
+ java.lang.String attrName,
+ java.lang.String defValue)
+Helper function that uses a default value when value not set.
+
+参数:
+elementNode
- that should have the attribute
+attrName
- that is to be looked up
+defValue
- String to return if not set
+返回:
+value of the attribute or defValue
+
+
+
+
+
+
+
+
+getAttributeValueOrNull
+public static java.lang.String getAttributeValueOrNull(org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that hides the null return from NamedNodeMap.getNamedItem(String)
+
+参数:
+elementNode
- that could be null
+attrName
- that is to be looked up
+返回:
+null or value of the attribute
+
+
+
+
+
+
+
+
+
+
+
+
+checkForValidName
+public static void checkForValidName(org.w3c.dom.Node node,
+ java.lang.String name)
+Check name against validity for C++ and Java naming. Warning if not valid.
+
+参数:
+node
- to have the name checked.
+name
- of the node to be checked.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-frame.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-frame.html
new file mode 100644
index 0000000000..d98409fc6b
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-frame.html
@@ -0,0 +1,39 @@
+
+
+
+
+
+uk.co.real_logic.sbe.xml (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-summary.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-summary.html
new file mode 100644
index 0000000000..ee222257fa
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-summary.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+uk.co.real_logic.sbe.xml (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+CompositeType
+
+SBE compositeType.
+
+
+
+EncodedDataType
+
+SBE encodedDataType
+
+
+
+EnumType
+
+SBE enumType
+
+
+
+EnumType.ValidValue
+
+Class to hold valid values for EnumType
+
+
+
+ErrorHandler
+
+Class to hold error handling state while parsing an XML message schema.
+
+
+
+Field
+
+Holder for Field (or Group or Data) information
+
+
+
+Field.Builder
+
+
+
+IrGenerator
+
+Class to hold the state while generating the
Ir
.
+
+
+
+Message
+
+An SBE message containing a list of
Field
objects and SBE message attributes.
+
+
+
+MessageSchema
+
+Message schema composite for schema attributes, messageHeader, and reference for multiple
Message
objects.
+
+
+
+ParserOptions
+
+Class to hold the values of the parsing options.
+
+
+
+ParserOptions.Builder
+
+
+
+SetType
+
+SBE setType representing a bitset of options.
+
+
+
+SetType.Choice
+
+Holder for valid values for EnumType
+
+
+
+Type
+
+An SBE type.
+
+
+
+XmlSchemaParser
+
+Encapsulate the XML Schema parsing for SBE so that other representations may be
+ used to generate independent representations.
+
+
+
+
+
+
+
+枚举概要
+
+枚举
+说明
+
+
+
+Presence
+
+Presence attribute values for a
Type
applied to a
Field
.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-tree.html b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-tree.html
new file mode 100644
index 0000000000..a71f04aace
--- /dev/null
+++ b/sbe-all/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-tree.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+uk.co.real_logic.sbe.xml 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-all/build/libs/sbe-all-1.12.0-javadoc.jar b/sbe-all/build/libs/sbe-all-1.12.0-javadoc.jar
new file mode 100644
index 0000000000..283653aa79
Binary files /dev/null and b/sbe-all/build/libs/sbe-all-1.12.0-javadoc.jar differ
diff --git a/sbe-all/build/libs/sbe-all-1.12.0-sources.jar b/sbe-all/build/libs/sbe-all-1.12.0-sources.jar
new file mode 100644
index 0000000000..2e7c15ba3f
Binary files /dev/null and b/sbe-all/build/libs/sbe-all-1.12.0-sources.jar differ
diff --git a/sbe-all/build/libs/sbe-all-1.12.0.jar b/sbe-all/build/libs/sbe-all-1.12.0.jar
new file mode 100644
index 0000000000..562ec2b25d
Binary files /dev/null and b/sbe-all/build/libs/sbe-all-1.12.0.jar differ
diff --git a/sbe-all/build/poms/pom-default.xml b/sbe-all/build/poms/pom-default.xml
new file mode 100644
index 0000000000..d830a6fce8
--- /dev/null
+++ b/sbe-all/build/poms/pom-default.xml
@@ -0,0 +1,86 @@
+
+
+ 4.0.0
+ uk.co.real-logic
+ sbe-all
+ 1.12.0
+ sbe
+ FIX/SBE - OSI layer 6 presentation for encoding and decoding application messages in binary format for low-latency applications
+ https://github.com/real-logic/simple-binary-encoding
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ tmontgomery
+ Todd L. Montgomery
+ tmont@nard.net
+ https://github.com/tmontgomery
+
+
+ mjpt777
+ Martin Thompson
+ mjpt777@gmail.com
+ https://github.com/mjpt777
+
+
+ odeheurles
+ Olivier Deheurles
+ olivier@weareadaptive.com
+ https://github.com/odeheurles
+
+
+ RichardWarburton
+ Richard Warburton
+ richard.warburton@gmail.com
+ https://github.com/RichardWarburton
+
+
+ BillSegall
+ Bill Segall
+ bill.segall@gmail.com
+ https://github.com/BillSegall
+
+
+
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ github.com/real-logic/simple-binary-encoding.git
+
+
+
+ org.agrona
+ agrona
+ 0.9.31
+ compile
+
+
+ uk.co.real-logic
+ sbe-tool
+ 1.12.0
+ compile
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.mockito
+ mockito-core
+ 2.23.4
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ 1.3
+ test
+
+
+
diff --git a/sbe-all/build/tmp/jar/MANIFEST.MF b/sbe-all/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-all/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-all/build/tmp/javadoc/javadoc.options b/sbe-all/build/tmp/javadoc/javadoc.options
new file mode 100644
index 0000000000..0aabd211db
--- /dev/null
+++ b/sbe-all/build/tmp/javadoc/javadoc.options
@@ -0,0 +1,78 @@
+-bottom 'Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved. '
+-classpath '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-all/build/classes/java/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-all/build/resources/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/libs/sbe-tool-1.12.0.jar:/Users/ethan/.gradle/caches/modules-2/files-2.1/org.agrona/agrona/0.9.31/56014757f084ead33d6a29f8dbad9b4cb765bdf/agrona-0.9.31.jar'
+-d '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-all/build/docs/javadoc'
+-doctitle 'Simple Binary Encoding '
+-quiet
+-windowtitle 'Simple Binary Encoding '
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/SbeTool.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/PrimitiveType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/util/ValidationUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/PresenceCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MetaAttribute.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/SignalCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/GenerationUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/HeaderStructure.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/MessageComponents.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Token.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Encoding.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Ir.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Signal.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/codec/java/MethodSelector.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/codec/java/GroupOrder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Message.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/SetType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Type.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/IrGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/CompositeType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/XmlSchemaParser.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/MessageSchema.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/ParserOptions.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/EnumType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/ErrorHandler.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Presence.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Field.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/EncodedDataType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/json/JsonPrinter.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/json/JsonTokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/TokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/OtfMessageDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/Types.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/AbstractTokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/NamedToken.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustCodecType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/Rust.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/SplitCompositeTokens.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharp.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/Generators.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/CodeGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/TargetCodeGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/PrimitiveValue.java'
diff --git a/sbe-all/build/tmp/javadocJar/MANIFEST.MF b/sbe-all/build/tmp/javadocJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-all/build/tmp/javadocJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-all/build/tmp/shadowJar/MANIFEST.MF b/sbe-all/build/tmp/shadowJar/MANIFEST.MF
new file mode 100644
index 0000000000..831d46c02f
--- /dev/null
+++ b/sbe-all/build/tmp/shadowJar/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Implementation-Title: SBE
+Implementation-Version: 1.12.0
+Specification-Title: Simple Binary Encoding
+Specification-Version: 1.0
+Main-Class: uk.co.real_logic.sbe.SbeTool
+Implementation-Vendor: Real Logic Limited
+
diff --git a/sbe-all/build/tmp/sourcesJar/MANIFEST.MF b/sbe-all/build/tmp/sourcesJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-all/build/tmp/sourcesJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.class
new file mode 100644
index 0000000000..82fbffdfdf
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$1.class
new file mode 100644
index 0000000000..b8ac4dda67
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$FuelFiguresDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$FuelFiguresDecoder.class
new file mode 100644
index 0000000000..2710fc0535
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$FuelFiguresDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class
new file mode 100644
index 0000000000..7cbf1133c4
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$PerformanceFiguresDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$PerformanceFiguresDecoder.class
new file mode 100644
index 0000000000..1c3d5715c7
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder$PerformanceFiguresDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.class
new file mode 100644
index 0000000000..8f142ca6a1
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$1.class
new file mode 100644
index 0000000000..3595282c5f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$FuelFiguresEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$FuelFiguresEncoder.class
new file mode 100644
index 0000000000..38e4d01237
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$FuelFiguresEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class
new file mode 100644
index 0000000000..59961f2c6f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$PerformanceFiguresEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$PerformanceFiguresEncoder.class
new file mode 100644
index 0000000000..83852e8c00
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder$PerformanceFiguresEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.class
new file mode 100644
index 0000000000..a4ce90b4dc
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.class
new file mode 100644
index 0000000000..0d500c2b77
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.class
new file mode 100644
index 0000000000..4fd77b008b
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.class
new file mode 100644
index 0000000000..45eede6d23
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.class
new file mode 100644
index 0000000000..b1770de726
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..389ead4f4b
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..0514aab518
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.class
new file mode 100644
index 0000000000..57014a33ce
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/Model.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/Model.class
new file mode 100644
index 0000000000..3454313bf1
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/Model.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.class
new file mode 100644
index 0000000000..c751301838
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.class
new file mode 100644
index 0000000000..5fa5f84984
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.class
new file mode 100644
index 0000000000..2f6936fabf
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.class
new file mode 100644
index 0000000000..71ec522bd2
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.class
new file mode 100644
index 0000000000..a005da61e5
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.class
new file mode 100644
index 0000000000..6e3560d59d
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.class
new file mode 100644
index 0000000000..d2d5a341e5
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.class
new file mode 100644
index 0000000000..1ba62169bc
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.class
new file mode 100644
index 0000000000..796e1c0fad
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.class
new file mode 100644
index 0000000000..1aa0ed563c
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.class
new file mode 100644
index 0000000000..2c8e8ca877
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.class
new file mode 100644
index 0000000000..20f877db90
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.class
new file mode 100644
index 0000000000..3f0bf32419
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.class
new file mode 100644
index 0000000000..dff26b5360
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.class
new file mode 100644
index 0000000000..850140960c
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.class
new file mode 100644
index 0000000000..1e493973dd
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.class
new file mode 100644
index 0000000000..7c0b2afa39
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.class
new file mode 100644
index 0000000000..f8c70581c0
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.class
new file mode 100644
index 0000000000..98a49b01a5
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder$1.class
new file mode 100644
index 0000000000..c9ad464e69
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder$EntriesDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder$EntriesDecoder.class
new file mode 100644
index 0000000000..d1c4875a42
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder$EntriesDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.class
new file mode 100644
index 0000000000..9880e0b7e5
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder$1.class
new file mode 100644
index 0000000000..74387c5ebe
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder$EntriesEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder$EntriesEncoder.class
new file mode 100644
index 0000000000..7580f74400
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder$EntriesEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.class
new file mode 100644
index 0000000000..71468fdaa0
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder$1.class
new file mode 100644
index 0000000000..3a4d5371e7
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder$MdIncGrpDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder$MdIncGrpDecoder.class
new file mode 100644
index 0000000000..56b22687d2
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder$MdIncGrpDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.class
new file mode 100644
index 0000000000..3b3cc480fd
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder$1.class
new file mode 100644
index 0000000000..a560011e4d
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder$MdIncGrpEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder$MdIncGrpEncoder.class
new file mode 100644
index 0000000000..72ab430cbe
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder$MdIncGrpEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.class
new file mode 100644
index 0000000000..d9611038ef
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.class
new file mode 100644
index 0000000000..11e9fe2b7d
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$1.class
new file mode 100644
index 0000000000..a8b90cbe14
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$QuoteSetsDecoder$QuoteEntriesDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$QuoteSetsDecoder$QuoteEntriesDecoder.class
new file mode 100644
index 0000000000..7798b56f06
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$QuoteSetsDecoder$QuoteEntriesDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$QuoteSetsDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$QuoteSetsDecoder.class
new file mode 100644
index 0000000000..00888706b4
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder$QuoteSetsDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.class
new file mode 100644
index 0000000000..4a816ff34f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$1.class
new file mode 100644
index 0000000000..323e665aab
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$QuoteSetsEncoder$QuoteEntriesEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$QuoteSetsEncoder$QuoteEntriesEncoder.class
new file mode 100644
index 0000000000..cd275166a9
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$QuoteSetsEncoder$QuoteEntriesEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$QuoteSetsEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$QuoteSetsEncoder.class
new file mode 100644
index 0000000000..7e61b3f94f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder$QuoteSetsEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.class
new file mode 100644
index 0000000000..bd2dba4939
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.class
new file mode 100644
index 0000000000..5c1b8f186e
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..771b266992
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..538e98a5bb
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.class
new file mode 100644
index 0000000000..328f43f8a9
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder$1.class
new file mode 100644
index 0000000000..86d7ce59ec
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.class
new file mode 100644
index 0000000000..a4b69351da
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder$1.class
new file mode 100644
index 0000000000..071927efbc
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.class
new file mode 100644
index 0000000000..1546df4fde
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.class
new file mode 100644
index 0000000000..82d3301d42
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.class
new file mode 100644
index 0000000000..cfaa438fe2
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.class
new file mode 100644
index 0000000000..a1d475f912
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.class
new file mode 100644
index 0000000000..71658429eb
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.class
new file mode 100644
index 0000000000..75ad92ec2b
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.class
new file mode 100644
index 0000000000..9e25456361
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder$1.class
new file mode 100644
index 0000000000..0b5a482b9b
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.class
new file mode 100644
index 0000000000..04d75c751f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder$1.class
new file mode 100644
index 0000000000..ce4074fedf
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.class
new file mode 100644
index 0000000000..8131c9434d
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder$1.class
new file mode 100644
index 0000000000..cdcf0b6de3
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.class
new file mode 100644
index 0000000000..c692703a0e
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder$1.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder$1.class
new file mode 100644
index 0000000000..1867df5c13
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder$1.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.class
new file mode 100644
index 0000000000..617f3c8d06
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.class
new file mode 100644
index 0000000000..dc28db8fed
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.class
new file mode 100644
index 0000000000..45789d49d1
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.class
new file mode 100644
index 0000000000..15b862f3b7
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.class
new file mode 100644
index 0000000000..1ea715731b
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.class
new file mode 100644
index 0000000000..745f699b55
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.class
new file mode 100644
index 0000000000..ba2cb13db3
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.class
new file mode 100644
index 0000000000..0c8c1ab08d
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.class b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.class
new file mode 100644
index 0000000000..6767ecee88
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/META-INF/BenchmarkList b/sbe-benchmarks/build/classes/java/main/META-INF/BenchmarkList
new file mode 100644
index 0000000000..199c4c520d
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/META-INF/BenchmarkList
@@ -0,0 +1,4 @@
+JMH S 33 uk.co.real_logic.sbe.CarBenchmark S 62 uk.co.real_logic.sbe.generated.CarBenchmark_testDecode_jmhTest S 10 testDecode S 11 AverageTime E A 1 1 1 E E E E E E E E E E E E E E E E E
+JMH S 40 uk.co.real_logic.sbe.MarketDataBenchmark S 69 uk.co.real_logic.sbe.generated.MarketDataBenchmark_testEncode_jmhTest S 10 testEncode S 11 AverageTime E A 1 1 1 E E E E E E E E E E E E E E E E E
+JMH S 40 uk.co.real_logic.sbe.MarketDataBenchmark S 69 uk.co.real_logic.sbe.generated.MarketDataBenchmark_testDecode_jmhTest S 10 testDecode S 11 AverageTime E A 1 1 1 E E E E E E E E E E E E E E E E E
+JMH S 33 uk.co.real_logic.sbe.CarBenchmark S 62 uk.co.real_logic.sbe.generated.CarBenchmark_testEncode_jmhTest S 10 testEncode S 11 AverageTime E A 1 1 1 E E E E E E E E E E E E E E E E E
diff --git a/sbe-benchmarks/build/classes/java/main/META-INF/CompilerHints b/sbe-benchmarks/build/classes/java/main/META-INF/CompilerHints
new file mode 100644
index 0000000000..21a80033ba
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/META-INF/CompilerHints
@@ -0,0 +1,9 @@
+dontinline,*.*_all_jmhStub
+dontinline,*.*_avgt_jmhStub
+dontinline,*.*_sample_jmhStub
+dontinline,*.*_ss_jmhStub
+dontinline,*.*_thrpt_jmhStub
+inline,uk/co/real_logic/sbe/CarBenchmark.testDecode
+inline,uk/co/real_logic/sbe/CarBenchmark.testEncode
+inline,uk/co/real_logic/sbe/MarketDataBenchmark.testDecode
+inline,uk/co/real_logic/sbe/MarketDataBenchmark.testEncode
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/CarBenchmark$MyState.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/CarBenchmark$MyState.class
new file mode 100644
index 0000000000..a3aaf44b95
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/CarBenchmark$MyState.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/CarBenchmark.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/CarBenchmark.class
new file mode 100644
index 0000000000..84c33747fa
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/CarBenchmark.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/MarketDataBenchmark$MyState.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/MarketDataBenchmark$MyState.class
new file mode 100644
index 0000000000..f68d456859
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/MarketDataBenchmark$MyState.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/MarketDataBenchmark.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/MarketDataBenchmark.class
new file mode 100644
index 0000000000..ad658f2814
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/MarketDataBenchmark.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType.class
new file mode 100644
index 0000000000..4a7081a0d8
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType.java
new file mode 100644
index 0000000000..f579ad5947
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType.java
@@ -0,0 +1,4 @@
+package uk.co.real_logic.sbe.generated;
+public class CarBenchmark_MyState_jmhType extends CarBenchmark_MyState_jmhType_B3 {
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B1.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B1.class
new file mode 100644
index 0000000000..ea1b8f613f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B1.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B1.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B1.java
new file mode 100644
index 0000000000..d9c3ed623a
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B1.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+import uk.co.real_logic.sbe.CarBenchmark.MyState;
+public class CarBenchmark_MyState_jmhType_B1 extends uk.co.real_logic.sbe.CarBenchmark.MyState {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B2.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B2.class
new file mode 100644
index 0000000000..88f93942f0
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B2.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B2.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B2.java
new file mode 100644
index 0000000000..10558f77f4
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B2.java
@@ -0,0 +1,22 @@
+package uk.co.real_logic.sbe.generated;
+import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+public class CarBenchmark_MyState_jmhType_B2 extends CarBenchmark_MyState_jmhType_B1 {
+ public volatile int setupTrialMutex;
+ public volatile int tearTrialMutex;
+ public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_MyState_jmhType_B2.class, "setupTrialMutex");
+ public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_MyState_jmhType_B2.class, "tearTrialMutex");
+
+ public volatile int setupIterationMutex;
+ public volatile int tearIterationMutex;
+ public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_MyState_jmhType_B2.class, "setupIterationMutex");
+ public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_MyState_jmhType_B2.class, "tearIterationMutex");
+
+ public volatile int setupInvocationMutex;
+ public volatile int tearInvocationMutex;
+ public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_MyState_jmhType_B2.class, "setupInvocationMutex");
+ public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_MyState_jmhType_B2.class, "tearInvocationMutex");
+
+ public volatile boolean readyTrial;
+ public volatile boolean readyIteration;
+ public volatile boolean readyInvocation;
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B3.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B3.class
new file mode 100644
index 0000000000..e016b0688c
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B3.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B3.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B3.java
new file mode 100644
index 0000000000..70ccb24e4d
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_MyState_jmhType_B3.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+public class CarBenchmark_MyState_jmhType_B3 extends CarBenchmark_MyState_jmhType_B2 {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType.class
new file mode 100644
index 0000000000..be129837ea
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType.java
new file mode 100644
index 0000000000..889ab72547
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType.java
@@ -0,0 +1,4 @@
+package uk.co.real_logic.sbe.generated;
+public class CarBenchmark_jmhType extends CarBenchmark_jmhType_B3 {
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B1.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B1.class
new file mode 100644
index 0000000000..1eb9cc3e32
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B1.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B1.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B1.java
new file mode 100644
index 0000000000..7a6f0c748c
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B1.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+import uk.co.real_logic.sbe.CarBenchmark;
+public class CarBenchmark_jmhType_B1 extends uk.co.real_logic.sbe.CarBenchmark {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B2.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B2.class
new file mode 100644
index 0000000000..269a5e7126
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B2.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B2.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B2.java
new file mode 100644
index 0000000000..ce0440c904
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B2.java
@@ -0,0 +1,19 @@
+package uk.co.real_logic.sbe.generated;
+import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+public class CarBenchmark_jmhType_B2 extends CarBenchmark_jmhType_B1 {
+ public volatile int setupTrialMutex;
+ public volatile int tearTrialMutex;
+ public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_jmhType_B2.class, "setupTrialMutex");
+ public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_jmhType_B2.class, "tearTrialMutex");
+
+ public volatile int setupIterationMutex;
+ public volatile int tearIterationMutex;
+ public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_jmhType_B2.class, "setupIterationMutex");
+ public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_jmhType_B2.class, "tearIterationMutex");
+
+ public volatile int setupInvocationMutex;
+ public volatile int tearInvocationMutex;
+ public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_jmhType_B2.class, "setupInvocationMutex");
+ public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(CarBenchmark_jmhType_B2.class, "tearInvocationMutex");
+
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B3.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B3.class
new file mode 100644
index 0000000000..0b466ca02f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B3.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B3.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B3.java
new file mode 100644
index 0000000000..cefee873d5
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_jmhType_B3.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+public class CarBenchmark_jmhType_B3 extends CarBenchmark_jmhType_B2 {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testDecode_jmhTest.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testDecode_jmhTest.class
new file mode 100644
index 0000000000..297eff0f5c
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testDecode_jmhTest.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testDecode_jmhTest.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testDecode_jmhTest.java
new file mode 100644
index 0000000000..e0ae64003c
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testDecode_jmhTest.java
@@ -0,0 +1,383 @@
+package uk.co.real_logic.sbe.generated;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.concurrent.TimeUnit;
+import org.openjdk.jmh.annotations.CompilerControl;
+import org.openjdk.jmh.runner.InfraControl;
+import org.openjdk.jmh.infra.ThreadParams;
+import org.openjdk.jmh.results.BenchmarkTaskResult;
+import org.openjdk.jmh.results.Result;
+import org.openjdk.jmh.results.ThroughputResult;
+import org.openjdk.jmh.results.AverageTimeResult;
+import org.openjdk.jmh.results.SampleTimeResult;
+import org.openjdk.jmh.results.SingleShotResult;
+import org.openjdk.jmh.util.SampleBuffer;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Threads;
+import org.openjdk.jmh.annotations.Warmup;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.results.RawResults;
+import org.openjdk.jmh.results.ResultRole;
+import java.lang.reflect.Field;
+import org.openjdk.jmh.infra.BenchmarkParams;
+import org.openjdk.jmh.infra.IterationParams;
+import org.openjdk.jmh.infra.Blackhole;
+import org.openjdk.jmh.infra.Control;
+import org.openjdk.jmh.results.ScalarResult;
+import org.openjdk.jmh.results.AggregationPolicy;
+import org.openjdk.jmh.runner.FailureAssistException;
+
+import uk.co.real_logic.sbe.generated.CarBenchmark_jmhType;
+import uk.co.real_logic.sbe.generated.CarBenchmark_MyState_jmhType;
+public final class CarBenchmark_testDecode_jmhTest {
+
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+ int startRndMask;
+ BenchmarkParams benchmarkParams;
+ IterationParams iterationParams;
+ ThreadParams threadParams;
+ Blackhole blackhole;
+ Control notifyControl;
+
+ public BenchmarkTaskResult testDecode_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testDecode_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_carbenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new ThroughputResult(ResultRole.PRIMARY, "testDecode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testDecode_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testDecode_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_carbenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new AverageTimeResult(ResultRole.PRIMARY, "testDecode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testDecode_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ SampleBuffer buffer = new SampleBuffer();
+ testDecode_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_mystate1_G, l_carbenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps * batchSize;
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new SampleTimeResult(ResultRole.PRIMARY, "testDecode", buffer, benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long realTime = 0;
+ long operations = 0;
+ int rnd = (int)System.nanoTime();
+ int rndMask = startRndMask;
+ long time = 0;
+ int currentStride = 0;
+ do {
+ rnd = (rnd * 1664525 + 1013904223);
+ boolean sample = (rnd & rndMask) == 0;
+ if (sample) {
+ time = System.nanoTime();
+ }
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ }
+ if (sample) {
+ buffer.add((System.nanoTime() - time) / opsPerInv);
+ if (currentStride++ > targetSamples) {
+ buffer.half();
+ currentStride = 0;
+ rndMask = (rndMask << 1) + 1;
+ }
+ }
+ operations++;
+ } while(!control.isDone);
+ startRndMask = Math.max(startRndMask, rndMask);
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testDecode_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ notifyControl.startMeasurement = true;
+ RawResults res = new RawResults();
+ int batchSize = iterationParams.getBatchSize();
+ testDecode_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_mystate1_G, l_carbenchmark0_0);
+ control.preTearDown();
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ int opsPerInv = control.benchmarkParams.getOpsPerInvocation();
+ long totalOps = opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps);
+ results.add(new SingleShotResult(ResultRole.PRIMARY, "testDecode", res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_carbenchmark0_0.testDecode(l_mystate1_G));
+ }
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ }
+
+
+ static volatile CarBenchmark_MyState_jmhType f_mystate1_G;
+
+ CarBenchmark_MyState_jmhType _jmh_tryInit_f_mystate1_G(InfraControl control) throws Throwable {
+ CarBenchmark_MyState_jmhType val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ synchronized(this.getClass()) {
+ try {
+ if (control.isFailing) throw new FailureAssistException();
+ val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ val = new CarBenchmark_MyState_jmhType();
+ val.readyTrial = true;
+ f_mystate1_G = val;
+ } catch (Throwable t) {
+ control.isFailing = true;
+ throw t;
+ }
+ }
+ return val;
+ }
+
+ CarBenchmark_jmhType f_carbenchmark0_0;
+
+ CarBenchmark_jmhType _jmh_tryInit_f_carbenchmark0_0(InfraControl control) throws Throwable {
+ if (control.isFailing) throw new FailureAssistException();
+ CarBenchmark_jmhType val = f_carbenchmark0_0;
+ if (val == null) {
+ val = new CarBenchmark_jmhType();
+ f_carbenchmark0_0 = val;
+ }
+ return val;
+ }
+
+
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testEncode_jmhTest.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testEncode_jmhTest.class
new file mode 100644
index 0000000000..878faac697
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testEncode_jmhTest.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testEncode_jmhTest.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testEncode_jmhTest.java
new file mode 100644
index 0000000000..7838f7f579
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/CarBenchmark_testEncode_jmhTest.java
@@ -0,0 +1,383 @@
+package uk.co.real_logic.sbe.generated;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.concurrent.TimeUnit;
+import org.openjdk.jmh.annotations.CompilerControl;
+import org.openjdk.jmh.runner.InfraControl;
+import org.openjdk.jmh.infra.ThreadParams;
+import org.openjdk.jmh.results.BenchmarkTaskResult;
+import org.openjdk.jmh.results.Result;
+import org.openjdk.jmh.results.ThroughputResult;
+import org.openjdk.jmh.results.AverageTimeResult;
+import org.openjdk.jmh.results.SampleTimeResult;
+import org.openjdk.jmh.results.SingleShotResult;
+import org.openjdk.jmh.util.SampleBuffer;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Threads;
+import org.openjdk.jmh.annotations.Warmup;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.results.RawResults;
+import org.openjdk.jmh.results.ResultRole;
+import java.lang.reflect.Field;
+import org.openjdk.jmh.infra.BenchmarkParams;
+import org.openjdk.jmh.infra.IterationParams;
+import org.openjdk.jmh.infra.Blackhole;
+import org.openjdk.jmh.infra.Control;
+import org.openjdk.jmh.results.ScalarResult;
+import org.openjdk.jmh.results.AggregationPolicy;
+import org.openjdk.jmh.runner.FailureAssistException;
+
+import uk.co.real_logic.sbe.generated.CarBenchmark_jmhType;
+import uk.co.real_logic.sbe.generated.CarBenchmark_MyState_jmhType;
+public final class CarBenchmark_testEncode_jmhTest {
+
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+ int startRndMask;
+ BenchmarkParams benchmarkParams;
+ IterationParams iterationParams;
+ ThreadParams threadParams;
+ Blackhole blackhole;
+ Control notifyControl;
+
+ public BenchmarkTaskResult testEncode_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testEncode_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_carbenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new ThroughputResult(ResultRole.PRIMARY, "testEncode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testEncode_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testEncode_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_carbenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new AverageTimeResult(ResultRole.PRIMARY, "testEncode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testEncode_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ SampleBuffer buffer = new SampleBuffer();
+ testEncode_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_mystate1_G, l_carbenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps * batchSize;
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new SampleTimeResult(ResultRole.PRIMARY, "testEncode", buffer, benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long realTime = 0;
+ long operations = 0;
+ int rnd = (int)System.nanoTime();
+ int rndMask = startRndMask;
+ long time = 0;
+ int currentStride = 0;
+ do {
+ rnd = (rnd * 1664525 + 1013904223);
+ boolean sample = (rnd & rndMask) == 0;
+ if (sample) {
+ time = System.nanoTime();
+ }
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ }
+ if (sample) {
+ buffer.add((System.nanoTime() - time) / opsPerInv);
+ if (currentStride++ > targetSamples) {
+ buffer.half();
+ currentStride = 0;
+ rndMask = (rndMask << 1) + 1;
+ }
+ }
+ operations++;
+ } while(!control.isDone);
+ startRndMask = Math.max(startRndMask, rndMask);
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testEncode_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ CarBenchmark_jmhType l_carbenchmark0_0 = _jmh_tryInit_f_carbenchmark0_0(control);
+ CarBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ notifyControl.startMeasurement = true;
+ RawResults res = new RawResults();
+ int batchSize = iterationParams.getBatchSize();
+ testEncode_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_mystate1_G, l_carbenchmark0_0);
+ control.preTearDown();
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_carbenchmark0_0 = null;
+ }
+ int opsPerInv = control.benchmarkParams.getOpsPerInvocation();
+ long totalOps = opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps);
+ results.add(new SingleShotResult(ResultRole.PRIMARY, "testEncode", res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, CarBenchmark_MyState_jmhType l_mystate1_G, CarBenchmark_jmhType l_carbenchmark0_0) throws Throwable {
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_carbenchmark0_0.testEncode(l_mystate1_G));
+ }
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ }
+
+
+ static volatile CarBenchmark_MyState_jmhType f_mystate1_G;
+
+ CarBenchmark_MyState_jmhType _jmh_tryInit_f_mystate1_G(InfraControl control) throws Throwable {
+ CarBenchmark_MyState_jmhType val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ synchronized(this.getClass()) {
+ try {
+ if (control.isFailing) throw new FailureAssistException();
+ val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ val = new CarBenchmark_MyState_jmhType();
+ val.readyTrial = true;
+ f_mystate1_G = val;
+ } catch (Throwable t) {
+ control.isFailing = true;
+ throw t;
+ }
+ }
+ return val;
+ }
+
+ CarBenchmark_jmhType f_carbenchmark0_0;
+
+ CarBenchmark_jmhType _jmh_tryInit_f_carbenchmark0_0(InfraControl control) throws Throwable {
+ if (control.isFailing) throw new FailureAssistException();
+ CarBenchmark_jmhType val = f_carbenchmark0_0;
+ if (val == null) {
+ val = new CarBenchmark_jmhType();
+ f_carbenchmark0_0 = val;
+ }
+ return val;
+ }
+
+
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType.class
new file mode 100644
index 0000000000..9255cf7c2d
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType.java
new file mode 100644
index 0000000000..3856eeba37
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType.java
@@ -0,0 +1,4 @@
+package uk.co.real_logic.sbe.generated;
+public class MarketDataBenchmark_MyState_jmhType extends MarketDataBenchmark_MyState_jmhType_B3 {
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B1.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B1.class
new file mode 100644
index 0000000000..81d45662d4
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B1.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B1.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B1.java
new file mode 100644
index 0000000000..2e5f5d6fb9
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B1.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+import uk.co.real_logic.sbe.MarketDataBenchmark.MyState;
+public class MarketDataBenchmark_MyState_jmhType_B1 extends uk.co.real_logic.sbe.MarketDataBenchmark.MyState {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B2.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B2.class
new file mode 100644
index 0000000000..80ef37a9ba
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B2.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B2.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B2.java
new file mode 100644
index 0000000000..d1d89ed571
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B2.java
@@ -0,0 +1,22 @@
+package uk.co.real_logic.sbe.generated;
+import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+public class MarketDataBenchmark_MyState_jmhType_B2 extends MarketDataBenchmark_MyState_jmhType_B1 {
+ public volatile int setupTrialMutex;
+ public volatile int tearTrialMutex;
+ public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_MyState_jmhType_B2.class, "setupTrialMutex");
+ public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_MyState_jmhType_B2.class, "tearTrialMutex");
+
+ public volatile int setupIterationMutex;
+ public volatile int tearIterationMutex;
+ public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_MyState_jmhType_B2.class, "setupIterationMutex");
+ public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_MyState_jmhType_B2.class, "tearIterationMutex");
+
+ public volatile int setupInvocationMutex;
+ public volatile int tearInvocationMutex;
+ public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_MyState_jmhType_B2.class, "setupInvocationMutex");
+ public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_MyState_jmhType_B2.class, "tearInvocationMutex");
+
+ public volatile boolean readyTrial;
+ public volatile boolean readyIteration;
+ public volatile boolean readyInvocation;
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B3.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B3.class
new file mode 100644
index 0000000000..ceeda41c66
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B3.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B3.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B3.java
new file mode 100644
index 0000000000..723a4ec168
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_MyState_jmhType_B3.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+public class MarketDataBenchmark_MyState_jmhType_B3 extends MarketDataBenchmark_MyState_jmhType_B2 {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType.class
new file mode 100644
index 0000000000..1f346e38bc
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType.java
new file mode 100644
index 0000000000..75c8011e1f
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType.java
@@ -0,0 +1,4 @@
+package uk.co.real_logic.sbe.generated;
+public class MarketDataBenchmark_jmhType extends MarketDataBenchmark_jmhType_B3 {
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B1.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B1.class
new file mode 100644
index 0000000000..888705da94
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B1.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B1.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B1.java
new file mode 100644
index 0000000000..e7d2bda6f0
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B1.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+import uk.co.real_logic.sbe.MarketDataBenchmark;
+public class MarketDataBenchmark_jmhType_B1 extends uk.co.real_logic.sbe.MarketDataBenchmark {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B2.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B2.class
new file mode 100644
index 0000000000..64f9d0d09e
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B2.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B2.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B2.java
new file mode 100644
index 0000000000..83c4813b38
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B2.java
@@ -0,0 +1,19 @@
+package uk.co.real_logic.sbe.generated;
+import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+public class MarketDataBenchmark_jmhType_B2 extends MarketDataBenchmark_jmhType_B1 {
+ public volatile int setupTrialMutex;
+ public volatile int tearTrialMutex;
+ public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_jmhType_B2.class, "setupTrialMutex");
+ public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_jmhType_B2.class, "tearTrialMutex");
+
+ public volatile int setupIterationMutex;
+ public volatile int tearIterationMutex;
+ public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_jmhType_B2.class, "setupIterationMutex");
+ public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_jmhType_B2.class, "tearIterationMutex");
+
+ public volatile int setupInvocationMutex;
+ public volatile int tearInvocationMutex;
+ public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_jmhType_B2.class, "setupInvocationMutex");
+ public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MarketDataBenchmark_jmhType_B2.class, "tearInvocationMutex");
+
+}
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B3.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B3.class
new file mode 100644
index 0000000000..1a120b192e
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B3.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B3.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B3.java
new file mode 100644
index 0000000000..a2ea76a640
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_jmhType_B3.java
@@ -0,0 +1,20 @@
+package uk.co.real_logic.sbe.generated;
+public class MarketDataBenchmark_jmhType_B3 extends MarketDataBenchmark_jmhType_B2 {
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testDecode_jmhTest.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testDecode_jmhTest.class
new file mode 100644
index 0000000000..ddceeab42b
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testDecode_jmhTest.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testDecode_jmhTest.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testDecode_jmhTest.java
new file mode 100644
index 0000000000..f3e98d077b
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testDecode_jmhTest.java
@@ -0,0 +1,383 @@
+package uk.co.real_logic.sbe.generated;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.concurrent.TimeUnit;
+import org.openjdk.jmh.annotations.CompilerControl;
+import org.openjdk.jmh.runner.InfraControl;
+import org.openjdk.jmh.infra.ThreadParams;
+import org.openjdk.jmh.results.BenchmarkTaskResult;
+import org.openjdk.jmh.results.Result;
+import org.openjdk.jmh.results.ThroughputResult;
+import org.openjdk.jmh.results.AverageTimeResult;
+import org.openjdk.jmh.results.SampleTimeResult;
+import org.openjdk.jmh.results.SingleShotResult;
+import org.openjdk.jmh.util.SampleBuffer;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Threads;
+import org.openjdk.jmh.annotations.Warmup;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.results.RawResults;
+import org.openjdk.jmh.results.ResultRole;
+import java.lang.reflect.Field;
+import org.openjdk.jmh.infra.BenchmarkParams;
+import org.openjdk.jmh.infra.IterationParams;
+import org.openjdk.jmh.infra.Blackhole;
+import org.openjdk.jmh.infra.Control;
+import org.openjdk.jmh.results.ScalarResult;
+import org.openjdk.jmh.results.AggregationPolicy;
+import org.openjdk.jmh.runner.FailureAssistException;
+
+import uk.co.real_logic.sbe.generated.MarketDataBenchmark_jmhType;
+import uk.co.real_logic.sbe.generated.MarketDataBenchmark_MyState_jmhType;
+public final class MarketDataBenchmark_testDecode_jmhTest {
+
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+ int startRndMask;
+ BenchmarkParams benchmarkParams;
+ IterationParams iterationParams;
+ ThreadParams threadParams;
+ Blackhole blackhole;
+ Control notifyControl;
+
+ public BenchmarkTaskResult testDecode_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testDecode_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_marketdatabenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new ThroughputResult(ResultRole.PRIMARY, "testDecode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testDecode_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testDecode_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_marketdatabenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new AverageTimeResult(ResultRole.PRIMARY, "testDecode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testDecode_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ SampleBuffer buffer = new SampleBuffer();
+ testDecode_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_mystate1_G, l_marketdatabenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps * batchSize;
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new SampleTimeResult(ResultRole.PRIMARY, "testDecode", buffer, benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long realTime = 0;
+ long operations = 0;
+ int rnd = (int)System.nanoTime();
+ int rndMask = startRndMask;
+ long time = 0;
+ int currentStride = 0;
+ do {
+ rnd = (rnd * 1664525 + 1013904223);
+ boolean sample = (rnd & rndMask) == 0;
+ if (sample) {
+ time = System.nanoTime();
+ }
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ }
+ if (sample) {
+ buffer.add((System.nanoTime() - time) / opsPerInv);
+ if (currentStride++ > targetSamples) {
+ buffer.half();
+ currentStride = 0;
+ rndMask = (rndMask << 1) + 1;
+ }
+ }
+ operations++;
+ } while(!control.isDone);
+ startRndMask = Math.max(startRndMask, rndMask);
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testDecode_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ notifyControl.startMeasurement = true;
+ RawResults res = new RawResults();
+ int batchSize = iterationParams.getBatchSize();
+ testDecode_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_mystate1_G, l_marketdatabenchmark0_0);
+ control.preTearDown();
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ int opsPerInv = control.benchmarkParams.getOpsPerInvocation();
+ long totalOps = opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps);
+ results.add(new SingleShotResult(ResultRole.PRIMARY, "testDecode", res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testDecode_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_marketdatabenchmark0_0.testDecode(l_mystate1_G));
+ }
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ }
+
+
+ static volatile MarketDataBenchmark_MyState_jmhType f_mystate1_G;
+
+ MarketDataBenchmark_MyState_jmhType _jmh_tryInit_f_mystate1_G(InfraControl control) throws Throwable {
+ MarketDataBenchmark_MyState_jmhType val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ synchronized(this.getClass()) {
+ try {
+ if (control.isFailing) throw new FailureAssistException();
+ val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ val = new MarketDataBenchmark_MyState_jmhType();
+ val.readyTrial = true;
+ f_mystate1_G = val;
+ } catch (Throwable t) {
+ control.isFailing = true;
+ throw t;
+ }
+ }
+ return val;
+ }
+
+ MarketDataBenchmark_jmhType f_marketdatabenchmark0_0;
+
+ MarketDataBenchmark_jmhType _jmh_tryInit_f_marketdatabenchmark0_0(InfraControl control) throws Throwable {
+ if (control.isFailing) throw new FailureAssistException();
+ MarketDataBenchmark_jmhType val = f_marketdatabenchmark0_0;
+ if (val == null) {
+ val = new MarketDataBenchmark_jmhType();
+ f_marketdatabenchmark0_0 = val;
+ }
+ return val;
+ }
+
+
+}
+
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testEncode_jmhTest.class b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testEncode_jmhTest.class
new file mode 100644
index 0000000000..382472500f
Binary files /dev/null and b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testEncode_jmhTest.class differ
diff --git a/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testEncode_jmhTest.java b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testEncode_jmhTest.java
new file mode 100644
index 0000000000..a43269743e
--- /dev/null
+++ b/sbe-benchmarks/build/classes/java/main/uk/co/real_logic/sbe/generated/MarketDataBenchmark_testEncode_jmhTest.java
@@ -0,0 +1,383 @@
+package uk.co.real_logic.sbe.generated;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.concurrent.TimeUnit;
+import org.openjdk.jmh.annotations.CompilerControl;
+import org.openjdk.jmh.runner.InfraControl;
+import org.openjdk.jmh.infra.ThreadParams;
+import org.openjdk.jmh.results.BenchmarkTaskResult;
+import org.openjdk.jmh.results.Result;
+import org.openjdk.jmh.results.ThroughputResult;
+import org.openjdk.jmh.results.AverageTimeResult;
+import org.openjdk.jmh.results.SampleTimeResult;
+import org.openjdk.jmh.results.SingleShotResult;
+import org.openjdk.jmh.util.SampleBuffer;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Threads;
+import org.openjdk.jmh.annotations.Warmup;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.results.RawResults;
+import org.openjdk.jmh.results.ResultRole;
+import java.lang.reflect.Field;
+import org.openjdk.jmh.infra.BenchmarkParams;
+import org.openjdk.jmh.infra.IterationParams;
+import org.openjdk.jmh.infra.Blackhole;
+import org.openjdk.jmh.infra.Control;
+import org.openjdk.jmh.results.ScalarResult;
+import org.openjdk.jmh.results.AggregationPolicy;
+import org.openjdk.jmh.runner.FailureAssistException;
+
+import uk.co.real_logic.sbe.generated.MarketDataBenchmark_jmhType;
+import uk.co.real_logic.sbe.generated.MarketDataBenchmark_MyState_jmhType;
+public final class MarketDataBenchmark_testEncode_jmhTest {
+
+ boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
+ boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
+ boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
+ boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
+ boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
+ boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
+ boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
+ boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
+ boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
+ boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
+ boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
+ boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
+ boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
+ boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
+ boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
+ boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
+ int startRndMask;
+ BenchmarkParams benchmarkParams;
+ IterationParams iterationParams;
+ ThreadParams threadParams;
+ Blackhole blackhole;
+ Control notifyControl;
+
+ public BenchmarkTaskResult testEncode_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testEncode_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_marketdatabenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new ThroughputResult(ResultRole.PRIMARY, "testEncode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testEncode_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ testEncode_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_mystate1_G, l_marketdatabenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps;
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ res.measuredOps /= batchSize;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new AverageTimeResult(ResultRole.PRIMARY, "testEncode", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long operations = 0;
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ do {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ operations++;
+ } while(!control.isDone);
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testEncode_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ RawResults res = new RawResults();
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ control.announceWarmupReady();
+ while (control.warmupShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+
+ notifyControl.startMeasurement = true;
+ int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond
+ int batchSize = iterationParams.getBatchSize();
+ int opsPerInv = benchmarkParams.getOpsPerInvocation();
+ SampleBuffer buffer = new SampleBuffer();
+ testEncode_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_mystate1_G, l_marketdatabenchmark0_0);
+ notifyControl.stopMeasurement = true;
+ control.announceWarmdownReady();
+ try {
+ while (control.warmdownShouldWait) {
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ res.allOps++;
+ }
+ control.preTearDown();
+ } catch (InterruptedException ie) {
+ control.preTearDownForce();
+ }
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ res.allOps += res.measuredOps * batchSize;
+ res.allOps *= opsPerInv;
+ res.allOps /= batchSize;
+ res.measuredOps *= opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);
+ results.add(new SampleTimeResult(ResultRole.PRIMARY, "testEncode", buffer, benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long realTime = 0;
+ long operations = 0;
+ int rnd = (int)System.nanoTime();
+ int rndMask = startRndMask;
+ long time = 0;
+ int currentStride = 0;
+ do {
+ rnd = (rnd * 1664525 + 1013904223);
+ boolean sample = (rnd & rndMask) == 0;
+ if (sample) {
+ time = System.nanoTime();
+ }
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ }
+ if (sample) {
+ buffer.add((System.nanoTime() - time) / opsPerInv);
+ if (currentStride++ > targetSamples) {
+ buffer.half();
+ currentStride = 0;
+ rndMask = (rndMask << 1) + 1;
+ }
+ }
+ operations++;
+ } while(!control.isDone);
+ startRndMask = Math.max(startRndMask, rndMask);
+ result.realTime = realTime;
+ result.measuredOps = operations;
+ }
+
+
+ public BenchmarkTaskResult testEncode_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable {
+ this.benchmarkParams = control.benchmarkParams;
+ this.iterationParams = control.iterationParams;
+ this.threadParams = threadParams;
+ this.notifyControl = control.notifyControl;
+ if (this.blackhole == null) {
+ this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous.");
+ }
+ if (threadParams.getSubgroupIndex() == 0) {
+ MarketDataBenchmark_jmhType l_marketdatabenchmark0_0 = _jmh_tryInit_f_marketdatabenchmark0_0(control);
+ MarketDataBenchmark_MyState_jmhType l_mystate1_G = _jmh_tryInit_f_mystate1_G(control);
+
+ control.preSetup();
+
+
+ notifyControl.startMeasurement = true;
+ RawResults res = new RawResults();
+ int batchSize = iterationParams.getBatchSize();
+ testEncode_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_mystate1_G, l_marketdatabenchmark0_0);
+ control.preTearDown();
+
+ if (control.isLastIteration()) {
+ synchronized(this.getClass()) {
+ f_mystate1_G = null;
+ }
+ f_marketdatabenchmark0_0 = null;
+ }
+ int opsPerInv = control.benchmarkParams.getOpsPerInvocation();
+ long totalOps = opsPerInv;
+ BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps);
+ results.add(new SingleShotResult(ResultRole.PRIMARY, "testEncode", res.getTime(), benchmarkParams.getTimeUnit()));
+ this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes.");
+ return results;
+ } else
+ throw new IllegalStateException("Harness failed to distribute threads among groups properly");
+ }
+
+ public static void testEncode_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, MarketDataBenchmark_MyState_jmhType l_mystate1_G, MarketDataBenchmark_jmhType l_marketdatabenchmark0_0) throws Throwable {
+ long realTime = 0;
+ result.startTime = System.nanoTime();
+ for (int b = 0; b < batchSize; b++) {
+ if (control.volatileSpoiler) return;
+ blackhole.consume(l_marketdatabenchmark0_0.testEncode(l_mystate1_G));
+ }
+ result.stopTime = System.nanoTime();
+ result.realTime = realTime;
+ }
+
+
+ static volatile MarketDataBenchmark_MyState_jmhType f_mystate1_G;
+
+ MarketDataBenchmark_MyState_jmhType _jmh_tryInit_f_mystate1_G(InfraControl control) throws Throwable {
+ MarketDataBenchmark_MyState_jmhType val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ synchronized(this.getClass()) {
+ try {
+ if (control.isFailing) throw new FailureAssistException();
+ val = f_mystate1_G;
+ if (val != null) {
+ return val;
+ }
+ val = new MarketDataBenchmark_MyState_jmhType();
+ val.readyTrial = true;
+ f_mystate1_G = val;
+ } catch (Throwable t) {
+ control.isFailing = true;
+ throw t;
+ }
+ }
+ return val;
+ }
+
+ MarketDataBenchmark_jmhType f_marketdatabenchmark0_0;
+
+ MarketDataBenchmark_jmhType _jmh_tryInit_f_marketdatabenchmark0_0(InfraControl control) throws Throwable {
+ if (control.isFailing) throw new FailureAssistException();
+ MarketDataBenchmark_jmhType val = f_marketdatabenchmark0_0;
+ if (val == null) {
+ val = new MarketDataBenchmark_jmhType();
+ f_marketdatabenchmark0_0 = val;
+ }
+ return val;
+ }
+
+
+}
+
diff --git a/sbe-benchmarks/build/docs/javadoc/allclasses-frame.html b/sbe-benchmarks/build/docs/javadoc/allclasses-frame.html
new file mode 100644
index 0000000000..7b20b18059
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/allclasses-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/allclasses-noframe.html b/sbe-benchmarks/build/docs/javadoc/allclasses-noframe.html
new file mode 100644
index 0000000000..d3976195b4
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/allclasses-noframe.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/constant-values.html b/sbe-benchmarks/build/docs/javadoc/constant-values.html
new file mode 100644
index 0000000000..c26f034b67
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/constant-values.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+常量字段值 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/deprecated-list.html b/sbe-benchmarks/build/docs/javadoc/deprecated-list.html
new file mode 100644
index 0000000000..72424468d8
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/deprecated-list.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+已过时的列表 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/help-doc.html b/sbe-benchmarks/build/docs/javadoc/help-doc.html
new file mode 100644
index 0000000000..0fe2b3c79d
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/help-doc.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+API 帮助 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+程序包
+每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:
+
+接口 (斜体)
+类
+枚举
+异常错误
+错误
+注释类型
+
+
+
+类/接口
+每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:
+
+类继承图
+直接子类
+所有已知子接口
+所有已知实现类
+类/接口声明
+类/接口说明
+
+
+嵌套类概要
+字段概要
+构造器概要
+方法概要
+
+
+字段详细资料
+构造器详细资料
+方法详细资料
+
+每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。
+
+
+注释类型
+每个注释类型都有各自的页面, 其中包含以下部分:
+
+注释类型声明
+注释类型说明
+必需元素概要
+可选元素概要
+元素详细资料
+
+
+
+枚举
+每个枚举都有各自的页面, 其中包含以下部分:
+
+枚举声明
+枚举说明
+枚举常量概要
+枚举常量详细资料
+
+
+
+树 (类分层结构)
+对于所有程序包, 有一个类分层结构 页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从java.lang.Object
开始, 按继承结构对类进行排列。接口不从java.lang.Object
继承。
+
+查看“概览”页面时, 单击 "树" 将显示所有程序包的分层结构。
+查看特定程序包, 类或接口页面时, 单击 "树" 将仅显示该程序包的分层结构。
+
+
+
+已过时的 API
+已过时的 API 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。
+
+
+索引
+索引 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。
+
+
+上一个/下一个
+这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。
+
+
+框架/无框架
+这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。
+
+
+所有类
+所有类 链接显示所有类和接口 (除了非静态嵌套类型)。
+
+
+序列化表格
+每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。
+
+
+常量字段值
+常量字段值 页面列出了静态最终字段及其值。
+
+
+
此帮助文件适用于使用标准 doclet 生成的 API 文档。
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/index-all.html b/sbe-benchmarks/build/docs/javadoc/index-all.html
new file mode 100644
index 0000000000..1df655b5fd
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/index-all.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+索引 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/index.html b/sbe-benchmarks/build/docs/javadoc/index.html
new file mode 100644
index 0000000000..2c965259d8
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/index.html
@@ -0,0 +1,72 @@
+
+
+
+
+
+Simple Binary Encoding
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+框架预警
+请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到非框架版本 。
+
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/overview-tree.html b/sbe-benchmarks/build/docs/javadoc/overview-tree.html
new file mode 100644
index 0000000000..895a30c08f
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/overview-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/package-list b/sbe-benchmarks/build/docs/javadoc/package-list
new file mode 100644
index 0000000000..f816342b5d
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/package-list
@@ -0,0 +1 @@
+uk.co.real_logic.sbe
diff --git a/sbe-benchmarks/build/docs/javadoc/script.js b/sbe-benchmarks/build/docs/javadoc/script.js
new file mode 100644
index 0000000000..b346356931
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+ count = 0;
+ for (var key in methods) {
+ var row = document.getElementById(key);
+ if ((methods[key] & type) != 0) {
+ row.style.display = '';
+ row.className = (count++ % 2) ? rowColor : altColor;
+ }
+ else
+ row.style.display = 'none';
+ }
+ updateTabs(type);
+}
+
+function updateTabs(type)
+{
+ for (var value in tabs) {
+ var sNode = document.getElementById(tabs[value][0]);
+ var spanNode = sNode.firstChild;
+ if (value == type) {
+ sNode.className = activeTableTab;
+ spanNode.innerHTML = tabs[value][1];
+ }
+ else {
+ sNode.className = tableTab;
+ spanNode.innerHTML = "" + tabs[value][1] + " ";
+ }
+ }
+}
diff --git a/sbe-benchmarks/build/docs/javadoc/stylesheet.css b/sbe-benchmarks/build/docs/javadoc/stylesheet.css
new file mode 100644
index 0000000000..98055b22d6
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4A6782;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4A6782;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#dee3e9;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+ text-transform:uppercase;
+}
+.navBarCell1Rev {
+ background-color:#F8981D;
+ color:#253441;
+ margin: auto 5px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #ededed;
+ background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border-left:1px solid #EEE;
+ border-right:1px solid #EEE;
+ border-bottom:1px solid #EEE;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ border: none;
+ height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ height:16px;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#4D7A97;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#4D7A97;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#dee3e9;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+ font-size:13px;
+}
+td.colLast, th.colLast {
+ font-size:13px;
+}
+td.colOne, th.colOne {
+ font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#EEEEFF;
+}
+.altColor {
+ background-color:#FFFFFF;
+}
+.rowColor {
+ background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+ font-size:14px;
+ font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+ color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/CarBenchmark.MyState.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/CarBenchmark.MyState.html
new file mode 100644
index 0000000000..cc3a728183
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/CarBenchmark.MyState.html
@@ -0,0 +1,238 @@
+
+
+
+
+
+CarBenchmark.MyState (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.CarBenchmark.MyState
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+MyState
+public MyState()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/CarBenchmark.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/CarBenchmark.html
new file mode 100644
index 0000000000..8d3cb8d88b
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/CarBenchmark.html
@@ -0,0 +1,332 @@
+
+
+
+
+
+CarBenchmark (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.CarBenchmark
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CarBenchmark
+public CarBenchmark()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+encode
+public static void encode(uk.co.real_logic.sbe.benchmarks.MessageHeaderEncoder messageHeader,
+ uk.co.real_logic.sbe.benchmarks.CarEncoder car,
+ org.agrona.concurrent.UnsafeBuffer buffer,
+ int bufferIndex)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/MarketDataBenchmark.MyState.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/MarketDataBenchmark.MyState.html
new file mode 100644
index 0000000000..4c8490e2c4
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/MarketDataBenchmark.MyState.html
@@ -0,0 +1,238 @@
+
+
+
+
+
+MarketDataBenchmark.MyState (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.MarketDataBenchmark.MyState
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+MyState
+public MyState()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/MarketDataBenchmark.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/MarketDataBenchmark.html
new file mode 100644
index 0000000000..12cdd9231a
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/MarketDataBenchmark.html
@@ -0,0 +1,332 @@
+
+
+
+
+
+MarketDataBenchmark (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.MarketDataBenchmark
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+encode
+public static void encode(uk.co.real_logic.sbe.benchmarks.fix.MessageHeaderEncoder messageHeader,
+ uk.co.real_logic.sbe.benchmarks.fix.MarketDataIncrementalRefreshTradesEncoder marketData,
+ org.agrona.concurrent.UnsafeBuffer buffer,
+ int bufferIndex)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html
new file mode 100644
index 0000000000..7439dd12fb
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+uk.co.real_logic.sbe (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html
new file mode 100644
index 0000000000..674cdb9880
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+uk.co.real_logic.sbe (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html
new file mode 100644
index 0000000000..ea9ebc5c28
--- /dev/null
+++ b/sbe-benchmarks/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+uk.co.real_logic.sbe 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.java
new file mode 100644
index 0000000000..0663d36620
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+public enum BooleanType
+{
+ F((short)0),
+
+ T((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ BooleanType(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static BooleanType get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return F;
+ case 1: return T;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.java
new file mode 100644
index 0000000000..22b8d79c01
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.java
@@ -0,0 +1,1499 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarDecoder
+{
+ public static final int BLOCK_LENGTH = 41;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public CarDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public long serialNumber()
+ {
+ return (buffer.getInt(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public int modelYear()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType available()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 6) & 0xFF)));
+ }
+
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 7;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Model code()
+ {
+ return Model.get(buffer.getByte(offset + 7));
+ }
+
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int someNumbersNullValue()
+ {
+ return -2147483648;
+ }
+
+ public static int someNumbersMinValue()
+ {
+ return -2147483647;
+ }
+
+ public static int someNumbersMaxValue()
+ {
+ return 2147483647;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public int someNumbers(final int index)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 8 + (index * 4);
+
+ return buffer.getInt(pos, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 28;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public byte vehicleCode(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 28 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getVehicleCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 28, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String vehicleCode()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 28, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getVehicleCode(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 28 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 34;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasDecoder extras = new OptionalExtrasDecoder();
+
+ public OptionalExtrasDecoder extras()
+ {
+ extras.wrap(buffer, offset + 34);
+ return extras;
+ }
+
+ public static int engineId()
+ {
+ return 8;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 35;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineDecoder engine = new EngineDecoder();
+
+ public EngineDecoder engine()
+ {
+ engine.wrap(buffer, offset + 35);
+ return engine;
+ }
+
+ private final FuelFiguresDecoder fuelFigures = new FuelFiguresDecoder(this);
+
+ public static long fuelFiguresDecoderId()
+ {
+ return 9;
+ }
+
+ public static int fuelFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public FuelFiguresDecoder fuelFigures()
+ {
+ fuelFigures.wrap(buffer);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ FuelFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public FuelFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 10;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public int speed()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int mpgId()
+ {
+ return 11;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float mpg()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='speed', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("speed=");
+ builder.append(speed());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='mpg', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mpg=");
+ builder.append(mpg());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ private final PerformanceFiguresDecoder performanceFigures = new PerformanceFiguresDecoder(this);
+
+ public static long performanceFiguresDecoderId()
+ {
+ return 12;
+ }
+
+ public static int performanceFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public PerformanceFiguresDecoder performanceFigures()
+ {
+ performanceFigures.wrap(buffer);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+ private final AccelerationDecoder acceleration;
+
+ PerformanceFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationDecoder(parentMessage);
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public PerformanceFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 13;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short octaneRating()
+ {
+ return ((short)(buffer.getByte(offset + 0) & 0xFF));
+ }
+
+
+ public static long accelerationDecoderId()
+ {
+ return 14;
+ }
+
+ public static int accelerationDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public AccelerationDecoder acceleration()
+ {
+ acceleration.wrap(buffer);
+ return acceleration;
+ }
+
+ public static class AccelerationDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ AccelerationDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public AccelerationDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 15;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public int mph()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int secondsId()
+ {
+ return 16;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float seconds()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='mph', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mph=");
+ builder.append(mph());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='seconds', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("seconds=");
+ builder.append(seconds());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='octaneRating', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint8', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("octaneRating=");
+ builder.append(octaneRating());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='acceleration', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=6, offset=1, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("acceleration=[");
+ AccelerationDecoder acceleration = acceleration();
+ if (acceleration.count() > 0)
+ {
+ while (acceleration.hasNext())
+ {
+ acceleration.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 17;
+ }
+
+ public static int manufacturerSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "ISO-8859-1";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 4;
+ }
+
+ public int manufacturerLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getManufacturer(final UnsafeBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getManufacturer(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapManufacturer(final UnsafeBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String manufacturer()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "ISO-8859-1");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int modelId()
+ {
+ return 18;
+ }
+
+ public static int modelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "ISO-8859-1";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 4;
+ }
+
+ public int modelLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getModel(final UnsafeBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getModel(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapModel(final UnsafeBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String model()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "ISO-8859-1");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[Car](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("):");
+ //Token{signal=BEGIN_FIELD, name='serialNumber', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=4, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("serialNumber=");
+ builder.append(serialNumber());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='modelYear', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='ModelYear', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("modelYear=");
+ builder.append(modelYear());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='available', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=1, offset=6, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=6, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("available=");
+ builder.append(available());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='code', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=1, offset=7, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Model', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=7, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("code=");
+ builder.append(code());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='someNumbers', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=20, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='someNumbers', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("someNumbers=");
+ builder.append('[');
+ if (someNumbersLength() > 0)
+ {
+ for (int i = 0; i < someNumbersLength(); i++)
+ {
+ builder.append(someNumbers(i));
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='vehicleCode', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=6, offset=28, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='VehicleCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=28, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("vehicleCode=");
+ for (int i = 0; i < vehicleCodeLength() && vehicleCode(i) > 0; i++)
+ {
+ builder.append((char)vehicleCode(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='extras', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=1, offset=34, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_SET, name='OptionalExtras', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=34, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("extras=");
+ builder.append(extras());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='engine', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=6, offset=35, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Engine', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=35, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("engine=");
+ engine().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='fuelFigures', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=6, offset=41, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("fuelFigures=[");
+ FuelFiguresDecoder fuelFigures = fuelFigures();
+ if (fuelFigures.count() > 0)
+ {
+ while (fuelFigures.hasNext())
+ {
+ fuelFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='performanceFigures', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=1, offset=-1, componentTokenCount=21, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("performanceFigures=[");
+ PerformanceFiguresDecoder performanceFigures = performanceFigures();
+ if (performanceFigures.count() > 0)
+ {
+ while (performanceFigures.hasNext())
+ {
+ performanceFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='manufacturer', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("manufacturer=");
+ builder.append('\'' + manufacturer() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='model', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("model=");
+ builder.append('\'' + model() + '\'');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.java
new file mode 100644
index 0000000000..68d7467222
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.java
@@ -0,0 +1,1239 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarEncoder
+{
+ public static final int BLOCK_LENGTH = 41;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public CarEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public CarEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public CarEncoder serialNumber(final long value)
+ {
+ buffer.putInt(offset + 0, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public CarEncoder modelYear(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder available(final BooleanType value)
+ {
+ buffer.putByte(offset + 6, (byte)value.value());
+ return this;
+ }
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 7;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder code(final Model value)
+ {
+ buffer.putByte(offset + 7, value.value());
+ return this;
+ }
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int someNumbersNullValue()
+ {
+ return -2147483648;
+ }
+
+ public static int someNumbersMinValue()
+ {
+ return -2147483647;
+ }
+
+ public static int someNumbersMaxValue()
+ {
+ return 2147483647;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public CarEncoder someNumbers(final int index, final int value)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 8 + (index * 4);
+ buffer.putInt(pos, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+
+ return this;
+ }
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 28;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public CarEncoder vehicleCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 28 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public CarEncoder putVehicleCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 28, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 28, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 28 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 28 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 28 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 34;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasEncoder extras = new OptionalExtrasEncoder();
+
+ public OptionalExtrasEncoder extras()
+ {
+ extras.wrap(buffer, offset + 34);
+ return extras;
+ }
+
+ public static int engineId()
+ {
+ return 8;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 35;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineEncoder engine = new EngineEncoder();
+
+ public EngineEncoder engine()
+ {
+ engine.wrap(buffer, offset + 35);
+ return engine;
+ }
+
+ private final FuelFiguresEncoder fuelFigures = new FuelFiguresEncoder(this);
+
+ public static long fuelFiguresId()
+ {
+ return 9;
+ }
+
+ public FuelFiguresEncoder fuelFiguresCount(final int count)
+ {
+ fuelFigures.wrap(buffer, count);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ FuelFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public FuelFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 10;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public FuelFiguresEncoder speed(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mpgId()
+ {
+ return 11;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public FuelFiguresEncoder mpg(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+
+ private final PerformanceFiguresEncoder performanceFigures = new PerformanceFiguresEncoder(this);
+
+ public static long performanceFiguresId()
+ {
+ return 12;
+ }
+
+ public PerformanceFiguresEncoder performanceFiguresCount(final int count)
+ {
+ performanceFigures.wrap(buffer, count);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private final AccelerationEncoder acceleration;
+
+ PerformanceFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationEncoder(parentMessage);
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)1, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ public PerformanceFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 13;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)254;
+ }
+
+ public PerformanceFiguresEncoder octaneRating(final short value)
+ {
+ buffer.putByte(offset + 0, (byte)value);
+ return this;
+ }
+
+
+ public static long accelerationId()
+ {
+ return 14;
+ }
+
+ public AccelerationEncoder accelerationCount(final int count)
+ {
+ acceleration.wrap(buffer, count);
+ return acceleration;
+ }
+
+ public static class AccelerationEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ AccelerationEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public AccelerationEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 15;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public AccelerationEncoder mph(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int secondsId()
+ {
+ return 16;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public AccelerationEncoder seconds(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 17;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "ISO-8859-1";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putManufacturer(final UnsafeBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putManufacturer(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder manufacturer(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("ISO-8859-1");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int modelId()
+ {
+ return 18;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "ISO-8859-1";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putModel(final UnsafeBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putModel(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder model(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("ISO-8859-1");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ CarDecoder writer = new CarDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.java
new file mode 100644
index 0000000000..fccbcd24a9
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.java
@@ -0,0 +1,344 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class EngineDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 6;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public EngineDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacitySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public int capacity()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int numCylindersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short numCylinders()
+ {
+ return ((short)(buffer.getByte(offset + 2) & 0xFF));
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public byte manufacturerCode(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getManufacturerCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 3, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String manufacturerCode()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 3, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getManufacturerCode(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 3 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int fuelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='capacity', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("capacity=");
+ builder.append(capacity());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numCylinders', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numCylinders=");
+ builder.append(numCylinders());
+ builder.append('|');
+ //Token{signal=ENCODING, name='maxRpm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=3, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=9000, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='manufacturerCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=3, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("manufacturerCode=");
+ for (int i = 0; i < manufacturerCodeLength() && manufacturerCode(i) > 0; i++)
+ {
+ builder.append((char)manufacturerCode(i));
+ }
+ builder.append('|');
+ //Token{signal=ENCODING, name='fuel', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=6, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=Petrol, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.java
new file mode 100644
index 0000000000..61d29e4175
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.java
@@ -0,0 +1,314 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class EngineEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 6;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public EngineEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public EngineEncoder capacity(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public EngineEncoder numCylinders(final short value)
+ {
+ buffer.putByte(offset + 2, (byte)value);
+ return this;
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public EngineEncoder manufacturerCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public EngineEncoder putManufacturerCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 3, src, srcOffset, length);
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 3, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 3 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 3 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 3 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ EngineDecoder writer = new EngineDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.java
new file mode 100644
index 0000000000..fcec99dd05
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.java
@@ -0,0 +1,147 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public GroupSizeEncodingDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public int numInGroup()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numInGroup', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numInGroup=");
+ builder.append(numInGroup());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.java
new file mode 100644
index 0000000000..abd44f4458
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.java
@@ -0,0 +1,132 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public GroupSizeEncodingEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder numInGroup(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ GroupSizeEncodingDecoder writer = new GroupSizeEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.java
new file mode 100644
index 0000000000..b603345c94
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.java
@@ -0,0 +1,227 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public MessageHeaderDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int templateId()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int schemaId()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public int version()
+ {
+ return (buffer.getShort(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='templateId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("templateId=");
+ builder.append(templateId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='schemaId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("schemaId=");
+ builder.append(schemaId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='version', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("version=");
+ builder.append(version());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.java
new file mode 100644
index 0000000000..34febfe14f
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.java
@@ -0,0 +1,196 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public MessageHeaderEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder templateId(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder schemaId(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder version(final int value)
+ {
+ buffer.putShort(offset + 6, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MessageHeaderDecoder writer = new MessageHeaderDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.java
new file mode 100644
index 0000000000..4d4180462d
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.java
@@ -0,0 +1,10 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+public enum MetaAttribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/Model.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/Model.java
new file mode 100644
index 0000000000..0fd95c19ca
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/Model.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+public enum Model
+{
+ A((byte)65),
+
+ B((byte)66),
+
+ C((byte)67),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ Model(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static Model get(final byte value)
+ {
+ switch (value)
+ {
+ case 65: return A;
+ case 66: return B;
+ case 67: return C;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.java
new file mode 100644
index 0000000000..c1a595d661
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.java
@@ -0,0 +1,128 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OptionalExtrasDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public OptionalExtrasDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getByte(offset);
+ }
+
+ public boolean sunRoof()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 0));
+ }
+
+ public static boolean sunRoof(final byte value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean sportsPack()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 1));
+ }
+
+ public static boolean sportsPack(final byte value)
+ {
+ return 0 != (value & (1 << 1));
+ }
+
+ public boolean cruiseControl()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 2));
+ }
+
+ public static boolean cruiseControl(final byte value)
+ {
+ return 0 != (value & (1 << 2));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (sunRoof())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sunRoof");
+ atLeastOne = true;
+ }
+ if (sportsPack())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sportsPack");
+ atLeastOne = true;
+ }
+ if (cruiseControl())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("cruiseControl");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.java
new file mode 100644
index 0000000000..fe440e04fe
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.java
@@ -0,0 +1,97 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OptionalExtrasEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public OptionalExtrasEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public OptionalExtrasEncoder clear()
+ {
+ buffer.putByte(offset, (byte)(short)0);
+ return this;
+ }
+
+ public OptionalExtrasEncoder sunRoof(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sunRoof(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ }
+
+ public OptionalExtrasEncoder sportsPack(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sportsPack(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ }
+
+ public OptionalExtrasEncoder cruiseControl(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte cruiseControl(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.java
new file mode 100644
index 0000000000..6babe280aa
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.java
@@ -0,0 +1,136 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class VarStringEncodingDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public VarStringEncodingDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 4;
+ }
+
+ public static int lengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long lengthNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long lengthMinValue()
+ {
+ return 0L;
+ }
+
+ public static long lengthMaxValue()
+ {
+ return 1073741824L;
+ }
+
+ public long length()
+ {
+ return (buffer.getInt(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static int varDataSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='length', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=1073741824, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("length=");
+ builder.append(length());
+ builder.append('|');
+ //Token{signal=ENCODING, name='varData', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=-1, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='ISO-8859-1', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.java
new file mode 100644
index 0000000000..23604be326
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.java
@@ -0,0 +1,122 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class VarStringEncodingEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public VarStringEncodingEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 4;
+ }
+
+ public static long lengthNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long lengthMinValue()
+ {
+ return 0L;
+ }
+
+ public static long lengthMaxValue()
+ {
+ return 1073741824L;
+ }
+
+ public VarStringEncodingEncoder length(final long value)
+ {
+ buffer.putInt(offset + 0, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ VarStringEncodingDecoder writer = new VarStringEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.java
new file mode 100644
index 0000000000..5edcc2a0ad
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum BooleanType
+{
+ FIX_FALSE((short)0),
+
+ FIX_TRUE((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ BooleanType(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static BooleanType get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return FIX_FALSE;
+ case 1: return FIX_TRUE;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.java
new file mode 100644
index 0000000000..a7fc853d19
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.java
@@ -0,0 +1,48 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum CtiCode
+{
+ OWN((byte)49),
+
+ HOUSE((byte)50),
+
+ ON_FLOOR((byte)51),
+
+ NOT_ON_FLOOR((byte)52),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ CtiCode(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static CtiCode get(final byte value)
+ {
+ switch (value)
+ {
+ case 49: return OWN;
+ case 50: return HOUSE;
+ case 51: return ON_FLOOR;
+ case 52: return NOT_ON_FLOOR;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.java
new file mode 100644
index 0000000000..b06b823949
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.java
@@ -0,0 +1,75 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum CustOrderHandlingInst
+{
+ PHONE_SIMPLE((byte)65),
+
+ PHONE_COMPLEX((byte)66),
+
+ FCM_PROVIDED_SCREEN((byte)67),
+
+ OTHER_PROVIDED_SCREEN((byte)68),
+
+ CLIENT_PROVIDED_PLATFORM_CONTROLLED_BY_FCM((byte)69),
+
+ CLIENT_PROVIDED_PLATFORM_DIRECT_TO_EXCHANGE((byte)70),
+
+ FCM_API_OR_FIX((byte)71),
+
+ ALGO_ENGINE((byte)72),
+
+ PRICE_AT_EXECUTION((byte)74),
+
+ DESK_ELECTRONIC((byte)87),
+
+ DESK_PIT((byte)88),
+
+ CLIENT_ELECTRONIC((byte)89),
+
+ CLIENT_PIT((byte)90),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ CustOrderHandlingInst(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static CustOrderHandlingInst get(final byte value)
+ {
+ switch (value)
+ {
+ case 65: return PHONE_SIMPLE;
+ case 66: return PHONE_COMPLEX;
+ case 67: return FCM_PROVIDED_SCREEN;
+ case 68: return OTHER_PROVIDED_SCREEN;
+ case 69: return CLIENT_PROVIDED_PLATFORM_CONTROLLED_BY_FCM;
+ case 70: return CLIENT_PROVIDED_PLATFORM_DIRECT_TO_EXCHANGE;
+ case 71: return FCM_API_OR_FIX;
+ case 72: return ALGO_ENGINE;
+ case 74: return PRICE_AT_EXECUTION;
+ case 87: return DESK_ELECTRONIC;
+ case 88: return DESK_PIT;
+ case 89: return CLIENT_ELECTRONIC;
+ case 90: return CLIENT_PIT;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.java
new file mode 100644
index 0000000000..49f4b9f048
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum CustomerOrFirm
+{
+ CUSTOMER((short)0),
+
+ FIRM((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ CustomerOrFirm(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static CustomerOrFirm get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return CUSTOMER;
+ case 1: return FIRM;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.java
new file mode 100644
index 0000000000..da7d4abdd2
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.java
@@ -0,0 +1,141 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class Decimal64Decoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public Decimal64Decoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int mantissaEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mantissaEncodingLength()
+ {
+ return 8;
+ }
+
+ public static int mantissaSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long mantissaNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long mantissaMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long mantissaMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long mantissa()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int exponentEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int exponentEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int exponentSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte exponentNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte exponentMinValue()
+ {
+ return (byte)-127;
+ }
+
+ public static byte exponentMaxValue()
+ {
+ return (byte)127;
+ }
+
+ public byte exponent()
+ {
+ return (byte)7;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='mantissa', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mantissa=");
+ builder.append(mantissa());
+ builder.append('|');
+ //Token{signal=ENCODING, name='exponent', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=INT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=7, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.java
new file mode 100644
index 0000000000..bd89a7881b
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.java
@@ -0,0 +1,127 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class Decimal64Encoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public Decimal64Encoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int mantissaEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mantissaEncodingLength()
+ {
+ return 8;
+ }
+
+ public static long mantissaNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long mantissaMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long mantissaMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public Decimal64Encoder mantissa(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int exponentEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int exponentEncodingLength()
+ {
+ return 0;
+ }
+
+ public static byte exponentNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte exponentMinValue()
+ {
+ return (byte)-127;
+ }
+
+ public static byte exponentMaxValue()
+ {
+ return (byte)127;
+ }
+
+ public byte exponent()
+ {
+ return (byte)7;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ Decimal64Decoder writer = new Decimal64Decoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.java
new file mode 100644
index 0000000000..4d8bf7d610
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.java
@@ -0,0 +1,144 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class GroupSizeEncodingDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public GroupSizeEncodingDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public int numInGroup()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numInGroup', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numInGroup=");
+ builder.append(numInGroup());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.java
new file mode 100644
index 0000000000..3263189b15
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.java
@@ -0,0 +1,129 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class GroupSizeEncodingEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public GroupSizeEncodingEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder numInGroup(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ GroupSizeEncodingDecoder writer = new GroupSizeEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.java
new file mode 100644
index 0000000000..1911b110bd
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.java
@@ -0,0 +1,39 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum HandInst
+{
+ AUTOMATED_EXECUTION((byte)49),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ HandInst(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static HandInst get(final byte value)
+ {
+ switch (value)
+ {
+ case 49: return AUTOMATED_EXECUTION;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.java
new file mode 100644
index 0000000000..26de022d9e
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.java
@@ -0,0 +1,141 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class IntQty32Decoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public IntQty32Decoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int mantissaEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mantissaEncodingLength()
+ {
+ return 4;
+ }
+
+ public static int mantissaSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mantissaNullValue()
+ {
+ return -2147483648;
+ }
+
+ public static int mantissaMinValue()
+ {
+ return -2147483647;
+ }
+
+ public static int mantissaMaxValue()
+ {
+ return 2147483647;
+ }
+
+ public int mantissa()
+ {
+ return buffer.getInt(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int exponentEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int exponentEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int exponentSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte exponentNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte exponentMinValue()
+ {
+ return (byte)-127;
+ }
+
+ public static byte exponentMaxValue()
+ {
+ return (byte)127;
+ }
+
+ public byte exponent()
+ {
+ return (byte)0;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='mantissa', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mantissa=");
+ builder.append(mantissa());
+ builder.append('|');
+ //Token{signal=ENCODING, name='exponent', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=4, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=INT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=0, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.java
new file mode 100644
index 0000000000..29eb3e03e9
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.java
@@ -0,0 +1,127 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class IntQty32Encoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public IntQty32Encoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int mantissaEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mantissaEncodingLength()
+ {
+ return 4;
+ }
+
+ public static int mantissaNullValue()
+ {
+ return -2147483648;
+ }
+
+ public static int mantissaMinValue()
+ {
+ return -2147483647;
+ }
+
+ public static int mantissaMaxValue()
+ {
+ return 2147483647;
+ }
+
+ public IntQty32Encoder mantissa(final int value)
+ {
+ buffer.putInt(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int exponentEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int exponentEncodingLength()
+ {
+ return 0;
+ }
+
+ public static byte exponentNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte exponentMinValue()
+ {
+ return (byte)-127;
+ }
+
+ public static byte exponentMaxValue()
+ {
+ return (byte)127;
+ }
+
+ public byte exponent()
+ {
+ return (byte)0;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ IntQty32Decoder writer = new IntQty32Decoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.java
new file mode 100644
index 0000000000..374ea9e92b
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.java
@@ -0,0 +1,84 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MDEntryType
+{
+ BID((byte)48),
+
+ OFFER((byte)49),
+
+ TRADE((byte)50),
+
+ OPENING_PRICE((byte)52),
+
+ SETTLEMENT_PRICE((byte)54),
+
+ TRADING_SESSION_HIGH_PRICE((byte)55),
+
+ TRADING_SESSION_LOW_PRICE((byte)56),
+
+ TRADE_VOLUME((byte)66),
+
+ OPEN_INTEREST((byte)67),
+
+ SIMULATED_SELL((byte)69),
+
+ SIMULATED_BUY((byte)70),
+
+ EMPTY_THE_BOOK((byte)74),
+
+ SESSION_HIGH_BID((byte)78),
+
+ SESSION_LOW_OFFER((byte)79),
+
+ FIXING_PRICE((byte)87),
+
+ CASH_NOTE((byte)88),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ MDEntryType(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static MDEntryType get(final byte value)
+ {
+ switch (value)
+ {
+ case 48: return BID;
+ case 49: return OFFER;
+ case 50: return TRADE;
+ case 52: return OPENING_PRICE;
+ case 54: return SETTLEMENT_PRICE;
+ case 55: return TRADING_SESSION_HIGH_PRICE;
+ case 56: return TRADING_SESSION_LOW_PRICE;
+ case 66: return TRADE_VOLUME;
+ case 67: return OPEN_INTEREST;
+ case 69: return SIMULATED_SELL;
+ case 70: return SIMULATED_BUY;
+ case 74: return EMPTY_THE_BOOK;
+ case 78: return SESSION_HIGH_BID;
+ case 79: return SESSION_LOW_OFFER;
+ case 87: return FIXING_PRICE;
+ case 88: return CASH_NOTE;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.java
new file mode 100644
index 0000000000..6a0ac0799d
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.java
@@ -0,0 +1,39 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MDQuoteType
+{
+ TRADABLE((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ MDQuoteType(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static MDQuoteType get(final short value)
+ {
+ switch (value)
+ {
+ case 1: return TRADABLE;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.java
new file mode 100644
index 0000000000..18b77231a4
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.java
@@ -0,0 +1,48 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MDUpdateAction
+{
+ NEW((short)0),
+
+ CHANGE((short)1),
+
+ DELETE((short)2),
+
+ OVERLAY((short)5),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ MDUpdateAction(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static MDUpdateAction get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return NEW;
+ case 1: return CHANGE;
+ case 2: return DELETE;
+ case 5: return OVERLAY;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.java
new file mode 100644
index 0000000000..8d3c6901fe
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MMProtectionReset
+{
+ RESET((byte)89),
+
+ DO_NOT_RESET((byte)78),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ MMProtectionReset(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static MMProtectionReset get(final byte value)
+ {
+ switch (value)
+ {
+ case 89: return RESET;
+ case 78: return DO_NOT_RESET;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.java
new file mode 100644
index 0000000000..1939972885
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.java
@@ -0,0 +1,1461 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class MarketDataIncrementalRefreshDecoder
+{
+ public static final int BLOCK_LENGTH = 2;
+ public static final int TEMPLATE_ID = 88;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MarketDataIncrementalRefreshDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 "X";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MarketDataIncrementalRefreshDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int tradeDateId()
+ {
+ return 75;
+ }
+
+ public static int tradeDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeDateEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int tradeDateEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String tradeDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int tradeDateNullValue()
+ {
+ return 65535;
+ }
+
+ public static int tradeDateMinValue()
+ {
+ return 0;
+ }
+
+ public static int tradeDateMaxValue()
+ {
+ return 65534;
+ }
+
+ public int tradeDate()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ private final EntriesDecoder entries = new EntriesDecoder(this);
+
+ public static long entriesDecoderId()
+ {
+ return 268;
+ }
+
+ public static int entriesDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public EntriesDecoder entries()
+ {
+ entries.wrap(buffer);
+ return entries;
+ }
+
+ public static class EntriesDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MarketDataIncrementalRefreshDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ EntriesDecoder(final MarketDataIncrementalRefreshDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 82;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public EntriesDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int mdUpdateActionId()
+ {
+ return 279;
+ }
+
+ public static int mdUpdateActionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdUpdateActionEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mdUpdateActionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdUpdateActionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MDUpdateAction mdUpdateAction()
+ {
+ return MDUpdateAction.get(((short)(buffer.getByte(offset + 0) & 0xFF)));
+ }
+
+
+ public static int mdPriceLevelId()
+ {
+ return 1023;
+ }
+
+ public static int mdPriceLevelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdPriceLevelEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int mdPriceLevelEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdPriceLevelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "MDPriceLevel";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short mdPriceLevelNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short mdPriceLevelMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short mdPriceLevelMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short mdPriceLevel()
+ {
+ return ((short)(buffer.getByte(offset + 1) & 0xFF));
+ }
+
+
+ public static int mdEntryTypeId()
+ {
+ return 269;
+ }
+
+ public static int mdEntryTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryTypeEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mdEntryTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdEntryTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MDEntryType mdEntryType()
+ {
+ return MDEntryType.get(buffer.getByte(offset + 2));
+ }
+
+
+ public static int securityIdSourceId()
+ {
+ return 22;
+ }
+
+ public static int securityIdSourceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIdSourceEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int securityIdSourceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String securityIdSourceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "SecurityID";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityIdSourceNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityIdSourceMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityIdSourceMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public byte securityIdSource()
+ {
+ return buffer.getByte(offset + 3);
+ }
+
+
+ public static int securityIdId()
+ {
+ return 48;
+ }
+
+ public static int securityIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int securityIdEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String securityIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "InstrumentID";
+ case PRESENCE: 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 + 4, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int rptSeqId()
+ {
+ return 83;
+ }
+
+ public static int rptSeqSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int rptSeqEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int rptSeqEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String rptSeqMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "SequenceNumber";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short rptSeqNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short rptSeqMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short rptSeqMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short rptSeq()
+ {
+ return ((short)(buffer.getByte(offset + 12) & 0xFF));
+ }
+
+
+ public static int quoteConditionId()
+ {
+ return 276;
+ }
+
+ public static int quoteConditionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteConditionEncodingOffset()
+ {
+ return 13;
+ }
+
+ public static int quoteConditionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String quoteConditionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final QuoteConditionDecoder quoteCondition = new QuoteConditionDecoder();
+
+ public QuoteConditionDecoder quoteCondition()
+ {
+ quoteCondition.wrap(buffer, offset + 13);
+ return quoteCondition;
+ }
+
+ public static int mdEntryPxId()
+ {
+ return 270;
+ }
+
+ public static int mdEntryPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryPxEncodingOffset()
+ {
+ return 14;
+ }
+
+ public static int mdEntryPxEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String mdEntryPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final Decimal64Decoder mdEntryPx = new Decimal64Decoder();
+
+ public Decimal64Decoder mdEntryPx()
+ {
+ mdEntryPx.wrap(buffer, offset + 14);
+ return mdEntryPx;
+ }
+
+ public static int numberOfOrdersId()
+ {
+ return 346;
+ }
+
+ public static int numberOfOrdersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numberOfOrdersEncodingOffset()
+ {
+ return 22;
+ }
+
+ public static int numberOfOrdersEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String numberOfOrdersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "NumberOfOrders";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long numberOfOrdersNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long numberOfOrdersMinValue()
+ {
+ return 0L;
+ }
+
+ public static long numberOfOrdersMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public long numberOfOrders()
+ {
+ return (buffer.getInt(offset + 22, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int mdEntryTimeId()
+ {
+ return 273;
+ }
+
+ public static int mdEntryTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryTimeEncodingOffset()
+ {
+ return 26;
+ }
+
+ public static int mdEntryTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String mdEntryTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long mdEntryTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long mdEntryTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long mdEntryTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long mdEntryTime()
+ {
+ return buffer.getLong(offset + 26, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int mdEntrySizeId()
+ {
+ return 271;
+ }
+
+ public static int mdEntrySizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntrySizeEncodingOffset()
+ {
+ return 34;
+ }
+
+ public static int mdEntrySizeEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mdEntrySizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder mdEntrySize = new IntQty32Decoder();
+
+ public IntQty32Decoder mdEntrySize()
+ {
+ mdEntrySize.wrap(buffer, offset + 34);
+ return mdEntrySize;
+ }
+
+ public static int tradingSessionIdId()
+ {
+ return 336;
+ }
+
+ public static int tradingSessionIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradingSessionIdEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int tradingSessionIdEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String tradingSessionIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MarketStateIdentifier tradingSessionId()
+ {
+ return MarketStateIdentifier.get(((short)(buffer.getByte(offset + 38) & 0xFF)));
+ }
+
+
+ public static int netChgPrevDayId()
+ {
+ return 451;
+ }
+
+ public static int netChgPrevDaySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int netChgPrevDayEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int netChgPrevDayEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String netChgPrevDayMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final Decimal64Decoder netChgPrevDay = new Decimal64Decoder();
+
+ public Decimal64Decoder netChgPrevDay()
+ {
+ netChgPrevDay.wrap(buffer, offset + 39);
+ return netChgPrevDay;
+ }
+
+ public static int tickDirectionId()
+ {
+ return 274;
+ }
+
+ public static int tickDirectionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tickDirectionEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int tickDirectionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String tickDirectionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public TickDirection tickDirection()
+ {
+ return TickDirection.get(((short)(buffer.getByte(offset + 47) & 0xFF)));
+ }
+
+
+ public static int openCloseSettleFlagId()
+ {
+ return 286;
+ }
+
+ public static int openCloseSettleFlagSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int openCloseSettleFlagEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int openCloseSettleFlagEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String openCloseSettleFlagMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OpenCloseSettleFlag openCloseSettleFlag()
+ {
+ return OpenCloseSettleFlag.get((buffer.getShort(offset + 48, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF));
+ }
+
+
+ public static int settleDateId()
+ {
+ return 64;
+ }
+
+ public static int settleDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int settleDateEncodingOffset()
+ {
+ return 50;
+ }
+
+ public static int settleDateEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String settleDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long settleDateNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long settleDateMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long settleDateMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long settleDate()
+ {
+ return buffer.getLong(offset + 50, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int tradeConditionId()
+ {
+ return 277;
+ }
+
+ public static int tradeConditionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeConditionEncodingOffset()
+ {
+ return 58;
+ }
+
+ public static int tradeConditionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String tradeConditionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final TradeConditionDecoder tradeCondition = new TradeConditionDecoder();
+
+ public TradeConditionDecoder tradeCondition()
+ {
+ tradeCondition.wrap(buffer, offset + 58);
+ return tradeCondition;
+ }
+
+ public static int tradeVolumeId()
+ {
+ return 1020;
+ }
+
+ public static int tradeVolumeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeVolumeEncodingOffset()
+ {
+ return 59;
+ }
+
+ public static int tradeVolumeEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String tradeVolumeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder tradeVolume = new IntQty32Decoder();
+
+ public IntQty32Decoder tradeVolume()
+ {
+ tradeVolume.wrap(buffer, offset + 59);
+ return tradeVolume;
+ }
+
+ public static int mdQuoteTypeId()
+ {
+ return 1070;
+ }
+
+ public static int mdQuoteTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdQuoteTypeEncodingOffset()
+ {
+ return 63;
+ }
+
+ public static int mdQuoteTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdQuoteTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MDQuoteType mdQuoteType()
+ {
+ return MDQuoteType.get(((short)(buffer.getByte(offset + 63) & 0xFF)));
+ }
+
+
+ public static int fixingBracketId()
+ {
+ return 5790;
+ }
+
+ public static int fixingBracketSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int fixingBracketEncodingOffset()
+ {
+ return 64;
+ }
+
+ public static int fixingBracketEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String fixingBracketMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long fixingBracketNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long fixingBracketMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long fixingBracketMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long fixingBracket()
+ {
+ return buffer.getLong(offset + 64, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int aggressorSideId()
+ {
+ return 5797;
+ }
+
+ public static int aggressorSideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int aggressorSideEncodingOffset()
+ {
+ return 72;
+ }
+
+ public static int aggressorSideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String aggressorSideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Side aggressorSide()
+ {
+ return Side.get(buffer.getByte(offset + 72));
+ }
+
+
+ public static int matchEventIndicatorId()
+ {
+ return 5799;
+ }
+
+ public static int matchEventIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int matchEventIndicatorEncodingOffset()
+ {
+ return 73;
+ }
+
+ public static int matchEventIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String matchEventIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MatchEventIndicator matchEventIndicator()
+ {
+ return MatchEventIndicator.get(buffer.getByte(offset + 73));
+ }
+
+
+ public static int tradeIdId()
+ {
+ return 1003;
+ }
+
+ public static int tradeIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeIdEncodingOffset()
+ {
+ return 74;
+ }
+
+ public static int tradeIdEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String tradeIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "ExecID";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long tradeIdNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long tradeIdMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long tradeIdMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long tradeId()
+ {
+ return buffer.getLong(offset + 74, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='MdUpdateAction', referencedName='null', description='null', id=279, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MDUpdateAction', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("mdUpdateAction=");
+ builder.append(mdUpdateAction());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdPriceLevel', referencedName='null', description='null', id=1023, version=0, deprecated=0, encodedLength=1, offset=1, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='MDPriceLevel'}}
+ //Token{signal=ENCODING, name='uint8', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=1, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='MDPriceLevel'}}
+ builder.append("mdPriceLevel=");
+ builder.append(mdPriceLevel());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntryType', referencedName='null', description='null', id=269, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=20, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MDEntryType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=18, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("mdEntryType=");
+ builder.append(mdEntryType());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityIdSource', referencedName='null', description='null', id=22, version=0, deprecated=0, encodedLength=1, offset=3, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='SecurityID'}}
+ //Token{signal=ENCODING, name='char', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=3, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='SecurityID'}}
+ builder.append("securityIdSource=");
+ builder.append(securityIdSource());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityId', referencedName='null', description='null', id=48, version=0, deprecated=0, encodedLength=8, offset=4, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='InstrumentID'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='InstrumentID'}}
+ builder.append("securityId=");
+ builder.append(securityId());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='RptSeq', referencedName='null', description='null', id=83, version=0, deprecated=0, encodedLength=1, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='SequenceNumber'}}
+ //Token{signal=ENCODING, name='uint8', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='SequenceNumber'}}
+ builder.append("rptSeq=");
+ builder.append(rptSeq());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='QuoteCondition', referencedName='null', description='null', id=276, version=0, deprecated=0, encodedLength=1, offset=13, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_SET, name='QuoteCondition', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=13, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='QuoteCondition'}}
+ builder.append("quoteCondition=");
+ builder.append(quoteCondition());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntryPx', referencedName='null', description='null', id=270, version=0, deprecated=0, encodedLength=8, offset=14, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Decimal64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=14, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("mdEntryPx=");
+ mdEntryPx().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='NumberOfOrders', referencedName='null', description='null', id=346, version=0, deprecated=0, encodedLength=4, offset=22, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='NumberOfOrders'}}
+ //Token{signal=ENCODING, name='uint32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=22, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='NumberOfOrders'}}
+ builder.append("numberOfOrders=");
+ builder.append(numberOfOrders());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntryTime', referencedName='null', description='null', id=273, version=0, deprecated=0, encodedLength=8, offset=26, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='null'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=26, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("mdEntryTime=");
+ builder.append(mdEntryTime());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntrySize', referencedName='null', description='null', id=271, version=0, deprecated=0, encodedLength=4, offset=34, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=34, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("mdEntrySize=");
+ mdEntrySize().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TradingSessionId', referencedName='null', description='null', id=336, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MarketStateIdentifier', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("tradingSessionId=");
+ builder.append(tradingSessionId());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='NetChgPrevDay', referencedName='null', description='null', id=451, version=0, deprecated=0, encodedLength=8, offset=39, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Decimal64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=39, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("netChgPrevDay=");
+ netChgPrevDay().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TickDirection', referencedName='null', description='null', id=274, version=0, deprecated=0, encodedLength=1, offset=47, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='TickDirection', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=47, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("tickDirection=");
+ builder.append(tickDirection());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OpenCloseSettleFlag', referencedName='null', description='null', id=286, version=0, deprecated=0, encodedLength=2, offset=48, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='OpenCloseSettleFlag', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=48, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("openCloseSettleFlag=");
+ builder.append(openCloseSettleFlag());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SettleDate', referencedName='null', description='null', id=64, version=0, deprecated=0, encodedLength=8, offset=50, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='null'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=50, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("settleDate=");
+ builder.append(settleDate());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TradeCondition', referencedName='null', description='null', id=277, version=0, deprecated=0, encodedLength=1, offset=58, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_SET, name='TradeCondition', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=58, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='TradeCondition'}}
+ builder.append("tradeCondition=");
+ builder.append(tradeCondition());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TradeVolume', referencedName='null', description='null', id=1020, version=0, deprecated=0, encodedLength=4, offset=59, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=59, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("tradeVolume=");
+ tradeVolume().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdQuoteType', referencedName='null', description='null', id=1070, version=0, deprecated=0, encodedLength=1, offset=63, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MDQuoteType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=63, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("mdQuoteType=");
+ builder.append(mdQuoteType());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='FixingBracket', referencedName='null', description='null', id=5790, version=0, deprecated=0, encodedLength=8, offset=64, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='null'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=64, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("fixingBracket=");
+ builder.append(fixingBracket());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='AggressorSide', referencedName='null', description='null', id=5797, version=0, deprecated=0, encodedLength=1, offset=72, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Side', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=72, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("aggressorSide=");
+ builder.append(aggressorSide());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MatchEventIndicator', referencedName='null', description='null', id=5799, version=0, deprecated=0, encodedLength=1, offset=73, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MatchEventIndicator', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=73, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='MatchEventIndicator'}}
+ builder.append("matchEventIndicator=");
+ builder.append(matchEventIndicator());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TradeId', referencedName='null', description='null', id=1003, version=0, deprecated=0, encodedLength=8, offset=74, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='ExecID'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=74, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='ExecID'}}
+ builder.append("tradeId=");
+ builder.append(tradeId());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[MarketDataIncrementalRefresh](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("):");
+ //Token{signal=BEGIN_FIELD, name='TradeDate', referencedName='null', description='null', id=75, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='LocalMktDate', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='LocalMktDate'}}
+ builder.append("tradeDate=");
+ builder.append(tradeDate());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='Entries', referencedName='null', description='null', id=268, version=0, deprecated=0, encodedLength=82, offset=2, componentTokenCount=136, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("entries=[");
+ EntriesDecoder entries = entries();
+ if (entries.count() > 0)
+ {
+ while (entries.hasNext())
+ {
+ entries.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.java
new file mode 100644
index 0000000000..538880d606
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.java
@@ -0,0 +1,1288 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class MarketDataIncrementalRefreshEncoder
+{
+ public static final int BLOCK_LENGTH = 2;
+ public static final int TEMPLATE_ID = 88;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MarketDataIncrementalRefreshEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 "X";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MarketDataIncrementalRefreshEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public MarketDataIncrementalRefreshEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int tradeDateId()
+ {
+ return 75;
+ }
+
+ public static int tradeDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeDateEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int tradeDateEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String tradeDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int tradeDateNullValue()
+ {
+ return 65535;
+ }
+
+ public static int tradeDateMinValue()
+ {
+ return 0;
+ }
+
+ public static int tradeDateMaxValue()
+ {
+ return 65534;
+ }
+
+ public MarketDataIncrementalRefreshEncoder tradeDate(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ private final EntriesEncoder entries = new EntriesEncoder(this);
+
+ public static long entriesId()
+ {
+ return 268;
+ }
+
+ public EntriesEncoder entriesCount(final int count)
+ {
+ entries.wrap(buffer, count);
+ return entries;
+ }
+
+ public static class EntriesEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MarketDataIncrementalRefreshEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ EntriesEncoder(final MarketDataIncrementalRefreshEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)82, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 82;
+ }
+
+ public EntriesEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int mdUpdateActionId()
+ {
+ return 279;
+ }
+
+ public static int mdUpdateActionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdUpdateActionEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mdUpdateActionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdUpdateActionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder mdUpdateAction(final MDUpdateAction value)
+ {
+ buffer.putByte(offset + 0, (byte)value.value());
+ return this;
+ }
+
+ public static int mdPriceLevelId()
+ {
+ return 1023;
+ }
+
+ public static int mdPriceLevelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdPriceLevelEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int mdPriceLevelEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdPriceLevelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "MDPriceLevel";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short mdPriceLevelNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short mdPriceLevelMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short mdPriceLevelMaxValue()
+ {
+ return (short)254;
+ }
+
+ public EntriesEncoder mdPriceLevel(final short value)
+ {
+ buffer.putByte(offset + 1, (byte)value);
+ return this;
+ }
+
+
+ public static int mdEntryTypeId()
+ {
+ return 269;
+ }
+
+ public static int mdEntryTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryTypeEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mdEntryTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdEntryTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder mdEntryType(final MDEntryType value)
+ {
+ buffer.putByte(offset + 2, value.value());
+ return this;
+ }
+
+ public static int securityIdSourceId()
+ {
+ return 22;
+ }
+
+ public static int securityIdSourceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIdSourceEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int securityIdSourceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String securityIdSourceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "SecurityID";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityIdSourceNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityIdSourceMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityIdSourceMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public EntriesEncoder securityIdSource(final byte value)
+ {
+ buffer.putByte(offset + 3, value);
+ return this;
+ }
+
+
+ public static int securityIdId()
+ {
+ return 48;
+ }
+
+ public static int securityIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int securityIdEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String securityIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "InstrumentID";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long securityIdNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long securityIdMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long securityIdMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public EntriesEncoder securityId(final long value)
+ {
+ buffer.putLong(offset + 4, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int rptSeqId()
+ {
+ return 83;
+ }
+
+ public static int rptSeqSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int rptSeqEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int rptSeqEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String rptSeqMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "SequenceNumber";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short rptSeqNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short rptSeqMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short rptSeqMaxValue()
+ {
+ return (short)254;
+ }
+
+ public EntriesEncoder rptSeq(final short value)
+ {
+ buffer.putByte(offset + 12, (byte)value);
+ return this;
+ }
+
+
+ public static int quoteConditionId()
+ {
+ return 276;
+ }
+
+ public static int quoteConditionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteConditionEncodingOffset()
+ {
+ return 13;
+ }
+
+ public static int quoteConditionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String quoteConditionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final QuoteConditionEncoder quoteCondition = new QuoteConditionEncoder();
+
+ public QuoteConditionEncoder quoteCondition()
+ {
+ quoteCondition.wrap(buffer, offset + 13);
+ return quoteCondition;
+ }
+
+ public static int mdEntryPxId()
+ {
+ return 270;
+ }
+
+ public static int mdEntryPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryPxEncodingOffset()
+ {
+ return 14;
+ }
+
+ public static int mdEntryPxEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String mdEntryPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final Decimal64Encoder mdEntryPx = new Decimal64Encoder();
+
+ public Decimal64Encoder mdEntryPx()
+ {
+ mdEntryPx.wrap(buffer, offset + 14);
+ return mdEntryPx;
+ }
+
+ public static int numberOfOrdersId()
+ {
+ return 346;
+ }
+
+ public static int numberOfOrdersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numberOfOrdersEncodingOffset()
+ {
+ return 22;
+ }
+
+ public static int numberOfOrdersEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String numberOfOrdersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "NumberOfOrders";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long numberOfOrdersNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long numberOfOrdersMinValue()
+ {
+ return 0L;
+ }
+
+ public static long numberOfOrdersMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public EntriesEncoder numberOfOrders(final long value)
+ {
+ buffer.putInt(offset + 22, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mdEntryTimeId()
+ {
+ return 273;
+ }
+
+ public static int mdEntryTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryTimeEncodingOffset()
+ {
+ return 26;
+ }
+
+ public static int mdEntryTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String mdEntryTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long mdEntryTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long mdEntryTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long mdEntryTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public EntriesEncoder mdEntryTime(final long value)
+ {
+ buffer.putLong(offset + 26, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mdEntrySizeId()
+ {
+ return 271;
+ }
+
+ public static int mdEntrySizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntrySizeEncodingOffset()
+ {
+ return 34;
+ }
+
+ public static int mdEntrySizeEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mdEntrySizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder mdEntrySize = new IntQty32Encoder();
+
+ public IntQty32Encoder mdEntrySize()
+ {
+ mdEntrySize.wrap(buffer, offset + 34);
+ return mdEntrySize;
+ }
+
+ public static int tradingSessionIdId()
+ {
+ return 336;
+ }
+
+ public static int tradingSessionIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradingSessionIdEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int tradingSessionIdEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String tradingSessionIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder tradingSessionId(final MarketStateIdentifier value)
+ {
+ buffer.putByte(offset + 38, (byte)value.value());
+ return this;
+ }
+
+ public static int netChgPrevDayId()
+ {
+ return 451;
+ }
+
+ public static int netChgPrevDaySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int netChgPrevDayEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int netChgPrevDayEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String netChgPrevDayMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final Decimal64Encoder netChgPrevDay = new Decimal64Encoder();
+
+ public Decimal64Encoder netChgPrevDay()
+ {
+ netChgPrevDay.wrap(buffer, offset + 39);
+ return netChgPrevDay;
+ }
+
+ public static int tickDirectionId()
+ {
+ return 274;
+ }
+
+ public static int tickDirectionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tickDirectionEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int tickDirectionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String tickDirectionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder tickDirection(final TickDirection value)
+ {
+ buffer.putByte(offset + 47, (byte)value.value());
+ return this;
+ }
+
+ public static int openCloseSettleFlagId()
+ {
+ return 286;
+ }
+
+ public static int openCloseSettleFlagSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int openCloseSettleFlagEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int openCloseSettleFlagEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String openCloseSettleFlagMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder openCloseSettleFlag(final OpenCloseSettleFlag value)
+ {
+ buffer.putShort(offset + 48, (short)value.value(), java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ public static int settleDateId()
+ {
+ return 64;
+ }
+
+ public static int settleDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int settleDateEncodingOffset()
+ {
+ return 50;
+ }
+
+ public static int settleDateEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String settleDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long settleDateNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long settleDateMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long settleDateMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public EntriesEncoder settleDate(final long value)
+ {
+ buffer.putLong(offset + 50, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int tradeConditionId()
+ {
+ return 277;
+ }
+
+ public static int tradeConditionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeConditionEncodingOffset()
+ {
+ return 58;
+ }
+
+ public static int tradeConditionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String tradeConditionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final TradeConditionEncoder tradeCondition = new TradeConditionEncoder();
+
+ public TradeConditionEncoder tradeCondition()
+ {
+ tradeCondition.wrap(buffer, offset + 58);
+ return tradeCondition;
+ }
+
+ public static int tradeVolumeId()
+ {
+ return 1020;
+ }
+
+ public static int tradeVolumeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeVolumeEncodingOffset()
+ {
+ return 59;
+ }
+
+ public static int tradeVolumeEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String tradeVolumeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder tradeVolume = new IntQty32Encoder();
+
+ public IntQty32Encoder tradeVolume()
+ {
+ tradeVolume.wrap(buffer, offset + 59);
+ return tradeVolume;
+ }
+
+ public static int mdQuoteTypeId()
+ {
+ return 1070;
+ }
+
+ public static int mdQuoteTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdQuoteTypeEncodingOffset()
+ {
+ return 63;
+ }
+
+ public static int mdQuoteTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdQuoteTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder mdQuoteType(final MDQuoteType value)
+ {
+ buffer.putByte(offset + 63, (byte)value.value());
+ return this;
+ }
+
+ public static int fixingBracketId()
+ {
+ return 5790;
+ }
+
+ public static int fixingBracketSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int fixingBracketEncodingOffset()
+ {
+ return 64;
+ }
+
+ public static int fixingBracketEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String fixingBracketMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long fixingBracketNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long fixingBracketMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long fixingBracketMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public EntriesEncoder fixingBracket(final long value)
+ {
+ buffer.putLong(offset + 64, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int aggressorSideId()
+ {
+ return 5797;
+ }
+
+ public static int aggressorSideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int aggressorSideEncodingOffset()
+ {
+ return 72;
+ }
+
+ public static int aggressorSideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String aggressorSideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder aggressorSide(final Side value)
+ {
+ buffer.putByte(offset + 72, value.value());
+ return this;
+ }
+
+ public static int matchEventIndicatorId()
+ {
+ return 5799;
+ }
+
+ public static int matchEventIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int matchEventIndicatorEncodingOffset()
+ {
+ return 73;
+ }
+
+ public static int matchEventIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String matchEventIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public EntriesEncoder matchEventIndicator(final MatchEventIndicator value)
+ {
+ buffer.putByte(offset + 73, value.value());
+ return this;
+ }
+
+ public static int tradeIdId()
+ {
+ return 1003;
+ }
+
+ public static int tradeIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeIdEncodingOffset()
+ {
+ return 74;
+ }
+
+ public static int tradeIdEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String tradeIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "ExecID";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long tradeIdNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long tradeIdMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long tradeIdMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public EntriesEncoder tradeId(final long value)
+ {
+ buffer.putLong(offset + 74, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MarketDataIncrementalRefreshDecoder writer = new MarketDataIncrementalRefreshDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.java
new file mode 100644
index 0000000000..144f5b600d
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.java
@@ -0,0 +1,868 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Trade
+ */
+@SuppressWarnings("all")
+public class MarketDataIncrementalRefreshTradesDecoder
+{
+ public static final int BLOCK_LENGTH = 11;
+ public static final int TEMPLATE_ID = 2;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MarketDataIncrementalRefreshTradesDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 "X";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MarketDataIncrementalRefreshTradesDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long transactTime()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int eventTimeDeltaId()
+ {
+ return 37704;
+ }
+
+ public static int eventTimeDeltaSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int eventTimeDeltaEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int eventTimeDeltaEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String eventTimeDeltaMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int eventTimeDeltaNullValue()
+ {
+ return 65535;
+ }
+
+ public static int eventTimeDeltaMinValue()
+ {
+ return 0;
+ }
+
+ public static int eventTimeDeltaMaxValue()
+ {
+ return 65534;
+ }
+
+ public int eventTimeDelta()
+ {
+ return (buffer.getShort(offset + 8, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int matchEventIndicatorId()
+ {
+ return 5799;
+ }
+
+ public static int matchEventIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int matchEventIndicatorEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int matchEventIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String matchEventIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MatchEventIndicator matchEventIndicator()
+ {
+ return MatchEventIndicator.get(buffer.getByte(offset + 10));
+ }
+
+
+ private final MdIncGrpDecoder mdIncGrp = new MdIncGrpDecoder(this);
+
+ public static long mdIncGrpDecoderId()
+ {
+ return 268;
+ }
+
+ public static int mdIncGrpDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public MdIncGrpDecoder mdIncGrp()
+ {
+ mdIncGrp.wrap(buffer);
+ return mdIncGrp;
+ }
+
+ public static class MdIncGrpDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MarketDataIncrementalRefreshTradesDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ MdIncGrpDecoder(final MarketDataIncrementalRefreshTradesDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 33;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public MdIncGrpDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int tradeIdId()
+ {
+ return 1003;
+ }
+
+ public static int tradeIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeIdEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int tradeIdEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String tradeIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long tradeIdNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long tradeIdMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long tradeIdMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long tradeId()
+ {
+ 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)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: 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 mdEntryPxId()
+ {
+ return 270;
+ }
+
+ public static int mdEntryPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryPxEncodingOffset()
+ {
+ return 16;
+ }
+
+ public static int mdEntryPxEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String mdEntryPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final Decimal64Decoder mdEntryPx = new Decimal64Decoder();
+
+ public Decimal64Decoder mdEntryPx()
+ {
+ mdEntryPx.wrap(buffer, offset + 16);
+ return mdEntryPx;
+ }
+
+ public static int mdEntrySizeId()
+ {
+ return 271;
+ }
+
+ public static int mdEntrySizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntrySizeEncodingOffset()
+ {
+ return 24;
+ }
+
+ public static int mdEntrySizeEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mdEntrySizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder mdEntrySize = new IntQty32Decoder();
+
+ public IntQty32Decoder mdEntrySize()
+ {
+ mdEntrySize.wrap(buffer, offset + 24);
+ return mdEntrySize;
+ }
+
+ public static int numberOfOrdersId()
+ {
+ return 346;
+ }
+
+ public static int numberOfOrdersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numberOfOrdersEncodingOffset()
+ {
+ return 28;
+ }
+
+ public static int numberOfOrdersEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String numberOfOrdersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int numberOfOrdersNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numberOfOrdersMinValue()
+ {
+ return 0;
+ }
+
+ public static int numberOfOrdersMaxValue()
+ {
+ return 65534;
+ }
+
+ public int numberOfOrders()
+ {
+ return (buffer.getShort(offset + 28, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int mdUpdateActionId()
+ {
+ return 279;
+ }
+
+ public static int mdUpdateActionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdUpdateActionEncodingOffset()
+ {
+ return 30;
+ }
+
+ public static int mdUpdateActionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdUpdateActionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MDUpdateAction mdUpdateAction()
+ {
+ return MDUpdateAction.get(((short)(buffer.getByte(offset + 30) & 0xFF)));
+ }
+
+
+ public static int rptSeqId()
+ {
+ return 83;
+ }
+
+ public static int rptSeqSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int rptSeqEncodingOffset()
+ {
+ return 31;
+ }
+
+ public static int rptSeqEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String rptSeqMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short rptSeqNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short rptSeqMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short rptSeqMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short rptSeq()
+ {
+ return ((short)(buffer.getByte(offset + 31) & 0xFF));
+ }
+
+
+ public static int aggressorSideId()
+ {
+ return 5797;
+ }
+
+ public static int aggressorSideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int aggressorSideEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int aggressorSideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String aggressorSideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Side aggressorSide()
+ {
+ return Side.get(buffer.getByte(offset + 32));
+ }
+
+
+ public static int mdEntryTypeId()
+ {
+ return 269;
+ }
+
+ public static int mdEntryTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryTypeEncodingOffset()
+ {
+ return 33;
+ }
+
+ public static int mdEntryTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdEntryTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "constant";
+ }
+
+ return "";
+ }
+
+ public MDEntryType mdEntryType()
+ {
+ return MDEntryType.TRADE;
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='TradeId', referencedName='null', description='null', id=1003, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("tradeId=");
+ builder.append(tradeId());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityId', referencedName='null', description='null', id=48, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("securityId=");
+ builder.append(securityId());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntryPx', referencedName='null', description='null', id=270, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Decimal64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mdEntryPx=");
+ mdEntryPx().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntrySize', referencedName='null', description='null', id=271, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("mdEntrySize=");
+ mdEntrySize().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='NumberOfOrders', referencedName='null', description='null', id=346, version=0, deprecated=0, encodedLength=2, offset=28, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=28, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numberOfOrders=");
+ builder.append(numberOfOrders());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdUpdateAction', referencedName='null', description='null', id=279, version=0, deprecated=0, encodedLength=1, offset=30, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MDUpdateAction', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=30, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("mdUpdateAction=");
+ builder.append(mdUpdateAction());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='RptSeq', referencedName='null', description='null', id=83, version=0, deprecated=0, encodedLength=1, offset=31, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint8', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=31, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("rptSeq=");
+ builder.append(rptSeq());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='AggressorSide', referencedName='null', description='null', id=5797, version=0, deprecated=0, encodedLength=1, offset=32, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Side', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=32, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("aggressorSide=");
+ builder.append(aggressorSide());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MdEntryType', referencedName='null', description='null', id=269, version=0, deprecated=0, encodedLength=0, offset=33, componentTokenCount=20, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=MDEntryType.TRADE, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MDEntryType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=33, componentTokenCount=18, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("mdEntryType=");
+ builder.append(mdEntryType());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[MarketDataIncrementalRefreshTrades](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("):");
+ //Token{signal=BEGIN_FIELD, name='TransactTime', referencedName='null', description='null', id=60, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='null'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("transactTime=");
+ builder.append(transactTime());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='EventTimeDelta', referencedName='null', description='null', id=37704, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("eventTimeDelta=");
+ builder.append(eventTimeDelta());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MatchEventIndicator', referencedName='null', description='null', id=5799, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MatchEventIndicator', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='MatchEventIndicator'}}
+ builder.append("matchEventIndicator=");
+ builder.append(matchEventIndicator());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='MdIncGrp', referencedName='null', description='null', id=268, version=0, deprecated=0, encodedLength=33, offset=11, componentTokenCount=64, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mdIncGrp=[");
+ MdIncGrpDecoder mdIncGrp = mdIncGrp();
+ if (mdIncGrp.count() > 0)
+ {
+ while (mdIncGrp.hasNext())
+ {
+ mdIncGrp.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.java
new file mode 100644
index 0000000000..6122a8ed6a
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.java
@@ -0,0 +1,751 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Trade
+ */
+@SuppressWarnings("all")
+public class MarketDataIncrementalRefreshTradesEncoder
+{
+ public static final int BLOCK_LENGTH = 11;
+ public static final int TEMPLATE_ID = 2;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MarketDataIncrementalRefreshTradesEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 "X";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MarketDataIncrementalRefreshTradesEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public MarketDataIncrementalRefreshTradesEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public MarketDataIncrementalRefreshTradesEncoder transactTime(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int eventTimeDeltaId()
+ {
+ return 37704;
+ }
+
+ public static int eventTimeDeltaSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int eventTimeDeltaEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int eventTimeDeltaEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String eventTimeDeltaMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int eventTimeDeltaNullValue()
+ {
+ return 65535;
+ }
+
+ public static int eventTimeDeltaMinValue()
+ {
+ return 0;
+ }
+
+ public static int eventTimeDeltaMaxValue()
+ {
+ return 65534;
+ }
+
+ public MarketDataIncrementalRefreshTradesEncoder eventTimeDelta(final int value)
+ {
+ buffer.putShort(offset + 8, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int matchEventIndicatorId()
+ {
+ return 5799;
+ }
+
+ public static int matchEventIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int matchEventIndicatorEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int matchEventIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String matchEventIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MarketDataIncrementalRefreshTradesEncoder matchEventIndicator(final MatchEventIndicator value)
+ {
+ buffer.putByte(offset + 10, value.value());
+ return this;
+ }
+
+ private final MdIncGrpEncoder mdIncGrp = new MdIncGrpEncoder(this);
+
+ public static long mdIncGrpId()
+ {
+ return 268;
+ }
+
+ public MdIncGrpEncoder mdIncGrpCount(final int count)
+ {
+ mdIncGrp.wrap(buffer, count);
+ return mdIncGrp;
+ }
+
+ public static class MdIncGrpEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MarketDataIncrementalRefreshTradesEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ MdIncGrpEncoder(final MarketDataIncrementalRefreshTradesEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)33, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 33;
+ }
+
+ public MdIncGrpEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int tradeIdId()
+ {
+ return 1003;
+ }
+
+ public static int tradeIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int tradeIdEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int tradeIdEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String tradeIdMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long tradeIdNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long tradeIdMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long tradeIdMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public MdIncGrpEncoder tradeId(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ 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)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long securityIdNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long securityIdMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long securityIdMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public MdIncGrpEncoder securityId(final long value)
+ {
+ buffer.putLong(offset + 8, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mdEntryPxId()
+ {
+ return 270;
+ }
+
+ public static int mdEntryPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryPxEncodingOffset()
+ {
+ return 16;
+ }
+
+ public static int mdEntryPxEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String mdEntryPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final Decimal64Encoder mdEntryPx = new Decimal64Encoder();
+
+ public Decimal64Encoder mdEntryPx()
+ {
+ mdEntryPx.wrap(buffer, offset + 16);
+ return mdEntryPx;
+ }
+
+ public static int mdEntrySizeId()
+ {
+ return 271;
+ }
+
+ public static int mdEntrySizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntrySizeEncodingOffset()
+ {
+ return 24;
+ }
+
+ public static int mdEntrySizeEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mdEntrySizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder mdEntrySize = new IntQty32Encoder();
+
+ public IntQty32Encoder mdEntrySize()
+ {
+ mdEntrySize.wrap(buffer, offset + 24);
+ return mdEntrySize;
+ }
+
+ public static int numberOfOrdersId()
+ {
+ return 346;
+ }
+
+ public static int numberOfOrdersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numberOfOrdersEncodingOffset()
+ {
+ return 28;
+ }
+
+ public static int numberOfOrdersEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String numberOfOrdersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int numberOfOrdersNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numberOfOrdersMinValue()
+ {
+ return 0;
+ }
+
+ public static int numberOfOrdersMaxValue()
+ {
+ return 65534;
+ }
+
+ public MdIncGrpEncoder numberOfOrders(final int value)
+ {
+ buffer.putShort(offset + 28, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mdUpdateActionId()
+ {
+ return 279;
+ }
+
+ public static int mdUpdateActionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdUpdateActionEncodingOffset()
+ {
+ return 30;
+ }
+
+ public static int mdUpdateActionEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdUpdateActionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MdIncGrpEncoder mdUpdateAction(final MDUpdateAction value)
+ {
+ buffer.putByte(offset + 30, (byte)value.value());
+ return this;
+ }
+
+ public static int rptSeqId()
+ {
+ return 83;
+ }
+
+ public static int rptSeqSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int rptSeqEncodingOffset()
+ {
+ return 31;
+ }
+
+ public static int rptSeqEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String rptSeqMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short rptSeqNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short rptSeqMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short rptSeqMaxValue()
+ {
+ return (short)254;
+ }
+
+ public MdIncGrpEncoder rptSeq(final short value)
+ {
+ buffer.putByte(offset + 31, (byte)value);
+ return this;
+ }
+
+
+ public static int aggressorSideId()
+ {
+ return 5797;
+ }
+
+ public static int aggressorSideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int aggressorSideEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int aggressorSideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String aggressorSideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MdIncGrpEncoder aggressorSide(final Side value)
+ {
+ buffer.putByte(offset + 32, value.value());
+ return this;
+ }
+
+ public static int mdEntryTypeId()
+ {
+ return 269;
+ }
+
+ public static int mdEntryTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mdEntryTypeEncodingOffset()
+ {
+ return 33;
+ }
+
+ public static int mdEntryTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mdEntryTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "constant";
+ }
+
+ return "";
+ }
+
+ public MdIncGrpEncoder mdEntryType(final MDEntryType value)
+ {
+ buffer.putByte(offset + 33, value.value());
+ return this;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MarketDataIncrementalRefreshTradesDecoder writer = new MarketDataIncrementalRefreshTradesDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.java
new file mode 100644
index 0000000000..56579c357f
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MarketStateIdentifier
+{
+ PRE_OPENING((short)0),
+
+ OPENING_MODE((short)1),
+
+ CONTINUOUS_TRADING_MODE((short)2),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ MarketStateIdentifier(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static MarketStateIdentifier get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return PRE_OPENING;
+ case 1: return OPENING_MODE;
+ case 2: return CONTINUOUS_TRADING_MODE;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.java
new file mode 100644
index 0000000000..83dc095ea6
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.java
@@ -0,0 +1,2267 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class MassQuoteDecoder
+{
+ public static final int BLOCK_LENGTH = 62;
+ public static final int TEMPLATE_ID = 105;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MassQuoteDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 "i";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MassQuoteDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int quoteReqIDId()
+ {
+ return 131;
+ }
+
+ public static int quoteReqIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteReqIDEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int quoteReqIDEncodingLength()
+ {
+ return 23;
+ }
+
+ public static String quoteReqIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteReqIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteReqIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteReqIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteReqIDLength()
+ {
+ return 23;
+ }
+
+ public byte quoteReqID(final int index)
+ {
+ if (index < 0 || index >= 23)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String quoteReqIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getQuoteReqID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 23;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 0, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String quoteReqID()
+ {
+ final byte[] dst = new byte[23];
+ buffer.getBytes(this.offset + 0, dst, 0, 23);
+
+ int end = 0;
+ for (; end < 23 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getQuoteReqID(final Appendable value)
+ {
+ for (int i = 0; i < 23 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 0 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int quoteIDId()
+ {
+ return 117;
+ }
+
+ public static int quoteIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteIDEncodingOffset()
+ {
+ return 23;
+ }
+
+ public static int quoteIDEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String quoteIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteIDLength()
+ {
+ return 10;
+ }
+
+ public byte quoteID(final int index)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 23 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String quoteIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getQuoteID(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(this.offset + 23, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String quoteID()
+ {
+ final byte[] dst = new byte[10];
+ buffer.getBytes(this.offset + 23, 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 void getQuoteID(final Appendable value)
+ {
+ for (int i = 0; i < 10 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 23 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int mMAccountId()
+ {
+ return 9771;
+ }
+
+ public static int mMAccountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mMAccountEncodingOffset()
+ {
+ return 33;
+ }
+
+ public static int mMAccountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String mMAccountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte mMAccountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte mMAccountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte mMAccountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int mMAccountLength()
+ {
+ return 12;
+ }
+
+ public byte mMAccount(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 33 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String mMAccountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getMMAccount(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 33, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String mMAccount()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 33, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getMMAccount(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 33 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 45;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType manualOrderIndicator()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 45) & 0xFF)));
+ }
+
+
+ public static int custOrderHandlingInstId()
+ {
+ return 1031;
+ }
+
+ public static int custOrderHandlingInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int custOrderHandlingInstEncodingOffset()
+ {
+ return 46;
+ }
+
+ public static int custOrderHandlingInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String custOrderHandlingInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public CustOrderHandlingInst custOrderHandlingInst()
+ {
+ return CustOrderHandlingInst.get(buffer.getByte(offset + 46));
+ }
+
+
+ public static int customerOrFirmId()
+ {
+ return 204;
+ }
+
+ public static int customerOrFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int customerOrFirmEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int customerOrFirmEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String customerOrFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CustomerOrFirm customerOrFirm()
+ {
+ return CustomerOrFirm.get(((short)(buffer.getByte(offset + 47) & 0xFF)));
+ }
+
+
+ public static int selfMatchPreventionIDId()
+ {
+ return 7928;
+ }
+
+ public static int selfMatchPreventionIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int selfMatchPreventionIDEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int selfMatchPreventionIDEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String selfMatchPreventionIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte selfMatchPreventionIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte selfMatchPreventionIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte selfMatchPreventionIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int selfMatchPreventionIDLength()
+ {
+ return 12;
+ }
+
+ public byte selfMatchPreventionID(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 48 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String selfMatchPreventionIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSelfMatchPreventionID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 48, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String selfMatchPreventionID()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 48, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSelfMatchPreventionID(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 48 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int ctiCodeId()
+ {
+ return 9702;
+ }
+
+ public static int ctiCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ctiCodeEncodingOffset()
+ {
+ return 60;
+ }
+
+ public static int ctiCodeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ctiCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CtiCode ctiCode()
+ {
+ return CtiCode.get(buffer.getByte(offset + 60));
+ }
+
+
+ public static int mMProtectionResetId()
+ {
+ return 9773;
+ }
+
+ public static int mMProtectionResetSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mMProtectionResetEncodingOffset()
+ {
+ return 61;
+ }
+
+ public static int mMProtectionResetEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mMProtectionResetMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public MMProtectionReset mMProtectionReset()
+ {
+ return MMProtectionReset.get(buffer.getByte(offset + 61));
+ }
+
+
+ private final QuoteSetsDecoder quoteSets = new QuoteSetsDecoder(this);
+
+ public static long quoteSetsDecoderId()
+ {
+ return 296;
+ }
+
+ public static int quoteSetsDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public QuoteSetsDecoder quoteSets()
+ {
+ quoteSets.wrap(buffer);
+ return quoteSets;
+ }
+
+ public static class QuoteSetsDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MassQuoteDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+ private final QuoteEntriesDecoder quoteEntries;
+
+ QuoteSetsDecoder(final MassQuoteDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ quoteEntries = new QuoteEntriesDecoder(parentMessage);
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 24;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public QuoteSetsDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int quoteSetIDId()
+ {
+ return 302;
+ }
+
+ public static int quoteSetIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteSetIDEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int quoteSetIDEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String quoteSetIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteSetIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteSetIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteSetIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteSetIDLength()
+ {
+ return 3;
+ }
+
+ public byte quoteSetID(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String quoteSetIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getQuoteSetID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 0, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String quoteSetID()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 0, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getQuoteSetID(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 0 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int underlyingSecurityDescId()
+ {
+ return 307;
+ }
+
+ public static int underlyingSecurityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int underlyingSecurityDescEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int underlyingSecurityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String underlyingSecurityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte underlyingSecurityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte underlyingSecurityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte underlyingSecurityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int underlyingSecurityDescLength()
+ {
+ return 20;
+ }
+
+ public byte underlyingSecurityDesc(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String underlyingSecurityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getUnderlyingSecurityDesc(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 3, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String underlyingSecurityDesc()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 3, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getUnderlyingSecurityDesc(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 3 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int totQuoteEntriesId()
+ {
+ return 304;
+ }
+
+ public static int totQuoteEntriesSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int totQuoteEntriesEncodingOffset()
+ {
+ return 23;
+ }
+
+ public static int totQuoteEntriesEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String totQuoteEntriesMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short totQuoteEntriesNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short totQuoteEntriesMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short totQuoteEntriesMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short totQuoteEntries()
+ {
+ return ((short)(buffer.getByte(offset + 23) & 0xFF));
+ }
+
+
+ public static long quoteEntriesDecoderId()
+ {
+ return 295;
+ }
+
+ public static int quoteEntriesDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public QuoteEntriesDecoder quoteEntries()
+ {
+ quoteEntries.wrap(buffer);
+ return quoteEntries;
+ }
+
+ public static class QuoteEntriesDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MassQuoteDecoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ QuoteEntriesDecoder(final MassQuoteDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 90;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public QuoteEntriesDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int quoteEntryIDId()
+ {
+ return 299;
+ }
+
+ public static int quoteEntryIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteEntryIDEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int quoteEntryIDEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String quoteEntryIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteEntryIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteEntryIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteEntryIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteEntryIDLength()
+ {
+ return 10;
+ }
+
+ public byte quoteEntryID(final int index)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String quoteEntryIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getQuoteEntryID(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(this.offset + 0, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String quoteEntryID()
+ {
+ final byte[] dst = new byte[10];
+ buffer.getBytes(this.offset + 0, 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 void getQuoteEntryID(final Appendable value)
+ {
+ for (int i = 0; i < 10 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 0 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public byte symbol(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 10 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSymbol(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 10, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String symbol()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 10, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSymbol(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 10 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 16;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public byte securityDesc(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 16 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityDesc(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 16, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityDesc()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 16, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityDesc(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 16 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 36;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public byte securityType(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 36 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityType(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 36, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityType()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 36, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityType(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 36 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int securityIDId()
+ {
+ return 48;
+ }
+
+ public static int securityIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIDEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int securityIDEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String securityIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static long securityIDNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long securityIDMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long securityIDMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long securityID()
+ {
+ return buffer.getLong(offset + 39, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int securityIDSourceId()
+ {
+ return 22;
+ }
+
+ public static int securityIDSourceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIDSourceEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int securityIDSourceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String securityIDSourceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public SecurityIDSource securityIDSource()
+ {
+ return SecurityIDSource.get(buffer.getByte(offset + 47));
+ }
+
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long transactTime()
+ {
+ return buffer.getLong(offset + 48, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int bidPxId()
+ {
+ return 132;
+ }
+
+ public static int bidPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int bidPxEncodingOffset()
+ {
+ return 56;
+ }
+
+ public static int bidPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String bidPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceDecoder bidPx = new OptionalPriceDecoder();
+
+ public OptionalPriceDecoder bidPx()
+ {
+ bidPx.wrap(buffer, offset + 56);
+ return bidPx;
+ }
+
+ public static int bidSizeId()
+ {
+ return 134;
+ }
+
+ public static int bidSizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int bidSizeEncodingOffset()
+ {
+ return 65;
+ }
+
+ public static int bidSizeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String bidSizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static long bidSizeNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long bidSizeMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long bidSizeMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long bidSize()
+ {
+ return buffer.getLong(offset + 65, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int offerPxId()
+ {
+ return 133;
+ }
+
+ public static int offerPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int offerPxEncodingOffset()
+ {
+ return 73;
+ }
+
+ public static int offerPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String offerPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceDecoder offerPx = new OptionalPriceDecoder();
+
+ public OptionalPriceDecoder offerPx()
+ {
+ offerPx.wrap(buffer, offset + 73);
+ return offerPx;
+ }
+
+ public static int offerSizeId()
+ {
+ return 135;
+ }
+
+ public static int offerSizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int offerSizeEncodingOffset()
+ {
+ return 82;
+ }
+
+ public static int offerSizeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String offerSizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static long offerSizeNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long offerSizeMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long offerSizeMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long offerSize()
+ {
+ return buffer.getLong(offset + 82, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='QuoteEntryID', referencedName='null', description='null', id=299, version=0, deprecated=0, encodedLength=10, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string10', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=10, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("quoteEntryID=");
+ for (int i = 0; i < quoteEntryIDLength() && quoteEntryID(i) > 0; i++)
+ {
+ builder.append((char)quoteEntryID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Symbol', referencedName='null', description='null', id=55, version=0, deprecated=0, encodedLength=6, offset=10, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='Symbol', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=10, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("symbol=");
+ for (int i = 0; i < symbolLength() && symbol(i) > 0; i++)
+ {
+ builder.append((char)symbol(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityDesc', referencedName='null', description='null', id=107, version=0, deprecated=0, encodedLength=20, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityDesc=");
+ for (int i = 0; i < securityDescLength() && securityDesc(i) > 0; i++)
+ {
+ builder.append((char)securityDesc(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityType', referencedName='null', description='null', id=167, version=0, deprecated=0, encodedLength=3, offset=36, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=36, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityType=");
+ for (int i = 0; i < securityTypeLength() && securityType(i) > 0; i++)
+ {
+ builder.append((char)securityType(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityID', referencedName='null', description='null', id=48, version=0, deprecated=0, encodedLength=8, offset=39, componentTokenCount=3, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ //Token{signal=ENCODING, name='optionalInt64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=39, componentTokenCount=1, encoding=Encoding{presence=OPTIONAL, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("securityID=");
+ builder.append(securityID());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityIDSource', referencedName='null', description='null', id=22, version=0, deprecated=0, encodedLength=1, offset=47, componentTokenCount=5, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='SecurityIDSource', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=47, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("securityIDSource=");
+ builder.append(securityIDSource());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TransactTime', referencedName='null', description='null', id=60, version=0, deprecated=0, encodedLength=8, offset=48, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=48, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("transactTime=");
+ builder.append(transactTime());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='BidPx', referencedName='null', description='null', id=132, version=0, deprecated=0, encodedLength=9, offset=56, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='OptionalPrice', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=9, offset=56, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("bidPx=");
+ bidPx().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='BidSize', referencedName='null', description='null', id=134, version=0, deprecated=0, encodedLength=8, offset=65, componentTokenCount=3, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ //Token{signal=ENCODING, name='optionalInt64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=65, componentTokenCount=1, encoding=Encoding{presence=OPTIONAL, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("bidSize=");
+ builder.append(bidSize());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OfferPx', referencedName='null', description='null', id=133, version=0, deprecated=0, encodedLength=9, offset=73, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='OptionalPrice', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=9, offset=73, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("offerPx=");
+ offerPx().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OfferSize', referencedName='null', description='null', id=135, version=0, deprecated=0, encodedLength=8, offset=82, componentTokenCount=3, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ //Token{signal=ENCODING, name='optionalInt64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=82, componentTokenCount=1, encoding=Encoding{presence=OPTIONAL, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("offerSize=");
+ builder.append(offerSize());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='QuoteSetID', referencedName='null', description='null', id=302, version=0, deprecated=0, encodedLength=3, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("quoteSetID=");
+ for (int i = 0; i < quoteSetIDLength() && quoteSetID(i) > 0; i++)
+ {
+ builder.append((char)quoteSetID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='UnderlyingSecurityDesc', referencedName='null', description='null', id=307, version=0, deprecated=0, encodedLength=20, offset=3, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=3, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("underlyingSecurityDesc=");
+ for (int i = 0; i < underlyingSecurityDescLength() && underlyingSecurityDesc(i) > 0; i++)
+ {
+ builder.append((char)underlyingSecurityDesc(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TotQuoteEntries', referencedName='null', description='null', id=304, version=0, deprecated=0, encodedLength=1, offset=23, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ //Token{signal=ENCODING, name='uint8', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=23, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("totQuoteEntries=");
+ builder.append(totQuoteEntries());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='QuoteEntries', referencedName='null', description='null', id=295, version=0, deprecated=0, encodedLength=90, offset=24, componentTokenCount=47, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("quoteEntries=[");
+ QuoteEntriesDecoder quoteEntries = quoteEntries();
+ if (quoteEntries.count() > 0)
+ {
+ while (quoteEntries.hasNext())
+ {
+ quoteEntries.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[MassQuote](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("):");
+ //Token{signal=BEGIN_FIELD, name='QuoteReqID', referencedName='null', description='null', id=131, version=0, deprecated=0, encodedLength=23, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string23', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=23, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("quoteReqID=");
+ for (int i = 0; i < quoteReqIDLength() && quoteReqID(i) > 0; i++)
+ {
+ builder.append((char)quoteReqID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='QuoteID', referencedName='null', description='null', id=117, version=0, deprecated=0, encodedLength=10, offset=23, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string10', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=10, offset=23, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("quoteID=");
+ for (int i = 0; i < quoteIDLength() && quoteID(i) > 0; i++)
+ {
+ builder.append((char)quoteID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MMAccount', referencedName='null', description='null', id=9771, version=0, deprecated=0, encodedLength=12, offset=33, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=33, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("mMAccount=");
+ for (int i = 0; i < mMAccountLength() && mMAccount(i) > 0; i++)
+ {
+ builder.append((char)mMAccount(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ManualOrderIndicator', referencedName='null', description='null', id=1028, version=0, deprecated=0, encodedLength=1, offset=45, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=45, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Boolean'}}
+ builder.append("manualOrderIndicator=");
+ builder.append(manualOrderIndicator());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CustOrderHandlingInst', referencedName='null', description='null', id=1031, version=0, deprecated=0, encodedLength=1, offset=46, componentTokenCount=17, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='CustOrderHandlingInst', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=46, componentTokenCount=15, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("custOrderHandlingInst=");
+ builder.append(custOrderHandlingInst());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CustomerOrFirm', referencedName='null', description='null', id=204, version=0, deprecated=0, encodedLength=1, offset=47, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='CustomerOrFirm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=47, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("customerOrFirm=");
+ builder.append(customerOrFirm());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SelfMatchPreventionID', referencedName='null', description='null', id=7928, version=0, deprecated=0, encodedLength=12, offset=48, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=48, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("selfMatchPreventionID=");
+ for (int i = 0; i < selfMatchPreventionIDLength() && selfMatchPreventionID(i) > 0; i++)
+ {
+ builder.append((char)selfMatchPreventionID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CtiCode', referencedName='null', description='null', id=9702, version=0, deprecated=0, encodedLength=1, offset=60, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='CtiCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=60, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("ctiCode=");
+ builder.append(ctiCode());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MMProtectionReset', referencedName='null', description='null', id=9773, version=0, deprecated=0, encodedLength=1, offset=61, componentTokenCount=6, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='MMProtectionReset', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=61, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("mMProtectionReset=");
+ builder.append(mMProtectionReset());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='QuoteSets', referencedName='null', description='null', id=296, version=0, deprecated=0, encodedLength=24, offset=62, componentTokenCount=62, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("quoteSets=[");
+ QuoteSetsDecoder quoteSets = quoteSets();
+ if (quoteSets.count() > 0)
+ {
+ while (quoteSets.hasNext())
+ {
+ quoteSets.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.java
new file mode 100644
index 0000000000..c04b4d2eeb
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.java
@@ -0,0 +1,2113 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class MassQuoteEncoder
+{
+ public static final int BLOCK_LENGTH = 62;
+ public static final int TEMPLATE_ID = 105;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MassQuoteEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 "i";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MassQuoteEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public MassQuoteEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int quoteReqIDId()
+ {
+ return 131;
+ }
+
+ public static int quoteReqIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteReqIDEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int quoteReqIDEncodingLength()
+ {
+ return 23;
+ }
+
+ public static String quoteReqIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteReqIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteReqIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteReqIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteReqIDLength()
+ {
+ return 23;
+ }
+
+ public MassQuoteEncoder quoteReqID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 23)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String quoteReqIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public MassQuoteEncoder putQuoteReqID(final byte[] src, final int srcOffset)
+ {
+ final int length = 23;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 0, src, srcOffset, length);
+
+ return this;
+ }
+
+ public MassQuoteEncoder quoteReqID(final String src)
+ {
+ final int length = 23;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 0, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 0 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public MassQuoteEncoder quoteReqID(final CharSequence src)
+ {
+ final int length = 23;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 0 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 0 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int quoteIDId()
+ {
+ return 117;
+ }
+
+ public static int quoteIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteIDEncodingOffset()
+ {
+ return 23;
+ }
+
+ public static int quoteIDEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String quoteIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteIDLength()
+ {
+ return 10;
+ }
+
+ public MassQuoteEncoder quoteID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 23 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String quoteIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public MassQuoteEncoder putQuoteID(final byte[] src, final int srcOffset)
+ {
+ final int length = 10;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 23, src, srcOffset, length);
+
+ return this;
+ }
+
+ public MassQuoteEncoder quoteID(final String src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 23, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 23 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public MassQuoteEncoder quoteID(final CharSequence src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 23 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 23 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int mMAccountId()
+ {
+ return 9771;
+ }
+
+ public static int mMAccountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mMAccountEncodingOffset()
+ {
+ return 33;
+ }
+
+ public static int mMAccountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String mMAccountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte mMAccountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte mMAccountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte mMAccountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int mMAccountLength()
+ {
+ return 12;
+ }
+
+ public MassQuoteEncoder mMAccount(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 33 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String mMAccountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public MassQuoteEncoder putMMAccount(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 33, src, srcOffset, length);
+
+ return this;
+ }
+
+ public MassQuoteEncoder mMAccount(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 33, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 33 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public MassQuoteEncoder mMAccount(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 33 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 33 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 45;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MassQuoteEncoder manualOrderIndicator(final BooleanType value)
+ {
+ buffer.putByte(offset + 45, (byte)value.value());
+ return this;
+ }
+
+ public static int custOrderHandlingInstId()
+ {
+ return 1031;
+ }
+
+ public static int custOrderHandlingInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int custOrderHandlingInstEncodingOffset()
+ {
+ return 46;
+ }
+
+ public static int custOrderHandlingInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String custOrderHandlingInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public MassQuoteEncoder custOrderHandlingInst(final CustOrderHandlingInst value)
+ {
+ buffer.putByte(offset + 46, value.value());
+ return this;
+ }
+
+ public static int customerOrFirmId()
+ {
+ return 204;
+ }
+
+ public static int customerOrFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int customerOrFirmEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int customerOrFirmEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String customerOrFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MassQuoteEncoder customerOrFirm(final CustomerOrFirm value)
+ {
+ buffer.putByte(offset + 47, (byte)value.value());
+ return this;
+ }
+
+ public static int selfMatchPreventionIDId()
+ {
+ return 7928;
+ }
+
+ public static int selfMatchPreventionIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int selfMatchPreventionIDEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int selfMatchPreventionIDEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String selfMatchPreventionIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte selfMatchPreventionIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte selfMatchPreventionIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte selfMatchPreventionIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int selfMatchPreventionIDLength()
+ {
+ return 12;
+ }
+
+ public MassQuoteEncoder selfMatchPreventionID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 48 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String selfMatchPreventionIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public MassQuoteEncoder putSelfMatchPreventionID(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 48, src, srcOffset, length);
+
+ return this;
+ }
+
+ public MassQuoteEncoder selfMatchPreventionID(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 48, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 48 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public MassQuoteEncoder selfMatchPreventionID(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 48 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 48 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int ctiCodeId()
+ {
+ return 9702;
+ }
+
+ public static int ctiCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ctiCodeEncodingOffset()
+ {
+ return 60;
+ }
+
+ public static int ctiCodeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ctiCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public MassQuoteEncoder ctiCode(final CtiCode value)
+ {
+ buffer.putByte(offset + 60, value.value());
+ return this;
+ }
+
+ public static int mMProtectionResetId()
+ {
+ return 9773;
+ }
+
+ public static int mMProtectionResetSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mMProtectionResetEncodingOffset()
+ {
+ return 61;
+ }
+
+ public static int mMProtectionResetEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String mMProtectionResetMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public MassQuoteEncoder mMProtectionReset(final MMProtectionReset value)
+ {
+ buffer.putByte(offset + 61, value.value());
+ return this;
+ }
+
+ private final QuoteSetsEncoder quoteSets = new QuoteSetsEncoder(this);
+
+ public static long quoteSetsId()
+ {
+ return 296;
+ }
+
+ public QuoteSetsEncoder quoteSetsCount(final int count)
+ {
+ quoteSets.wrap(buffer, count);
+ return quoteSets;
+ }
+
+ public static class QuoteSetsEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MassQuoteEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private final QuoteEntriesEncoder quoteEntries;
+
+ QuoteSetsEncoder(final MassQuoteEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ quoteEntries = new QuoteEntriesEncoder(parentMessage);
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)24, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 24;
+ }
+
+ public QuoteSetsEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int quoteSetIDId()
+ {
+ return 302;
+ }
+
+ public static int quoteSetIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteSetIDEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int quoteSetIDEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String quoteSetIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteSetIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteSetIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteSetIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteSetIDLength()
+ {
+ return 3;
+ }
+
+ public QuoteSetsEncoder quoteSetID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String quoteSetIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public QuoteSetsEncoder putQuoteSetID(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 0, src, srcOffset, length);
+
+ return this;
+ }
+
+ public QuoteSetsEncoder quoteSetID(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 0, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 0 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public QuoteSetsEncoder quoteSetID(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 0 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 0 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int underlyingSecurityDescId()
+ {
+ return 307;
+ }
+
+ public static int underlyingSecurityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int underlyingSecurityDescEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int underlyingSecurityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String underlyingSecurityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte underlyingSecurityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte underlyingSecurityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte underlyingSecurityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int underlyingSecurityDescLength()
+ {
+ return 20;
+ }
+
+ public QuoteSetsEncoder underlyingSecurityDesc(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String underlyingSecurityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public QuoteSetsEncoder putUnderlyingSecurityDesc(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 3, src, srcOffset, length);
+
+ return this;
+ }
+
+ public QuoteSetsEncoder underlyingSecurityDesc(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 3, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 3 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public QuoteSetsEncoder underlyingSecurityDesc(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 3 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 3 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int totQuoteEntriesId()
+ {
+ return 304;
+ }
+
+ public static int totQuoteEntriesSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int totQuoteEntriesEncodingOffset()
+ {
+ return 23;
+ }
+
+ public static int totQuoteEntriesEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String totQuoteEntriesMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short totQuoteEntriesNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short totQuoteEntriesMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short totQuoteEntriesMaxValue()
+ {
+ return (short)254;
+ }
+
+ public QuoteSetsEncoder totQuoteEntries(final short value)
+ {
+ buffer.putByte(offset + 23, (byte)value);
+ return this;
+ }
+
+
+ public static long quoteEntriesId()
+ {
+ return 295;
+ }
+
+ public QuoteEntriesEncoder quoteEntriesCount(final int count)
+ {
+ quoteEntries.wrap(buffer, count);
+ return quoteEntries;
+ }
+
+ public static class QuoteEntriesEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final MassQuoteEncoder parentMessage;
+ private UnsafeBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ QuoteEntriesEncoder(final MassQuoteEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final UnsafeBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)90, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 90;
+ }
+
+ public QuoteEntriesEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int quoteEntryIDId()
+ {
+ return 299;
+ }
+
+ public static int quoteEntryIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int quoteEntryIDEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int quoteEntryIDEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String quoteEntryIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte quoteEntryIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte quoteEntryIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte quoteEntryIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int quoteEntryIDLength()
+ {
+ return 10;
+ }
+
+ public QuoteEntriesEncoder quoteEntryID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String quoteEntryIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public QuoteEntriesEncoder putQuoteEntryID(final byte[] src, final int srcOffset)
+ {
+ final int length = 10;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 0, src, srcOffset, length);
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder quoteEntryID(final String src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 0, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 0 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder quoteEntryID(final CharSequence src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 0 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 0 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public QuoteEntriesEncoder symbol(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 10 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public QuoteEntriesEncoder putSymbol(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 10, src, srcOffset, length);
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder symbol(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 10, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 10 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder symbol(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 10 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 10 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 16;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public QuoteEntriesEncoder securityDesc(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 16 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public QuoteEntriesEncoder putSecurityDesc(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 16, src, srcOffset, length);
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder securityDesc(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 16, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 16 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder securityDesc(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 16 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 16 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 36;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public QuoteEntriesEncoder securityType(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 36 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public QuoteEntriesEncoder putSecurityType(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 36, src, srcOffset, length);
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder securityType(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 36, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 36 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public QuoteEntriesEncoder securityType(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 36 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 36 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int securityIDId()
+ {
+ return 48;
+ }
+
+ public static int securityIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIDEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int securityIDEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String securityIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static long securityIDNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long securityIDMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long securityIDMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public QuoteEntriesEncoder securityID(final long value)
+ {
+ buffer.putLong(offset + 39, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int securityIDSourceId()
+ {
+ return 22;
+ }
+
+ public static int securityIDSourceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityIDSourceEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int securityIDSourceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String securityIDSourceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public QuoteEntriesEncoder securityIDSource(final SecurityIDSource value)
+ {
+ buffer.putByte(offset + 47, value.value());
+ return this;
+ }
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public QuoteEntriesEncoder transactTime(final long value)
+ {
+ buffer.putLong(offset + 48, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int bidPxId()
+ {
+ return 132;
+ }
+
+ public static int bidPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int bidPxEncodingOffset()
+ {
+ return 56;
+ }
+
+ public static int bidPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String bidPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceEncoder bidPx = new OptionalPriceEncoder();
+
+ public OptionalPriceEncoder bidPx()
+ {
+ bidPx.wrap(buffer, offset + 56);
+ return bidPx;
+ }
+
+ public static int bidSizeId()
+ {
+ return 134;
+ }
+
+ public static int bidSizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int bidSizeEncodingOffset()
+ {
+ return 65;
+ }
+
+ public static int bidSizeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String bidSizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static long bidSizeNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long bidSizeMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long bidSizeMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public QuoteEntriesEncoder bidSize(final long value)
+ {
+ buffer.putLong(offset + 65, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int offerPxId()
+ {
+ return 133;
+ }
+
+ public static int offerPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int offerPxEncodingOffset()
+ {
+ return 73;
+ }
+
+ public static int offerPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String offerPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceEncoder offerPx = new OptionalPriceEncoder();
+
+ public OptionalPriceEncoder offerPx()
+ {
+ offerPx.wrap(buffer, offset + 73);
+ return offerPx;
+ }
+
+ public static int offerSizeId()
+ {
+ return 135;
+ }
+
+ public static int offerSizeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int offerSizeEncodingOffset()
+ {
+ return 82;
+ }
+
+ public static int offerSizeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String offerSizeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static long offerSizeNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long offerSizeMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long offerSizeMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public QuoteEntriesEncoder offerSize(final long value)
+ {
+ buffer.putLong(offset + 82, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MassQuoteDecoder writer = new MassQuoteDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.java
new file mode 100644
index 0000000000..31ee8ef15b
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.java
@@ -0,0 +1,48 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MatchEventIndicator
+{
+ MID_EVENT((byte)48),
+
+ BEGINNING_EVENT((byte)49),
+
+ END_EVENT((byte)50),
+
+ BEGINNING_AND_END_EVENT((byte)51),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ MatchEventIndicator(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static MatchEventIndicator get(final byte value)
+ {
+ switch (value)
+ {
+ case 48: return MID_EVENT;
+ case 49: return BEGINNING_EVENT;
+ case 50: return END_EVENT;
+ case 51: return BEGINNING_AND_END_EVENT;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.java
new file mode 100644
index 0000000000..db86dd17ab
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.java
@@ -0,0 +1,227 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public MessageHeaderDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int templateId()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int schemaId()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public int version()
+ {
+ return (buffer.getShort(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='templateId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("templateId=");
+ builder.append(templateId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='schemaId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("schemaId=");
+ builder.append(schemaId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='version', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("version=");
+ builder.append(version());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.java
new file mode 100644
index 0000000000..02d3aa1fef
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.java
@@ -0,0 +1,196 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public MessageHeaderEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder templateId(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder schemaId(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder version(final int value)
+ {
+ buffer.putShort(offset + 6, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MessageHeaderDecoder writer = new MessageHeaderDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.java
new file mode 100644
index 0000000000..e56f6ffd9b
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.java
@@ -0,0 +1,10 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum MetaAttribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.java
new file mode 100644
index 0000000000..1e7cb5468c
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.java
@@ -0,0 +1,2073 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * submit a new order on an instrument
+ */
+@SuppressWarnings("all")
+public class NewOrderDecoder
+{
+ public static final int BLOCK_LENGTH = 156;
+ public static final int TEMPLATE_ID = 68;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final NewOrderDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 "D";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public NewOrderDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int accountId()
+ {
+ return 1;
+ }
+
+ public static int accountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String accountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte accountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte accountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte accountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int accountLength()
+ {
+ return 12;
+ }
+
+ public byte account(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String accountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getAccount(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 0, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String account()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 0, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getAccount(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 0 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int clOrdIDId()
+ {
+ return 11;
+ }
+
+ public static int clOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int clOrdIDEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int clOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte clOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte clOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte clOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int clOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte clOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String clOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 12, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String clOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 12, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 12 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int handInstId()
+ {
+ return 21;
+ }
+
+ public static int handInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int handInstEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int handInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String handInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public HandInst handInst()
+ {
+ return HandInst.get(buffer.getByte(offset + 32));
+ }
+
+
+ public static int custOrderHandlingInstId()
+ {
+ return 1031;
+ }
+
+ public static int custOrderHandlingInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int custOrderHandlingInstEncodingOffset()
+ {
+ return 33;
+ }
+
+ public static int custOrderHandlingInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String custOrderHandlingInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public CustOrderHandlingInst custOrderHandlingInst()
+ {
+ return CustOrderHandlingInst.get(buffer.getByte(offset + 33));
+ }
+
+
+ public static int orderQtyId()
+ {
+ return 38;
+ }
+
+ public static int orderQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderQtyEncodingOffset()
+ {
+ return 34;
+ }
+
+ public static int orderQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String orderQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder orderQty = new IntQty32Decoder();
+
+ public IntQty32Decoder orderQty()
+ {
+ orderQty.wrap(buffer, offset + 34);
+ return orderQty;
+ }
+
+ public static int ordTypeId()
+ {
+ return 40;
+ }
+
+ public static int ordTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ordTypeEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int ordTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ordTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrdType ordType()
+ {
+ return OrdType.get(buffer.getByte(offset + 38));
+ }
+
+
+ public static int priceId()
+ {
+ return 44;
+ }
+
+ public static int priceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int priceEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int priceEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String priceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceDecoder price = new OptionalPriceDecoder();
+
+ public OptionalPriceDecoder price()
+ {
+ price.wrap(buffer, offset + 39);
+ return price;
+ }
+
+ public static int sideId()
+ {
+ return 54;
+ }
+
+ public static int sideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int sideEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int sideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String sideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Side side()
+ {
+ return Side.get(buffer.getByte(offset + 48));
+ }
+
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 49;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public byte symbol(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 49 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSymbol(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 49, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String symbol()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 49, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSymbol(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 49 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int timeInForceId()
+ {
+ return 59;
+ }
+
+ public static int timeInForceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int timeInForceEncodingOffset()
+ {
+ return 55;
+ }
+
+ public static int timeInForceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String timeInForceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public TimeInForce timeInForce()
+ {
+ return TimeInForce.get(buffer.getByte(offset + 55));
+ }
+
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 56;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long transactTime()
+ {
+ return buffer.getLong(offset + 56, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 64;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType manualOrderIndicator()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 64) & 0xFF)));
+ }
+
+
+ public static int allocAccountId()
+ {
+ return 79;
+ }
+
+ public static int allocAccountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int allocAccountEncodingOffset()
+ {
+ return 65;
+ }
+
+ public static int allocAccountEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String allocAccountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte allocAccountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte allocAccountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte allocAccountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int allocAccountLength()
+ {
+ return 10;
+ }
+
+ public byte allocAccount(final int index)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 65 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String allocAccountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getAllocAccount(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(this.offset + 65, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String allocAccount()
+ {
+ final byte[] dst = new byte[10];
+ buffer.getBytes(this.offset + 65, 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 void getAllocAccount(final Appendable value)
+ {
+ for (int i = 0; i < 10 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 65 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int stopPxId()
+ {
+ return 99;
+ }
+
+ public static int stopPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int stopPxEncodingOffset()
+ {
+ return 75;
+ }
+
+ public static int stopPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String stopPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceDecoder stopPx = new OptionalPriceDecoder();
+
+ public OptionalPriceDecoder stopPx()
+ {
+ stopPx.wrap(buffer, offset + 75);
+ return stopPx;
+ }
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 84;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public byte securityDesc(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 84 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityDesc(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 84, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityDesc()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 84, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityDesc(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 84 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int minQtyId()
+ {
+ return 110;
+ }
+
+ public static int minQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int minQtyEncodingOffset()
+ {
+ return 104;
+ }
+
+ public static int minQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String minQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder minQty = new IntQty32Decoder();
+
+ public IntQty32Decoder minQty()
+ {
+ minQty.wrap(buffer, offset + 104);
+ return minQty;
+ }
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 108;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public byte securityType(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 108 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityType(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 108, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityType()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 108, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityType(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 108 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int customerOrFirmId()
+ {
+ return 204;
+ }
+
+ public static int customerOrFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int customerOrFirmEncodingOffset()
+ {
+ return 111;
+ }
+
+ public static int customerOrFirmEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String customerOrFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CustomerOrFirm customerOrFirm()
+ {
+ return CustomerOrFirm.get(((short)(buffer.getByte(offset + 111) & 0xFF)));
+ }
+
+
+ public static int maxShowId()
+ {
+ return 210;
+ }
+
+ public static int maxShowSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxShowEncodingOffset()
+ {
+ return 112;
+ }
+
+ public static int maxShowEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String maxShowMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder maxShow = new IntQty32Decoder();
+
+ public IntQty32Decoder maxShow()
+ {
+ maxShow.wrap(buffer, offset + 112);
+ return maxShow;
+ }
+
+ public static int expireDateId()
+ {
+ return 432;
+ }
+
+ public static int expireDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int expireDateEncodingOffset()
+ {
+ return 116;
+ }
+
+ public static int expireDateEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String expireDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int expireDateNullValue()
+ {
+ return 65535;
+ }
+
+ public static int expireDateMinValue()
+ {
+ return 0;
+ }
+
+ public static int expireDateMaxValue()
+ {
+ return 65534;
+ }
+
+ public int expireDate()
+ {
+ return (buffer.getShort(offset + 116, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int selfMatchPreventionIDId()
+ {
+ return 7928;
+ }
+
+ public static int selfMatchPreventionIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int selfMatchPreventionIDEncodingOffset()
+ {
+ return 118;
+ }
+
+ public static int selfMatchPreventionIDEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String selfMatchPreventionIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte selfMatchPreventionIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte selfMatchPreventionIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte selfMatchPreventionIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int selfMatchPreventionIDLength()
+ {
+ return 12;
+ }
+
+ public byte selfMatchPreventionID(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 118 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String selfMatchPreventionIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSelfMatchPreventionID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 118, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String selfMatchPreventionID()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 118, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSelfMatchPreventionID(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 118 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int ctiCodeId()
+ {
+ return 9702;
+ }
+
+ public static int ctiCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ctiCodeEncodingOffset()
+ {
+ return 130;
+ }
+
+ public static int ctiCodeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ctiCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CtiCode ctiCode()
+ {
+ return CtiCode.get(buffer.getByte(offset + 130));
+ }
+
+
+ public static int giveUpFirmId()
+ {
+ return 9707;
+ }
+
+ public static int giveUpFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int giveUpFirmEncodingOffset()
+ {
+ return 131;
+ }
+
+ public static int giveUpFirmEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String giveUpFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte giveUpFirmNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte giveUpFirmMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte giveUpFirmMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int giveUpFirmLength()
+ {
+ return 3;
+ }
+
+ public byte giveUpFirm(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 131 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String giveUpFirmCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getGiveUpFirm(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 131, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String giveUpFirm()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 131, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getGiveUpFirm(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 131 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int cmtaGiveupCDId()
+ {
+ return 9708;
+ }
+
+ public static int cmtaGiveupCDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int cmtaGiveupCDEncodingOffset()
+ {
+ return 134;
+ }
+
+ public static int cmtaGiveupCDEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String cmtaGiveupCDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte cmtaGiveupCDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte cmtaGiveupCDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte cmtaGiveupCDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int cmtaGiveupCDLength()
+ {
+ return 2;
+ }
+
+ public byte cmtaGiveupCD(final int index)
+ {
+ if (index < 0 || index >= 2)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 134 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String cmtaGiveupCDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getCmtaGiveupCD(final byte[] dst, final int dstOffset)
+ {
+ final int length = 2;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 134, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String cmtaGiveupCD()
+ {
+ final byte[] dst = new byte[2];
+ buffer.getBytes(this.offset + 134, dst, 0, 2);
+
+ int end = 0;
+ for (; end < 2 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getCmtaGiveupCD(final Appendable value)
+ {
+ for (int i = 0; i < 2 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 134 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int correlationClOrdIDId()
+ {
+ return 9717;
+ }
+
+ public static int correlationClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int correlationClOrdIDEncodingOffset()
+ {
+ return 136;
+ }
+
+ public static int correlationClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String correlationClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte correlationClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte correlationClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte correlationClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int correlationClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte correlationClOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 136 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String correlationClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getCorrelationClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 136, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String correlationClOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 136, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getCorrelationClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 136 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[NewOrder](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("):");
+ //Token{signal=BEGIN_FIELD, name='Account', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=12, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("account=");
+ for (int i = 0; i < accountLength() && account(i) > 0; i++)
+ {
+ builder.append((char)account(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ClOrdID', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("clOrdID=");
+ for (int i = 0; i < clOrdIDLength() && clOrdID(i) > 0; i++)
+ {
+ builder.append((char)clOrdID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='HandInst', referencedName='null', description='null', id=21, version=0, deprecated=0, encodedLength=1, offset=32, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='HandInst', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("handInst=");
+ builder.append(handInst());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CustOrderHandlingInst', referencedName='null', description='null', id=1031, version=0, deprecated=0, encodedLength=1, offset=33, componentTokenCount=17, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='CustOrderHandlingInst', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=33, componentTokenCount=15, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("custOrderHandlingInst=");
+ builder.append(custOrderHandlingInst());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrderQty', referencedName='null', description='null', id=38, version=0, deprecated=0, encodedLength=4, offset=34, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=34, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("orderQty=");
+ orderQty().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrdType', referencedName='null', description='null', id=40, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='OrdType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("ordType=");
+ builder.append(ordType());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Price', referencedName='null', description='null', id=44, version=0, deprecated=0, encodedLength=9, offset=39, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='OptionalPrice', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=9, offset=39, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("price=");
+ price().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Side', referencedName='null', description='null', id=54, version=0, deprecated=0, encodedLength=1, offset=48, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='Side', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=48, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("side=");
+ builder.append(side());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Symbol', referencedName='null', description='null', id=55, version=0, deprecated=0, encodedLength=6, offset=49, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='Symbol', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=49, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("symbol=");
+ for (int i = 0; i < symbolLength() && symbol(i) > 0; i++)
+ {
+ builder.append((char)symbol(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TimeInForce', referencedName='null', description='null', id=59, version=0, deprecated=0, encodedLength=1, offset=55, componentTokenCount=8, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='TimeInForce', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=55, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("timeInForce=");
+ builder.append(timeInForce());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TransactTime', referencedName='null', description='null', id=60, version=0, deprecated=0, encodedLength=8, offset=56, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=56, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("transactTime=");
+ builder.append(transactTime());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ManualOrderIndicator', referencedName='null', description='null', id=1028, version=0, deprecated=0, encodedLength=1, offset=64, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=64, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Boolean'}}
+ builder.append("manualOrderIndicator=");
+ builder.append(manualOrderIndicator());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='AllocAccount', referencedName='null', description='null', id=79, version=0, deprecated=0, encodedLength=10, offset=65, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string10', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=10, offset=65, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("allocAccount=");
+ for (int i = 0; i < allocAccountLength() && allocAccount(i) > 0; i++)
+ {
+ builder.append((char)allocAccount(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='StopPx', referencedName='null', description='null', id=99, version=0, deprecated=0, encodedLength=9, offset=75, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='OptionalPrice', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=9, offset=75, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("stopPx=");
+ stopPx().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityDesc', referencedName='null', description='null', id=107, version=0, deprecated=0, encodedLength=20, offset=84, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=84, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityDesc=");
+ for (int i = 0; i < securityDescLength() && securityDesc(i) > 0; i++)
+ {
+ builder.append((char)securityDesc(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MinQty', referencedName='null', description='null', id=110, version=0, deprecated=0, encodedLength=4, offset=104, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=104, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("minQty=");
+ minQty().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityType', referencedName='null', description='null', id=167, version=0, deprecated=0, encodedLength=3, offset=108, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=108, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityType=");
+ for (int i = 0; i < securityTypeLength() && securityType(i) > 0; i++)
+ {
+ builder.append((char)securityType(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CustomerOrFirm', referencedName='null', description='null', id=204, version=0, deprecated=0, encodedLength=1, offset=111, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='CustomerOrFirm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=111, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("customerOrFirm=");
+ builder.append(customerOrFirm());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MaxShow', referencedName='null', description='null', id=210, version=0, deprecated=0, encodedLength=4, offset=112, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=112, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("maxShow=");
+ maxShow().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ExpireDate', referencedName='null', description='null', id=432, version=0, deprecated=0, encodedLength=2, offset=116, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='LocalMktDate', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=116, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='LocalMktDate'}}
+ builder.append("expireDate=");
+ builder.append(expireDate());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SelfMatchPreventionID', referencedName='null', description='null', id=7928, version=0, deprecated=0, encodedLength=12, offset=118, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=118, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("selfMatchPreventionID=");
+ for (int i = 0; i < selfMatchPreventionIDLength() && selfMatchPreventionID(i) > 0; i++)
+ {
+ builder.append((char)selfMatchPreventionID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CtiCode', referencedName='null', description='null', id=9702, version=0, deprecated=0, encodedLength=1, offset=130, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='CtiCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=130, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("ctiCode=");
+ builder.append(ctiCode());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='GiveUpFirm', referencedName='null', description='null', id=9707, version=0, deprecated=0, encodedLength=3, offset=131, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=131, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("giveUpFirm=");
+ for (int i = 0; i < giveUpFirmLength() && giveUpFirm(i) > 0; i++)
+ {
+ builder.append((char)giveUpFirm(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CmtaGiveupCD', referencedName='null', description='null', id=9708, version=0, deprecated=0, encodedLength=2, offset=134, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string2', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=134, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("cmtaGiveupCD=");
+ for (int i = 0; i < cmtaGiveupCDLength() && cmtaGiveupCD(i) > 0; i++)
+ {
+ builder.append((char)cmtaGiveupCD(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CorrelationClOrdID', referencedName='null', description='null', id=9717, version=0, deprecated=0, encodedLength=20, offset=136, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=136, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("correlationClOrdID=");
+ for (int i = 0; i < correlationClOrdIDLength() && correlationClOrdID(i) > 0; i++)
+ {
+ builder.append((char)correlationClOrdID(i));
+ }
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.java
new file mode 100644
index 0000000000..3ce87804d8
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.java
@@ -0,0 +1,2008 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+/**
+ * submit a new order on an instrument
+ */
+@SuppressWarnings("all")
+public class NewOrderEncoder
+{
+ public static final int BLOCK_LENGTH = 156;
+ public static final int TEMPLATE_ID = 68;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final NewOrderEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 "D";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public NewOrderEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public NewOrderEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int accountId()
+ {
+ return 1;
+ }
+
+ public static int accountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String accountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte accountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte accountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte accountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int accountLength()
+ {
+ return 12;
+ }
+
+ public NewOrderEncoder account(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String accountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putAccount(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 0, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder account(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 0, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 0 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder account(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 0 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 0 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int clOrdIDId()
+ {
+ return 11;
+ }
+
+ public static int clOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int clOrdIDEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int clOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte clOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte clOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte clOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int clOrdIDLength()
+ {
+ return 20;
+ }
+
+ public NewOrderEncoder clOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String clOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 12, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder clOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 12, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 12 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder clOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 12 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 12 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int handInstId()
+ {
+ return 21;
+ }
+
+ public static int handInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int handInstEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int handInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String handInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder handInst(final HandInst value)
+ {
+ buffer.putByte(offset + 32, value.value());
+ return this;
+ }
+
+ public static int custOrderHandlingInstId()
+ {
+ return 1031;
+ }
+
+ public static int custOrderHandlingInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int custOrderHandlingInstEncodingOffset()
+ {
+ return 33;
+ }
+
+ public static int custOrderHandlingInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String custOrderHandlingInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder custOrderHandlingInst(final CustOrderHandlingInst value)
+ {
+ buffer.putByte(offset + 33, value.value());
+ return this;
+ }
+
+ public static int orderQtyId()
+ {
+ return 38;
+ }
+
+ public static int orderQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderQtyEncodingOffset()
+ {
+ return 34;
+ }
+
+ public static int orderQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String orderQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder orderQty = new IntQty32Encoder();
+
+ public IntQty32Encoder orderQty()
+ {
+ orderQty.wrap(buffer, offset + 34);
+ return orderQty;
+ }
+
+ public static int ordTypeId()
+ {
+ return 40;
+ }
+
+ public static int ordTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ordTypeEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int ordTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ordTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder ordType(final OrdType value)
+ {
+ buffer.putByte(offset + 38, value.value());
+ return this;
+ }
+
+ public static int priceId()
+ {
+ return 44;
+ }
+
+ public static int priceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int priceEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int priceEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String priceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceEncoder price = new OptionalPriceEncoder();
+
+ public OptionalPriceEncoder price()
+ {
+ price.wrap(buffer, offset + 39);
+ return price;
+ }
+
+ public static int sideId()
+ {
+ return 54;
+ }
+
+ public static int sideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int sideEncodingOffset()
+ {
+ return 48;
+ }
+
+ public static int sideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String sideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder side(final Side value)
+ {
+ buffer.putByte(offset + 48, value.value());
+ return this;
+ }
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 49;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public NewOrderEncoder symbol(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 49 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putSymbol(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 49, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder symbol(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 49, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 49 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder symbol(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 49 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 49 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int timeInForceId()
+ {
+ return 59;
+ }
+
+ public static int timeInForceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int timeInForceEncodingOffset()
+ {
+ return 55;
+ }
+
+ public static int timeInForceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String timeInForceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder timeInForce(final TimeInForce value)
+ {
+ buffer.putByte(offset + 55, value.value());
+ return this;
+ }
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 56;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public NewOrderEncoder transactTime(final long value)
+ {
+ buffer.putLong(offset + 56, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 64;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder manualOrderIndicator(final BooleanType value)
+ {
+ buffer.putByte(offset + 64, (byte)value.value());
+ return this;
+ }
+
+ public static int allocAccountId()
+ {
+ return 79;
+ }
+
+ public static int allocAccountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int allocAccountEncodingOffset()
+ {
+ return 65;
+ }
+
+ public static int allocAccountEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String allocAccountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte allocAccountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte allocAccountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte allocAccountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int allocAccountLength()
+ {
+ return 10;
+ }
+
+ public NewOrderEncoder allocAccount(final int index, final byte value)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 65 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String allocAccountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putAllocAccount(final byte[] src, final int srcOffset)
+ {
+ final int length = 10;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 65, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder allocAccount(final String src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 65, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 65 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder allocAccount(final CharSequence src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 65 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 65 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int stopPxId()
+ {
+ return 99;
+ }
+
+ public static int stopPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int stopPxEncodingOffset()
+ {
+ return 75;
+ }
+
+ public static int stopPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String stopPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceEncoder stopPx = new OptionalPriceEncoder();
+
+ public OptionalPriceEncoder stopPx()
+ {
+ stopPx.wrap(buffer, offset + 75);
+ return stopPx;
+ }
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 84;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public NewOrderEncoder securityDesc(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 84 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putSecurityDesc(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 84, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder securityDesc(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 84, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 84 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder securityDesc(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 84 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 84 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int minQtyId()
+ {
+ return 110;
+ }
+
+ public static int minQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int minQtyEncodingOffset()
+ {
+ return 104;
+ }
+
+ public static int minQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String minQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder minQty = new IntQty32Encoder();
+
+ public IntQty32Encoder minQty()
+ {
+ minQty.wrap(buffer, offset + 104);
+ return minQty;
+ }
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 108;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public NewOrderEncoder securityType(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 108 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putSecurityType(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 108, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder securityType(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 108, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 108 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder securityType(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 108 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 108 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int customerOrFirmId()
+ {
+ return 204;
+ }
+
+ public static int customerOrFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int customerOrFirmEncodingOffset()
+ {
+ return 111;
+ }
+
+ public static int customerOrFirmEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String customerOrFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder customerOrFirm(final CustomerOrFirm value)
+ {
+ buffer.putByte(offset + 111, (byte)value.value());
+ return this;
+ }
+
+ public static int maxShowId()
+ {
+ return 210;
+ }
+
+ public static int maxShowSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxShowEncodingOffset()
+ {
+ return 112;
+ }
+
+ public static int maxShowEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String maxShowMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder maxShow = new IntQty32Encoder();
+
+ public IntQty32Encoder maxShow()
+ {
+ maxShow.wrap(buffer, offset + 112);
+ return maxShow;
+ }
+
+ public static int expireDateId()
+ {
+ return 432;
+ }
+
+ public static int expireDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int expireDateEncodingOffset()
+ {
+ return 116;
+ }
+
+ public static int expireDateEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String expireDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int expireDateNullValue()
+ {
+ return 65535;
+ }
+
+ public static int expireDateMinValue()
+ {
+ return 0;
+ }
+
+ public static int expireDateMaxValue()
+ {
+ return 65534;
+ }
+
+ public NewOrderEncoder expireDate(final int value)
+ {
+ buffer.putShort(offset + 116, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int selfMatchPreventionIDId()
+ {
+ return 7928;
+ }
+
+ public static int selfMatchPreventionIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int selfMatchPreventionIDEncodingOffset()
+ {
+ return 118;
+ }
+
+ public static int selfMatchPreventionIDEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String selfMatchPreventionIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte selfMatchPreventionIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte selfMatchPreventionIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte selfMatchPreventionIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int selfMatchPreventionIDLength()
+ {
+ return 12;
+ }
+
+ public NewOrderEncoder selfMatchPreventionID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 118 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String selfMatchPreventionIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putSelfMatchPreventionID(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 118, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder selfMatchPreventionID(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 118, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 118 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder selfMatchPreventionID(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 118 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 118 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int ctiCodeId()
+ {
+ return 9702;
+ }
+
+ public static int ctiCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ctiCodeEncodingOffset()
+ {
+ return 130;
+ }
+
+ public static int ctiCodeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ctiCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public NewOrderEncoder ctiCode(final CtiCode value)
+ {
+ buffer.putByte(offset + 130, value.value());
+ return this;
+ }
+
+ public static int giveUpFirmId()
+ {
+ return 9707;
+ }
+
+ public static int giveUpFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int giveUpFirmEncodingOffset()
+ {
+ return 131;
+ }
+
+ public static int giveUpFirmEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String giveUpFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte giveUpFirmNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte giveUpFirmMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte giveUpFirmMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int giveUpFirmLength()
+ {
+ return 3;
+ }
+
+ public NewOrderEncoder giveUpFirm(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 131 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String giveUpFirmCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putGiveUpFirm(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 131, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder giveUpFirm(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 131, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 131 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder giveUpFirm(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 131 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 131 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int cmtaGiveupCDId()
+ {
+ return 9708;
+ }
+
+ public static int cmtaGiveupCDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int cmtaGiveupCDEncodingOffset()
+ {
+ return 134;
+ }
+
+ public static int cmtaGiveupCDEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String cmtaGiveupCDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte cmtaGiveupCDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte cmtaGiveupCDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte cmtaGiveupCDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int cmtaGiveupCDLength()
+ {
+ return 2;
+ }
+
+ public NewOrderEncoder cmtaGiveupCD(final int index, final byte value)
+ {
+ if (index < 0 || index >= 2)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 134 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String cmtaGiveupCDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putCmtaGiveupCD(final byte[] src, final int srcOffset)
+ {
+ final int length = 2;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 134, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder cmtaGiveupCD(final String src)
+ {
+ final int length = 2;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 134, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 134 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder cmtaGiveupCD(final CharSequence src)
+ {
+ final int length = 2;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 134 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 134 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int correlationClOrdIDId()
+ {
+ return 9717;
+ }
+
+ public static int correlationClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int correlationClOrdIDEncodingOffset()
+ {
+ return 136;
+ }
+
+ public static int correlationClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String correlationClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte correlationClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte correlationClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte correlationClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int correlationClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public NewOrderEncoder correlationClOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 136 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String correlationClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public NewOrderEncoder putCorrelationClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 136, src, srcOffset, length);
+
+ return this;
+ }
+
+ public NewOrderEncoder correlationClOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 136, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 136 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public NewOrderEncoder correlationClOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 136 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 136 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ NewOrderDecoder writer = new NewOrderDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.java
new file mode 100644
index 0000000000..caf6434934
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.java
@@ -0,0 +1,39 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum NoAllocs
+{
+ ONE((byte)49),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ NoAllocs(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static NoAllocs get(final byte value)
+ {
+ switch (value)
+ {
+ case 49: return ONE;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.java
new file mode 100644
index 0000000000..062db3713e
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum OFMOverride
+{
+ ENABLED((byte)89),
+
+ DISABLED((byte)78),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ OFMOverride(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static OFMOverride get(final byte value)
+ {
+ switch (value)
+ {
+ case 89: return ENABLED;
+ case 78: return DISABLED;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.java
new file mode 100644
index 0000000000..89b1497181
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum OpenCloseSettleFlag
+{
+ THEORETICAL_PRICE_VALUE(5),
+
+ ACTUAL_PRELIMINARY_NOT_ROUNDED(100),
+
+ ACTUAL_PRELIMINARY_ROUNDED(101),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL(65535);
+
+ private final int value;
+
+ OpenCloseSettleFlag(final int value)
+ {
+ this.value = value;
+ }
+
+ public int value()
+ {
+ return value;
+ }
+
+ public static OpenCloseSettleFlag get(final int value)
+ {
+ switch (value)
+ {
+ case 5: return THEORETICAL_PRICE_VALUE;
+ case 100: return ACTUAL_PRELIMINARY_NOT_ROUNDED;
+ case 101: return ACTUAL_PRELIMINARY_ROUNDED;
+ }
+
+ if (65535 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.java
new file mode 100644
index 0000000000..e5bffc2383
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.java
@@ -0,0 +1,144 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OptionalPriceDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 9;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public OptionalPriceDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int mantissaEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mantissaEncodingLength()
+ {
+ return 8;
+ }
+
+ public static int mantissaSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long mantissaNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long mantissaMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long mantissaMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long mantissa()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int exponentEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int exponentEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int exponentSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte exponentNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte exponentMinValue()
+ {
+ return (byte)-127;
+ }
+
+ public static byte exponentMaxValue()
+ {
+ return (byte)127;
+ }
+
+ public byte exponent()
+ {
+ return buffer.getByte(offset + 8);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='mantissa', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mantissa=");
+ builder.append(mantissa());
+ builder.append('|');
+ //Token{signal=ENCODING, name='exponent', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("exponent=");
+ builder.append(exponent());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.java
new file mode 100644
index 0000000000..b33bcb6bcc
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.java
@@ -0,0 +1,129 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OptionalPriceEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 9;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public OptionalPriceEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int mantissaEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mantissaEncodingLength()
+ {
+ return 8;
+ }
+
+ public static long mantissaNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long mantissaMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long mantissaMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public OptionalPriceEncoder mantissa(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int exponentEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int exponentEncodingLength()
+ {
+ return 1;
+ }
+
+ public static byte exponentNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte exponentMinValue()
+ {
+ return (byte)-127;
+ }
+
+ public static byte exponentMaxValue()
+ {
+ return (byte)127;
+ }
+
+ public OptionalPriceEncoder exponent(final byte value)
+ {
+ buffer.putByte(offset + 8, value);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ OptionalPriceDecoder writer = new OptionalPriceDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.java
new file mode 100644
index 0000000000..85c3991a72
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.java
@@ -0,0 +1,51 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum OrdType
+{
+ MARKET_ORDER((byte)49),
+
+ LIMIT_ORDER((byte)50),
+
+ STOP_ORDER((byte)51),
+
+ STOP_LIMIT_ORDER((byte)52),
+
+ MARKET_LIMIT_ORDER((byte)75),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ OrdType(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static OrdType get(final byte value)
+ {
+ switch (value)
+ {
+ case 49: return MARKET_ORDER;
+ case 50: return LIMIT_ORDER;
+ case 51: return STOP_ORDER;
+ case 52: return STOP_LIMIT_ORDER;
+ case 75: return MARKET_LIMIT_ORDER;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.java
new file mode 100644
index 0000000000..b1e14ad9a3
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.java
@@ -0,0 +1,2467 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OrderCancelReplaceRequestDecoder
+{
+ public static final int BLOCK_LENGTH = 204;
+ public static final int TEMPLATE_ID = 71;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final OrderCancelReplaceRequestDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 "G";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public OrderCancelReplaceRequestDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int accountId()
+ {
+ return 1;
+ }
+
+ public static int accountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String accountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte accountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte accountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte accountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int accountLength()
+ {
+ return 12;
+ }
+
+ public byte account(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String accountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getAccount(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 0, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String account()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 0, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getAccount(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 0 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int clOrdIDId()
+ {
+ return 11;
+ }
+
+ public static int clOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int clOrdIDEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int clOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte clOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte clOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte clOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int clOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte clOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String clOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 12, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String clOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 12, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 12 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int orderIDId()
+ {
+ return 37;
+ }
+
+ public static int orderIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderIDEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int orderIDEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String orderIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long orderIDNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long orderIDMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long orderIDMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long orderID()
+ {
+ return buffer.getLong(offset + 32, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int handInstId()
+ {
+ return 21;
+ }
+
+ public static int handInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int handInstEncodingOffset()
+ {
+ return 40;
+ }
+
+ public static int handInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String handInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public HandInst handInst()
+ {
+ return HandInst.get(buffer.getByte(offset + 40));
+ }
+
+
+ public static int orderQtyId()
+ {
+ return 38;
+ }
+
+ public static int orderQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderQtyEncodingOffset()
+ {
+ return 41;
+ }
+
+ public static int orderQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String orderQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder orderQty = new IntQty32Decoder();
+
+ public IntQty32Decoder orderQty()
+ {
+ orderQty.wrap(buffer, offset + 41);
+ return orderQty;
+ }
+
+ public static int custOrderHandlingInstId()
+ {
+ return 1031;
+ }
+
+ public static int custOrderHandlingInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int custOrderHandlingInstEncodingOffset()
+ {
+ return 45;
+ }
+
+ public static int custOrderHandlingInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String custOrderHandlingInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public CustOrderHandlingInst custOrderHandlingInst()
+ {
+ return CustOrderHandlingInst.get(buffer.getByte(offset + 45));
+ }
+
+
+ public static int ordTypeId()
+ {
+ return 40;
+ }
+
+ public static int ordTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ordTypeEncodingOffset()
+ {
+ return 46;
+ }
+
+ public static int ordTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ordTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrdType ordType()
+ {
+ return OrdType.get(buffer.getByte(offset + 46));
+ }
+
+
+ public static int origClOrdIDId()
+ {
+ return 41;
+ }
+
+ public static int origClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int origClOrdIDEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int origClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String origClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte origClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte origClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte origClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int origClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte origClOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 47 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String origClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getOrigClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 47, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String origClOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 47, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getOrigClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 47 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int priceId()
+ {
+ return 44;
+ }
+
+ public static int priceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int priceEncodingOffset()
+ {
+ return 67;
+ }
+
+ public static int priceEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String priceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceDecoder price = new OptionalPriceDecoder();
+
+ public OptionalPriceDecoder price()
+ {
+ price.wrap(buffer, offset + 67);
+ return price;
+ }
+
+ public static int sideId()
+ {
+ return 54;
+ }
+
+ public static int sideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int sideEncodingOffset()
+ {
+ return 76;
+ }
+
+ public static int sideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String sideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Side side()
+ {
+ return Side.get(buffer.getByte(offset + 76));
+ }
+
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 77;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public byte symbol(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 77 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSymbol(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 77, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String symbol()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 77, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSymbol(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 77 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int testId()
+ {
+ return 58;
+ }
+
+ public static int testSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int testEncodingOffset()
+ {
+ return 83;
+ }
+
+ public static int testEncodingLength()
+ {
+ return 18;
+ }
+
+ public static String testMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte testNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte testMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte testMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int testLength()
+ {
+ return 18;
+ }
+
+ public byte test(final int index)
+ {
+ if (index < 0 || index >= 18)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 83 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String testCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getTest(final byte[] dst, final int dstOffset)
+ {
+ final int length = 18;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 83, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String test()
+ {
+ final byte[] dst = new byte[18];
+ buffer.getBytes(this.offset + 83, dst, 0, 18);
+
+ int end = 0;
+ for (; end < 18 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getTest(final Appendable value)
+ {
+ for (int i = 0; i < 18 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 83 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int timeInForceId()
+ {
+ return 59;
+ }
+
+ public static int timeInForceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int timeInForceEncodingOffset()
+ {
+ return 101;
+ }
+
+ public static int timeInForceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String timeInForceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public TimeInForce timeInForce()
+ {
+ return TimeInForce.get(buffer.getByte(offset + 101));
+ }
+
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 102;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType manualOrderIndicator()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 102) & 0xFF)));
+ }
+
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 103;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long transactTime()
+ {
+ return buffer.getLong(offset + 103, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int noAllocsId()
+ {
+ return 78;
+ }
+
+ public static int noAllocsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int noAllocsEncodingOffset()
+ {
+ return 111;
+ }
+
+ public static int noAllocsEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String noAllocsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public NoAllocs noAllocs()
+ {
+ return NoAllocs.get(buffer.getByte(offset + 111));
+ }
+
+
+ public static int allocAccountId()
+ {
+ return 79;
+ }
+
+ public static int allocAccountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int allocAccountEncodingOffset()
+ {
+ return 112;
+ }
+
+ public static int allocAccountEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String allocAccountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte allocAccountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte allocAccountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte allocAccountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int allocAccountLength()
+ {
+ return 10;
+ }
+
+ public byte allocAccount(final int index)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 112 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String allocAccountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getAllocAccount(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(this.offset + 112, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String allocAccount()
+ {
+ final byte[] dst = new byte[10];
+ buffer.getBytes(this.offset + 112, 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 void getAllocAccount(final Appendable value)
+ {
+ for (int i = 0; i < 10 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 112 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int stopPxId()
+ {
+ return 99;
+ }
+
+ public static int stopPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int stopPxEncodingOffset()
+ {
+ return 122;
+ }
+
+ public static int stopPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String stopPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceDecoder stopPx = new OptionalPriceDecoder();
+
+ public OptionalPriceDecoder stopPx()
+ {
+ stopPx.wrap(buffer, offset + 122);
+ return stopPx;
+ }
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 131;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public byte securityDesc(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 131 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityDesc(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 131, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityDesc()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 131, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityDesc(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 131 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int minQtyId()
+ {
+ return 110;
+ }
+
+ public static int minQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int minQtyEncodingOffset()
+ {
+ return 151;
+ }
+
+ public static int minQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String minQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder minQty = new IntQty32Decoder();
+
+ public IntQty32Decoder minQty()
+ {
+ minQty.wrap(buffer, offset + 151);
+ return minQty;
+ }
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 155;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public byte securityType(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 155 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityType(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 155, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityType()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 155, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityType(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 155 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int customerOrFirmId()
+ {
+ return 204;
+ }
+
+ public static int customerOrFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int customerOrFirmEncodingOffset()
+ {
+ return 158;
+ }
+
+ public static int customerOrFirmEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String customerOrFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CustomerOrFirm customerOrFirm()
+ {
+ return CustomerOrFirm.get(((short)(buffer.getByte(offset + 158) & 0xFF)));
+ }
+
+
+ public static int maxShowId()
+ {
+ return 210;
+ }
+
+ public static int maxShowSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxShowEncodingOffset()
+ {
+ return 159;
+ }
+
+ public static int maxShowEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String maxShowMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Decoder maxShow = new IntQty32Decoder();
+
+ public IntQty32Decoder maxShow()
+ {
+ maxShow.wrap(buffer, offset + 159);
+ return maxShow;
+ }
+
+ public static int expireDateId()
+ {
+ return 432;
+ }
+
+ public static int expireDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int expireDateEncodingOffset()
+ {
+ return 163;
+ }
+
+ public static int expireDateEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String expireDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int expireDateNullValue()
+ {
+ return 65535;
+ }
+
+ public static int expireDateMinValue()
+ {
+ return 0;
+ }
+
+ public static int expireDateMaxValue()
+ {
+ return 65534;
+ }
+
+ public int expireDate()
+ {
+ return (buffer.getShort(offset + 163, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int selfMatchPreventionIDId()
+ {
+ return 7928;
+ }
+
+ public static int selfMatchPreventionIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int selfMatchPreventionIDEncodingOffset()
+ {
+ return 165;
+ }
+
+ public static int selfMatchPreventionIDEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String selfMatchPreventionIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte selfMatchPreventionIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte selfMatchPreventionIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte selfMatchPreventionIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int selfMatchPreventionIDLength()
+ {
+ return 12;
+ }
+
+ public byte selfMatchPreventionID(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 165 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String selfMatchPreventionIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSelfMatchPreventionID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 165, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String selfMatchPreventionID()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 165, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSelfMatchPreventionID(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 165 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int ctiCodeId()
+ {
+ return 9702;
+ }
+
+ public static int ctiCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ctiCodeEncodingOffset()
+ {
+ return 177;
+ }
+
+ public static int ctiCodeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ctiCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CtiCode ctiCode()
+ {
+ return CtiCode.get(buffer.getByte(offset + 177));
+ }
+
+
+ public static int giveUpFirmId()
+ {
+ return 9707;
+ }
+
+ public static int giveUpFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int giveUpFirmEncodingOffset()
+ {
+ return 178;
+ }
+
+ public static int giveUpFirmEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String giveUpFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte giveUpFirmNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte giveUpFirmMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte giveUpFirmMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int giveUpFirmLength()
+ {
+ return 3;
+ }
+
+ public byte giveUpFirm(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 178 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String giveUpFirmCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getGiveUpFirm(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 178, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String giveUpFirm()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 178, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getGiveUpFirm(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 178 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int cmtaGiveupCDId()
+ {
+ return 9708;
+ }
+
+ public static int cmtaGiveupCDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int cmtaGiveupCDEncodingOffset()
+ {
+ return 181;
+ }
+
+ public static int cmtaGiveupCDEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String cmtaGiveupCDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte cmtaGiveupCDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte cmtaGiveupCDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte cmtaGiveupCDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int cmtaGiveupCDLength()
+ {
+ return 2;
+ }
+
+ public byte cmtaGiveupCD(final int index)
+ {
+ if (index < 0 || index >= 2)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 181 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String cmtaGiveupCDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getCmtaGiveupCD(final byte[] dst, final int dstOffset)
+ {
+ final int length = 2;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 181, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String cmtaGiveupCD()
+ {
+ final byte[] dst = new byte[2];
+ buffer.getBytes(this.offset + 181, dst, 0, 2);
+
+ int end = 0;
+ for (; end < 2 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getCmtaGiveupCD(final Appendable value)
+ {
+ for (int i = 0; i < 2 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 181 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int correlationClOrdIDId()
+ {
+ return 9717;
+ }
+
+ public static int correlationClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int correlationClOrdIDEncodingOffset()
+ {
+ return 183;
+ }
+
+ public static int correlationClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String correlationClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte correlationClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte correlationClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte correlationClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int correlationClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte correlationClOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 183 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String correlationClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getCorrelationClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 183, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String correlationClOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 183, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getCorrelationClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 183 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int oFMOverrideId()
+ {
+ return 9768;
+ }
+
+ public static int oFMOverrideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int oFMOverrideEncodingOffset()
+ {
+ return 203;
+ }
+
+ public static int oFMOverrideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String oFMOverrideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OFMOverride oFMOverride()
+ {
+ return OFMOverride.get(buffer.getByte(offset + 203));
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[OrderCancelReplaceRequest](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("):");
+ //Token{signal=BEGIN_FIELD, name='Account', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=12, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("account=");
+ for (int i = 0; i < accountLength() && account(i) > 0; i++)
+ {
+ builder.append((char)account(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ClOrdID', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("clOrdID=");
+ for (int i = 0; i < clOrdIDLength() && clOrdID(i) > 0; i++)
+ {
+ builder.append((char)clOrdID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrderID', referencedName='null', description='null', id=37, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("orderID=");
+ builder.append(orderID());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='HandInst', referencedName='null', description='null', id=21, version=0, deprecated=0, encodedLength=1, offset=40, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='HandInst', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("handInst=");
+ builder.append(handInst());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrderQty', referencedName='null', description='null', id=38, version=0, deprecated=0, encodedLength=4, offset=41, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=41, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("orderQty=");
+ orderQty().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CustOrderHandlingInst', referencedName='null', description='null', id=1031, version=0, deprecated=0, encodedLength=1, offset=45, componentTokenCount=17, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='CustOrderHandlingInst', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=45, componentTokenCount=15, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("custOrderHandlingInst=");
+ builder.append(custOrderHandlingInst());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrdType', referencedName='null', description='null', id=40, version=0, deprecated=0, encodedLength=1, offset=46, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='OrdType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=46, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("ordType=");
+ builder.append(ordType());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrigClOrdID', referencedName='null', description='null', id=41, version=0, deprecated=0, encodedLength=20, offset=47, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=47, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("origClOrdID=");
+ for (int i = 0; i < origClOrdIDLength() && origClOrdID(i) > 0; i++)
+ {
+ builder.append((char)origClOrdID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Price', referencedName='null', description='null', id=44, version=0, deprecated=0, encodedLength=9, offset=67, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='OptionalPrice', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=9, offset=67, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("price=");
+ price().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Side', referencedName='null', description='null', id=54, version=0, deprecated=0, encodedLength=1, offset=76, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='Side', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=76, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("side=");
+ builder.append(side());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Symbol', referencedName='null', description='null', id=55, version=0, deprecated=0, encodedLength=6, offset=77, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='Symbol', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=77, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("symbol=");
+ for (int i = 0; i < symbolLength() && symbol(i) > 0; i++)
+ {
+ builder.append((char)symbol(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Test', referencedName='null', description='null', id=58, version=0, deprecated=0, encodedLength=18, offset=83, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string18', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=18, offset=83, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("test=");
+ for (int i = 0; i < testLength() && test(i) > 0; i++)
+ {
+ builder.append((char)test(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TimeInForce', referencedName='null', description='null', id=59, version=0, deprecated=0, encodedLength=1, offset=101, componentTokenCount=8, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='TimeInForce', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=101, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("timeInForce=");
+ builder.append(timeInForce());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ManualOrderIndicator', referencedName='null', description='null', id=1028, version=0, deprecated=0, encodedLength=1, offset=102, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=102, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Boolean'}}
+ builder.append("manualOrderIndicator=");
+ builder.append(manualOrderIndicator());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TransactTime', referencedName='null', description='null', id=60, version=0, deprecated=0, encodedLength=8, offset=103, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=103, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("transactTime=");
+ builder.append(transactTime());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='NoAllocs', referencedName='null', description='null', id=78, version=0, deprecated=0, encodedLength=1, offset=111, componentTokenCount=5, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='NoAllocs', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=111, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("noAllocs=");
+ builder.append(noAllocs());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='AllocAccount', referencedName='null', description='null', id=79, version=0, deprecated=0, encodedLength=10, offset=112, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string10', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=10, offset=112, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("allocAccount=");
+ for (int i = 0; i < allocAccountLength() && allocAccount(i) > 0; i++)
+ {
+ builder.append((char)allocAccount(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='StopPx', referencedName='null', description='null', id=99, version=0, deprecated=0, encodedLength=9, offset=122, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ //Token{signal=BEGIN_COMPOSITE, name='OptionalPrice', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=9, offset=122, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Price'}}
+ builder.append("stopPx=");
+ stopPx().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityDesc', referencedName='null', description='null', id=107, version=0, deprecated=0, encodedLength=20, offset=131, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=131, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityDesc=");
+ for (int i = 0; i < securityDescLength() && securityDesc(i) > 0; i++)
+ {
+ builder.append((char)securityDesc(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MinQty', referencedName='null', description='null', id=110, version=0, deprecated=0, encodedLength=4, offset=151, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=151, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("minQty=");
+ minQty().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityType', referencedName='null', description='null', id=167, version=0, deprecated=0, encodedLength=3, offset=155, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=155, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityType=");
+ for (int i = 0; i < securityTypeLength() && securityType(i) > 0; i++)
+ {
+ builder.append((char)securityType(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CustomerOrFirm', referencedName='null', description='null', id=204, version=0, deprecated=0, encodedLength=1, offset=158, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='CustomerOrFirm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=158, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("customerOrFirm=");
+ builder.append(customerOrFirm());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='MaxShow', referencedName='null', description='null', id=210, version=0, deprecated=0, encodedLength=4, offset=159, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ //Token{signal=BEGIN_COMPOSITE, name='IntQty32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=159, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Qty'}}
+ builder.append("maxShow=");
+ maxShow().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ExpireDate', referencedName='null', description='null', id=432, version=0, deprecated=0, encodedLength=2, offset=163, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='LocalMktDate', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=163, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='LocalMktDate'}}
+ builder.append("expireDate=");
+ builder.append(expireDate());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SelfMatchPreventionID', referencedName='null', description='null', id=7928, version=0, deprecated=0, encodedLength=12, offset=165, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=165, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("selfMatchPreventionID=");
+ for (int i = 0; i < selfMatchPreventionIDLength() && selfMatchPreventionID(i) > 0; i++)
+ {
+ builder.append((char)selfMatchPreventionID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CtiCode', referencedName='null', description='null', id=9702, version=0, deprecated=0, encodedLength=1, offset=177, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='CtiCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=177, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("ctiCode=");
+ builder.append(ctiCode());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='GiveUpFirm', referencedName='null', description='null', id=9707, version=0, deprecated=0, encodedLength=3, offset=178, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=178, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("giveUpFirm=");
+ for (int i = 0; i < giveUpFirmLength() && giveUpFirm(i) > 0; i++)
+ {
+ builder.append((char)giveUpFirm(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CmtaGiveupCD', referencedName='null', description='null', id=9708, version=0, deprecated=0, encodedLength=2, offset=181, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string2', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=181, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("cmtaGiveupCD=");
+ for (int i = 0; i < cmtaGiveupCDLength() && cmtaGiveupCD(i) > 0; i++)
+ {
+ builder.append((char)cmtaGiveupCD(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CorrelationClOrdID', referencedName='null', description='null', id=9717, version=0, deprecated=0, encodedLength=20, offset=183, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=183, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("correlationClOrdID=");
+ for (int i = 0; i < correlationClOrdIDLength() && correlationClOrdID(i) > 0; i++)
+ {
+ builder.append((char)correlationClOrdID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OFMOverride', referencedName='null', description='null', id=9768, version=0, deprecated=0, encodedLength=1, offset=203, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='OFMOverride', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=203, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("oFMOverride=");
+ builder.append(oFMOverride());
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.java
new file mode 100644
index 0000000000..c676ff9689
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.java
@@ -0,0 +1,2392 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OrderCancelReplaceRequestEncoder
+{
+ public static final int BLOCK_LENGTH = 204;
+ public static final int TEMPLATE_ID = 71;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final OrderCancelReplaceRequestEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 "G";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public OrderCancelReplaceRequestEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int accountId()
+ {
+ return 1;
+ }
+
+ public static int accountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String accountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte accountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte accountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte accountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int accountLength()
+ {
+ return 12;
+ }
+
+ public OrderCancelReplaceRequestEncoder account(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String accountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putAccount(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 0, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder account(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 0, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 0 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder account(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 0 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 0 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int clOrdIDId()
+ {
+ return 11;
+ }
+
+ public static int clOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int clOrdIDEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int clOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte clOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte clOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte clOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int clOrdIDLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelReplaceRequestEncoder clOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String clOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 12, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder clOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 12, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 12 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder clOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 12 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 12 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int orderIDId()
+ {
+ return 37;
+ }
+
+ public static int orderIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderIDEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int orderIDEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String orderIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long orderIDNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long orderIDMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long orderIDMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public OrderCancelReplaceRequestEncoder orderID(final long value)
+ {
+ buffer.putLong(offset + 32, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int handInstId()
+ {
+ return 21;
+ }
+
+ public static int handInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int handInstEncodingOffset()
+ {
+ return 40;
+ }
+
+ public static int handInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String handInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder handInst(final HandInst value)
+ {
+ buffer.putByte(offset + 40, value.value());
+ return this;
+ }
+
+ public static int orderQtyId()
+ {
+ return 38;
+ }
+
+ public static int orderQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderQtyEncodingOffset()
+ {
+ return 41;
+ }
+
+ public static int orderQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String orderQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder orderQty = new IntQty32Encoder();
+
+ public IntQty32Encoder orderQty()
+ {
+ orderQty.wrap(buffer, offset + 41);
+ return orderQty;
+ }
+
+ public static int custOrderHandlingInstId()
+ {
+ return 1031;
+ }
+
+ public static int custOrderHandlingInstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int custOrderHandlingInstEncodingOffset()
+ {
+ return 45;
+ }
+
+ public static int custOrderHandlingInstEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String custOrderHandlingInstMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder custOrderHandlingInst(final CustOrderHandlingInst value)
+ {
+ buffer.putByte(offset + 45, value.value());
+ return this;
+ }
+
+ public static int ordTypeId()
+ {
+ return 40;
+ }
+
+ public static int ordTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ordTypeEncodingOffset()
+ {
+ return 46;
+ }
+
+ public static int ordTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ordTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder ordType(final OrdType value)
+ {
+ buffer.putByte(offset + 46, value.value());
+ return this;
+ }
+
+ public static int origClOrdIDId()
+ {
+ return 41;
+ }
+
+ public static int origClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int origClOrdIDEncodingOffset()
+ {
+ return 47;
+ }
+
+ public static int origClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String origClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte origClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte origClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte origClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int origClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelReplaceRequestEncoder origClOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 47 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String origClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putOrigClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 47, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder origClOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 47, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 47 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder origClOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 47 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 47 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int priceId()
+ {
+ return 44;
+ }
+
+ public static int priceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int priceEncodingOffset()
+ {
+ return 67;
+ }
+
+ public static int priceEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String priceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceEncoder price = new OptionalPriceEncoder();
+
+ public OptionalPriceEncoder price()
+ {
+ price.wrap(buffer, offset + 67);
+ return price;
+ }
+
+ public static int sideId()
+ {
+ return 54;
+ }
+
+ public static int sideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int sideEncodingOffset()
+ {
+ return 76;
+ }
+
+ public static int sideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String sideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder side(final Side value)
+ {
+ buffer.putByte(offset + 76, value.value());
+ return this;
+ }
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 77;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public OrderCancelReplaceRequestEncoder symbol(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 77 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putSymbol(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 77, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder symbol(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 77, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 77 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder symbol(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 77 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 77 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int testId()
+ {
+ return 58;
+ }
+
+ public static int testSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int testEncodingOffset()
+ {
+ return 83;
+ }
+
+ public static int testEncodingLength()
+ {
+ return 18;
+ }
+
+ public static String testMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte testNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte testMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte testMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int testLength()
+ {
+ return 18;
+ }
+
+ public OrderCancelReplaceRequestEncoder test(final int index, final byte value)
+ {
+ if (index < 0 || index >= 18)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 83 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String testCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putTest(final byte[] src, final int srcOffset)
+ {
+ final int length = 18;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 83, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder test(final String src)
+ {
+ final int length = 18;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 83, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 83 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder test(final CharSequence src)
+ {
+ final int length = 18;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 83 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 83 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int timeInForceId()
+ {
+ return 59;
+ }
+
+ public static int timeInForceSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int timeInForceEncodingOffset()
+ {
+ return 101;
+ }
+
+ public static int timeInForceEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String timeInForceMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder timeInForce(final TimeInForce value)
+ {
+ buffer.putByte(offset + 101, value.value());
+ return this;
+ }
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 102;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder manualOrderIndicator(final BooleanType value)
+ {
+ buffer.putByte(offset + 102, (byte)value.value());
+ return this;
+ }
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 103;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public OrderCancelReplaceRequestEncoder transactTime(final long value)
+ {
+ buffer.putLong(offset + 103, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int noAllocsId()
+ {
+ return 78;
+ }
+
+ public static int noAllocsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int noAllocsEncodingOffset()
+ {
+ return 111;
+ }
+
+ public static int noAllocsEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String noAllocsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder noAllocs(final NoAllocs value)
+ {
+ buffer.putByte(offset + 111, value.value());
+ return this;
+ }
+
+ public static int allocAccountId()
+ {
+ return 79;
+ }
+
+ public static int allocAccountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int allocAccountEncodingOffset()
+ {
+ return 112;
+ }
+
+ public static int allocAccountEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String allocAccountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte allocAccountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte allocAccountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte allocAccountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int allocAccountLength()
+ {
+ return 10;
+ }
+
+ public OrderCancelReplaceRequestEncoder allocAccount(final int index, final byte value)
+ {
+ if (index < 0 || index >= 10)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 112 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String allocAccountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putAllocAccount(final byte[] src, final int srcOffset)
+ {
+ final int length = 10;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 112, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder allocAccount(final String src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 112, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 112 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder allocAccount(final CharSequence src)
+ {
+ final int length = 10;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 112 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 112 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int stopPxId()
+ {
+ return 99;
+ }
+
+ public static int stopPxSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int stopPxEncodingOffset()
+ {
+ return 122;
+ }
+
+ public static int stopPxEncodingLength()
+ {
+ return 9;
+ }
+
+ public static String stopPxMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Price";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalPriceEncoder stopPx = new OptionalPriceEncoder();
+
+ public OptionalPriceEncoder stopPx()
+ {
+ stopPx.wrap(buffer, offset + 122);
+ return stopPx;
+ }
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 131;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelReplaceRequestEncoder securityDesc(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 131 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putSecurityDesc(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 131, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder securityDesc(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 131, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 131 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder securityDesc(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 131 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 131 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int minQtyId()
+ {
+ return 110;
+ }
+
+ public static int minQtySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int minQtyEncodingOffset()
+ {
+ return 151;
+ }
+
+ public static int minQtyEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String minQtyMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder minQty = new IntQty32Encoder();
+
+ public IntQty32Encoder minQty()
+ {
+ minQty.wrap(buffer, offset + 151);
+ return minQty;
+ }
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 155;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public OrderCancelReplaceRequestEncoder securityType(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 155 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putSecurityType(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 155, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder securityType(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 155, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 155 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder securityType(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 155 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 155 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int customerOrFirmId()
+ {
+ return 204;
+ }
+
+ public static int customerOrFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int customerOrFirmEncodingOffset()
+ {
+ return 158;
+ }
+
+ public static int customerOrFirmEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String customerOrFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder customerOrFirm(final CustomerOrFirm value)
+ {
+ buffer.putByte(offset + 158, (byte)value.value());
+ return this;
+ }
+
+ public static int maxShowId()
+ {
+ return 210;
+ }
+
+ public static int maxShowSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxShowEncodingOffset()
+ {
+ return 159;
+ }
+
+ public static int maxShowEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String maxShowMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "Qty";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final IntQty32Encoder maxShow = new IntQty32Encoder();
+
+ public IntQty32Encoder maxShow()
+ {
+ maxShow.wrap(buffer, offset + 159);
+ return maxShow;
+ }
+
+ public static int expireDateId()
+ {
+ return 432;
+ }
+
+ public static int expireDateSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int expireDateEncodingOffset()
+ {
+ return 163;
+ }
+
+ public static int expireDateEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String expireDateMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int expireDateNullValue()
+ {
+ return 65535;
+ }
+
+ public static int expireDateMinValue()
+ {
+ return 0;
+ }
+
+ public static int expireDateMaxValue()
+ {
+ return 65534;
+ }
+
+ public OrderCancelReplaceRequestEncoder expireDate(final int value)
+ {
+ buffer.putShort(offset + 163, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int selfMatchPreventionIDId()
+ {
+ return 7928;
+ }
+
+ public static int selfMatchPreventionIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int selfMatchPreventionIDEncodingOffset()
+ {
+ return 165;
+ }
+
+ public static int selfMatchPreventionIDEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String selfMatchPreventionIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte selfMatchPreventionIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte selfMatchPreventionIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte selfMatchPreventionIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int selfMatchPreventionIDLength()
+ {
+ return 12;
+ }
+
+ public OrderCancelReplaceRequestEncoder selfMatchPreventionID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 165 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String selfMatchPreventionIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putSelfMatchPreventionID(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 165, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder selfMatchPreventionID(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 165, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 165 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder selfMatchPreventionID(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 165 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 165 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int ctiCodeId()
+ {
+ return 9702;
+ }
+
+ public static int ctiCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int ctiCodeEncodingOffset()
+ {
+ return 177;
+ }
+
+ public static int ctiCodeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String ctiCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder ctiCode(final CtiCode value)
+ {
+ buffer.putByte(offset + 177, value.value());
+ return this;
+ }
+
+ public static int giveUpFirmId()
+ {
+ return 9707;
+ }
+
+ public static int giveUpFirmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int giveUpFirmEncodingOffset()
+ {
+ return 178;
+ }
+
+ public static int giveUpFirmEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String giveUpFirmMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte giveUpFirmNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte giveUpFirmMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte giveUpFirmMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int giveUpFirmLength()
+ {
+ return 3;
+ }
+
+ public OrderCancelReplaceRequestEncoder giveUpFirm(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 178 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String giveUpFirmCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putGiveUpFirm(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 178, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder giveUpFirm(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 178, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 178 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder giveUpFirm(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 178 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 178 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int cmtaGiveupCDId()
+ {
+ return 9708;
+ }
+
+ public static int cmtaGiveupCDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int cmtaGiveupCDEncodingOffset()
+ {
+ return 181;
+ }
+
+ public static int cmtaGiveupCDEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String cmtaGiveupCDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte cmtaGiveupCDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte cmtaGiveupCDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte cmtaGiveupCDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int cmtaGiveupCDLength()
+ {
+ return 2;
+ }
+
+ public OrderCancelReplaceRequestEncoder cmtaGiveupCD(final int index, final byte value)
+ {
+ if (index < 0 || index >= 2)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 181 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String cmtaGiveupCDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putCmtaGiveupCD(final byte[] src, final int srcOffset)
+ {
+ final int length = 2;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 181, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder cmtaGiveupCD(final String src)
+ {
+ final int length = 2;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 181, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 181 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder cmtaGiveupCD(final CharSequence src)
+ {
+ final int length = 2;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 181 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 181 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int correlationClOrdIDId()
+ {
+ return 9717;
+ }
+
+ public static int correlationClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int correlationClOrdIDEncodingOffset()
+ {
+ return 183;
+ }
+
+ public static int correlationClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String correlationClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte correlationClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte correlationClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte correlationClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int correlationClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelReplaceRequestEncoder correlationClOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 183 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String correlationClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelReplaceRequestEncoder putCorrelationClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 183, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder correlationClOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 183, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 183 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelReplaceRequestEncoder correlationClOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 183 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 183 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int oFMOverrideId()
+ {
+ return 9768;
+ }
+
+ public static int oFMOverrideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int oFMOverrideEncodingOffset()
+ {
+ return 203;
+ }
+
+ public static int oFMOverrideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String oFMOverrideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelReplaceRequestEncoder oFMOverride(final OFMOverride value)
+ {
+ buffer.putByte(offset + 203, value.value());
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ OrderCancelReplaceRequestDecoder writer = new OrderCancelReplaceRequestDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.java
new file mode 100644
index 0000000000..c807cd54ec
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.java
@@ -0,0 +1,1201 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OrderCancelRequestDecoder
+{
+ public static final int BLOCK_LENGTH = 119;
+ public static final int TEMPLATE_ID = 70;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final OrderCancelRequestDecoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 "F";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public OrderCancelRequestDecoder wrap(
+ final UnsafeBuffer 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int accountId()
+ {
+ return 1;
+ }
+
+ public static int accountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String accountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte accountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte accountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte accountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int accountLength()
+ {
+ return 12;
+ }
+
+ public byte account(final int index)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String accountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getAccount(final byte[] dst, final int dstOffset)
+ {
+ final int length = 12;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 0, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String account()
+ {
+ final byte[] dst = new byte[12];
+ buffer.getBytes(this.offset + 0, dst, 0, 12);
+
+ int end = 0;
+ for (; end < 12 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getAccount(final Appendable value)
+ {
+ for (int i = 0; i < 12 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 0 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int clOrdIDId()
+ {
+ return 11;
+ }
+
+ public static int clOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int clOrdIDEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int clOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte clOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte clOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte clOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int clOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte clOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String clOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 12, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String clOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 12, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 12 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int orderIDId()
+ {
+ return 37;
+ }
+
+ public static int orderIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderIDEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int orderIDEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String orderIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long orderIDNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long orderIDMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long orderIDMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long orderID()
+ {
+ return buffer.getLong(offset + 32, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int origClOrdIDId()
+ {
+ return 41;
+ }
+
+ public static int origClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int origClOrdIDEncodingOffset()
+ {
+ return 40;
+ }
+
+ public static int origClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String origClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte origClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte origClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte origClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int origClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte origClOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 40 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String origClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getOrigClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 40, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String origClOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 40, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getOrigClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 40 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int sideId()
+ {
+ return 54;
+ }
+
+ public static int sideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int sideEncodingOffset()
+ {
+ return 60;
+ }
+
+ public static int sideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String sideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Side side()
+ {
+ return Side.get(buffer.getByte(offset + 60));
+ }
+
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 61;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public byte symbol(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 61 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSymbol(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 61, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String symbol()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 61, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSymbol(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 61 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 67;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long transactTime()
+ {
+ return buffer.getLong(offset + 67, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 75;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType manualOrderIndicator()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 75) & 0xFF)));
+ }
+
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 76;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public byte securityDesc(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 76 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityDesc(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 76, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityDesc()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 76, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityDesc(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 76 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 96;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public byte securityType(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 96 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getSecurityType(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 96, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String securityType()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 96, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getSecurityType(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 96 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int correlationClOrdIDId()
+ {
+ return 9717;
+ }
+
+ public static int correlationClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int correlationClOrdIDEncodingOffset()
+ {
+ return 99;
+ }
+
+ public static int correlationClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String correlationClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte correlationClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte correlationClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte correlationClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int correlationClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public byte correlationClOrdID(final int index)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 99 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String correlationClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getCorrelationClOrdID(final byte[] dst, final int dstOffset)
+ {
+ final int length = 20;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 99, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String correlationClOrdID()
+ {
+ final byte[] dst = new byte[20];
+ buffer.getBytes(this.offset + 99, dst, 0, 20);
+
+ int end = 0;
+ for (; end < 20 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getCorrelationClOrdID(final Appendable value)
+ {
+ for (int i = 0; i < 20 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 99 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[OrderCancelRequest](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("):");
+ //Token{signal=BEGIN_FIELD, name='Account', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=12, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string12', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=12, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("account=");
+ for (int i = 0; i < accountLength() && account(i) > 0; i++)
+ {
+ builder.append((char)account(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ClOrdID', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("clOrdID=");
+ for (int i = 0; i < clOrdIDLength() && clOrdID(i) > 0; i++)
+ {
+ builder.append((char)clOrdID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrderID', referencedName='null', description='null', id=37, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("orderID=");
+ builder.append(orderID());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='OrigClOrdID', referencedName='null', description='null', id=41, version=0, deprecated=0, encodedLength=20, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("origClOrdID=");
+ for (int i = 0; i < origClOrdIDLength() && origClOrdID(i) > 0; i++)
+ {
+ builder.append((char)origClOrdID(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Side', referencedName='null', description='null', id=54, version=0, deprecated=0, encodedLength=1, offset=60, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ //Token{signal=BEGIN_ENUM, name='Side', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=60, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='char'}}
+ builder.append("side=");
+ builder.append(side());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='Symbol', referencedName='null', description='null', id=55, version=0, deprecated=0, encodedLength=6, offset=61, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='Symbol', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=61, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("symbol=");
+ for (int i = 0; i < symbolLength() && symbol(i) > 0; i++)
+ {
+ builder.append((char)symbol(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='TransactTime', referencedName='null', description='null', id=60, version=0, deprecated=0, encodedLength=8, offset=67, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ //Token{signal=ENCODING, name='timestamp', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=67, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=nanosecond, semanticType='UTCTimestamp'}}
+ builder.append("transactTime=");
+ builder.append(transactTime());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='ManualOrderIndicator', referencedName='null', description='null', id=1028, version=0, deprecated=0, encodedLength=1, offset=75, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=75, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='Boolean'}}
+ builder.append("manualOrderIndicator=");
+ builder.append(manualOrderIndicator());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityDesc', referencedName='null', description='null', id=107, version=0, deprecated=0, encodedLength=20, offset=76, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=76, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityDesc=");
+ for (int i = 0; i < securityDescLength() && securityDesc(i) > 0; i++)
+ {
+ builder.append((char)securityDesc(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='SecurityType', referencedName='null', description='null', id=167, version=0, deprecated=0, encodedLength=3, offset=96, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string3', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=96, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("securityType=");
+ for (int i = 0; i < securityTypeLength() && securityType(i) > 0; i++)
+ {
+ builder.append((char)securityType(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='CorrelationClOrdID', referencedName='null', description='null', id=9717, version=0, deprecated=0, encodedLength=20, offset=99, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='String'}}
+ //Token{signal=ENCODING, name='string20', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=99, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='String'}}
+ builder.append("correlationClOrdID=");
+ for (int i = 0; i < correlationClOrdIDLength() && correlationClOrdID(i) > 0; i++)
+ {
+ builder.append((char)correlationClOrdID(i));
+ }
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.java
new file mode 100644
index 0000000000..2a7e1aa442
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.java
@@ -0,0 +1,1185 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class OrderCancelRequestEncoder
+{
+ public static final int BLOCK_LENGTH = 119;
+ public static final int TEMPLATE_ID = 70;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final OrderCancelRequestEncoder parentMessage = this;
+ private UnsafeBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 "F";
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public OrderCancelRequestEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder wrapAndApplyHeader(
+ final UnsafeBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int accountId()
+ {
+ return 1;
+ }
+
+ public static int accountSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int accountEncodingLength()
+ {
+ return 12;
+ }
+
+ public static String accountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte accountNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte accountMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte accountMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int accountLength()
+ {
+ return 12;
+ }
+
+ public OrderCancelRequestEncoder account(final int index, final byte value)
+ {
+ if (index < 0 || index >= 12)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 0 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String accountCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putAccount(final byte[] src, final int srcOffset)
+ {
+ final int length = 12;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 0, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder account(final String src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 0, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 0 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder account(final CharSequence src)
+ {
+ final int length = 12;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 0 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 0 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int clOrdIDId()
+ {
+ return 11;
+ }
+
+ public static int clOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int clOrdIDEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int clOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String clOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte clOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte clOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte clOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int clOrdIDLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelRequestEncoder clOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String clOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 12, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder clOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 12, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 12 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder clOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 12 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 12 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int orderIDId()
+ {
+ return 37;
+ }
+
+ public static int orderIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int orderIDEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int orderIDEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String orderIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "int";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long orderIDNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long orderIDMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long orderIDMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public OrderCancelRequestEncoder orderID(final long value)
+ {
+ buffer.putLong(offset + 32, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int origClOrdIDId()
+ {
+ return 41;
+ }
+
+ public static int origClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int origClOrdIDEncodingOffset()
+ {
+ return 40;
+ }
+
+ public static int origClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String origClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte origClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte origClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte origClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int origClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelRequestEncoder origClOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 40 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String origClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putOrigClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 40, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder origClOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 40, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 40 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder origClOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 40 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 40 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int sideId()
+ {
+ return 54;
+ }
+
+ public static int sideSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int sideEncodingOffset()
+ {
+ return 60;
+ }
+
+ public static int sideEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String sideMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "char";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelRequestEncoder side(final Side value)
+ {
+ buffer.putByte(offset + 60, value.value());
+ return this;
+ }
+
+ public static int symbolId()
+ {
+ return 55;
+ }
+
+ public static int symbolSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int symbolEncodingOffset()
+ {
+ return 61;
+ }
+
+ public static int symbolEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String symbolMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte symbolNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte symbolMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte symbolMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int symbolLength()
+ {
+ return 6;
+ }
+
+ public OrderCancelRequestEncoder symbol(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 61 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String symbolCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putSymbol(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 61, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder symbol(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 61, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 61 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder symbol(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 61 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 61 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int transactTimeId()
+ {
+ return 60;
+ }
+
+ public static int transactTimeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int transactTimeEncodingOffset()
+ {
+ return 67;
+ }
+
+ public static int transactTimeEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String transactTimeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "UTCTimestamp";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long transactTimeNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long transactTimeMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long transactTimeMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public OrderCancelRequestEncoder transactTime(final long value)
+ {
+ buffer.putLong(offset + 67, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int manualOrderIndicatorId()
+ {
+ return 1028;
+ }
+
+ public static int manualOrderIndicatorSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int manualOrderIndicatorEncodingOffset()
+ {
+ return 75;
+ }
+
+ public static int manualOrderIndicatorEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String manualOrderIndicatorMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public OrderCancelRequestEncoder manualOrderIndicator(final BooleanType value)
+ {
+ buffer.putByte(offset + 75, (byte)value.value());
+ return this;
+ }
+
+ public static int securityDescId()
+ {
+ return 107;
+ }
+
+ public static int securityDescSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityDescEncodingOffset()
+ {
+ return 76;
+ }
+
+ public static int securityDescEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String securityDescMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityDescNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityDescMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityDescMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityDescLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelRequestEncoder securityDesc(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 76 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityDescCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putSecurityDesc(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 76, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder securityDesc(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 76, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 76 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder securityDesc(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 76 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 76 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int securityTypeId()
+ {
+ return 167;
+ }
+
+ public static int securityTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int securityTypeEncodingOffset()
+ {
+ return 96;
+ }
+
+ public static int securityTypeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static String securityTypeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte securityTypeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte securityTypeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte securityTypeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int securityTypeLength()
+ {
+ return 3;
+ }
+
+ public OrderCancelRequestEncoder securityType(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 96 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String securityTypeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putSecurityType(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 96, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder securityType(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 96, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 96 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder securityType(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 96 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 96 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int correlationClOrdIDId()
+ {
+ return 9717;
+ }
+
+ public static int correlationClOrdIDSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int correlationClOrdIDEncodingOffset()
+ {
+ return 99;
+ }
+
+ public static int correlationClOrdIDEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String correlationClOrdIDMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "String";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte correlationClOrdIDNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte correlationClOrdIDMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte correlationClOrdIDMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int correlationClOrdIDLength()
+ {
+ return 20;
+ }
+
+ public OrderCancelRequestEncoder correlationClOrdID(final int index, final byte value)
+ {
+ if (index < 0 || index >= 20)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 99 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String correlationClOrdIDCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public OrderCancelRequestEncoder putCorrelationClOrdID(final byte[] src, final int srcOffset)
+ {
+ final int length = 20;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 99, src, srcOffset, length);
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder correlationClOrdID(final String src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 99, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 99 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public OrderCancelRequestEncoder correlationClOrdID(final CharSequence src)
+ {
+ final int length = 20;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 99 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 99 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ OrderCancelRequestDecoder writer = new OrderCancelRequestDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.java
new file mode 100644
index 0000000000..d4c88215f3
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.java
@@ -0,0 +1,109 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class QuoteConditionDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public QuoteConditionDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getByte(offset);
+ }
+
+ public boolean implied()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 0));
+ }
+
+ public static boolean implied(final byte value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean exchangeBest()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 1));
+ }
+
+ public static boolean exchangeBest(final byte value)
+ {
+ return 0 != (value & (1 << 1));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (implied())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("implied");
+ atLeastOne = true;
+ }
+ if (exchangeBest())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("exchangeBest");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.java
new file mode 100644
index 0000000000..ed098b57c7
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.java
@@ -0,0 +1,84 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class QuoteConditionEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public QuoteConditionEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public QuoteConditionEncoder clear()
+ {
+ buffer.putByte(offset, (byte)(short)0);
+ return this;
+ }
+
+ public QuoteConditionEncoder implied(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte implied(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ }
+
+ public QuoteConditionEncoder exchangeBest(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte exchangeBest(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.java
new file mode 100644
index 0000000000..33ff9fe905
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.java
@@ -0,0 +1,39 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum SecurityIDSource
+{
+ EXCHANGE_SYMBOL((byte)56),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ SecurityIDSource(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static SecurityIDSource get(final byte value)
+ {
+ switch (value)
+ {
+ case 56: return EXCHANGE_SYMBOL;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.java
new file mode 100644
index 0000000000..3d7da09a8a
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum Side
+{
+ BUY((byte)49),
+
+ SELL((byte)50),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ Side(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static Side get(final byte value)
+ {
+ switch (value)
+ {
+ case 49: return BUY;
+ case 50: return SELL;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.java
new file mode 100644
index 0000000000..740177a21a
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum TickDirection
+{
+ PLUS_TICK((short)0),
+
+ MINUS_TICK((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ TickDirection(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static TickDirection get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return PLUS_TICK;
+ case 1: return MINUS_TICK;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.java
new file mode 100644
index 0000000000..7843a4746e
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.java
@@ -0,0 +1,48 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+public enum TimeInForce
+{
+ DAY((byte)48),
+
+ GOOD_TILL_CANCEL((byte)49),
+
+ FILL_AND_KILL((byte)51),
+
+ GOOD_TILL_DATE((byte)54),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ TimeInForce(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static TimeInForce get(final byte value)
+ {
+ switch (value)
+ {
+ case 48: return DAY;
+ case 49: return GOOD_TILL_CANCEL;
+ case 51: return FILL_AND_KILL;
+ case 54: return GOOD_TILL_DATE;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.java
new file mode 100644
index 0000000000..22e787cb98
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.java
@@ -0,0 +1,109 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class TradeConditionDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public TradeConditionDecoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getByte(offset);
+ }
+
+ public boolean openingTrade()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 0));
+ }
+
+ public static boolean openingTrade(final byte value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean cmeGlobexPrice()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 1));
+ }
+
+ public static boolean cmeGlobexPrice(final byte value)
+ {
+ return 0 != (value & (1 << 1));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (openingTrade())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("openingTrade");
+ atLeastOne = true;
+ }
+ if (cmeGlobexPrice())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("cmeGlobexPrice");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.java b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.java
new file mode 100644
index 0000000000..bb7643a905
--- /dev/null
+++ b/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.java
@@ -0,0 +1,84 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package uk.co.real_logic.sbe.benchmarks.fix;
+
+import org.agrona.concurrent.UnsafeBuffer;
+
+@SuppressWarnings("all")
+public class TradeConditionEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private UnsafeBuffer buffer;
+
+ public TradeConditionEncoder wrap(final UnsafeBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public UnsafeBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public TradeConditionEncoder clear()
+ {
+ buffer.putByte(offset, (byte)(short)0);
+ return this;
+ }
+
+ public TradeConditionEncoder openingTrade(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte openingTrade(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ }
+
+ public TradeConditionEncoder cmeGlobexPrice(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte cmeGlobexPrice(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ }
+}
diff --git a/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0-javadoc.jar b/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0-javadoc.jar
new file mode 100644
index 0000000000..867ffc0c51
Binary files /dev/null and b/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0-javadoc.jar differ
diff --git a/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0-sources.jar b/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0-sources.jar
new file mode 100644
index 0000000000..4e69638326
Binary files /dev/null and b/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0-sources.jar differ
diff --git a/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0.jar b/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0.jar
new file mode 100644
index 0000000000..416fb196a3
Binary files /dev/null and b/sbe-benchmarks/build/libs/sbe-benchmarks-1.12.0.jar differ
diff --git a/sbe-benchmarks/build/libs/sbe-benchmarks.jar b/sbe-benchmarks/build/libs/sbe-benchmarks.jar
new file mode 100644
index 0000000000..493b1e5e2a
Binary files /dev/null and b/sbe-benchmarks/build/libs/sbe-benchmarks.jar differ
diff --git a/sbe-benchmarks/build/poms/pom-default.xml b/sbe-benchmarks/build/poms/pom-default.xml
new file mode 100644
index 0000000000..7e2267de3f
--- /dev/null
+++ b/sbe-benchmarks/build/poms/pom-default.xml
@@ -0,0 +1,92 @@
+
+
+ 4.0.0
+ uk.co.real-logic
+ sbe-benchmarks
+ 1.12.0
+ sbe
+ FIX/SBE - OSI layer 6 presentation for encoding and decoding application messages in binary format for low-latency applications
+ https://github.com/real-logic/simple-binary-encoding
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ tmontgomery
+ Todd L. Montgomery
+ tmont@nard.net
+ https://github.com/tmontgomery
+
+
+ mjpt777
+ Martin Thompson
+ mjpt777@gmail.com
+ https://github.com/mjpt777
+
+
+ odeheurles
+ Olivier Deheurles
+ olivier@weareadaptive.com
+ https://github.com/odeheurles
+
+
+ RichardWarburton
+ Richard Warburton
+ richard.warburton@gmail.com
+ https://github.com/RichardWarburton
+
+
+ BillSegall
+ Bill Segall
+ bill.segall@gmail.com
+ https://github.com/BillSegall
+
+
+
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ github.com/real-logic/simple-binary-encoding.git
+
+
+
+ org.agrona
+ agrona
+ 0.9.31
+ compile
+
+
+ org.openjdk.jmh
+ jmh-core
+ 1.21
+ compile
+
+
+ uk.co.real-logic
+ sbe-tool
+ 1.12.0
+ compile
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.mockito
+ mockito-core
+ 2.23.4
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ 1.3
+ test
+
+
+
diff --git a/sbe-benchmarks/build/reports/checkstyle/generated.html b/sbe-benchmarks/build/reports/checkstyle/generated.html
new file mode 100644
index 0000000000..c37247a6ad
--- /dev/null
+++ b/sbe-benchmarks/build/reports/checkstyle/generated.html
@@ -0,0 +1,699 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+61 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/BooleanType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/CarEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/EngineEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/GroupSizeEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/Model.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/OptionalExtrasEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/VarStringEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/BooleanType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CtiCode.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustOrderHandlingInst.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/CustomerOrFirm.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Decoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Decimal64Encoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/GroupSizeEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/HandInst.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Decoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/IntQty32Encoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDEntryType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDQuoteType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MDUpdateAction.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MMProtectionReset.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketDataIncrementalRefreshTradesEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MarketStateIdentifier.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MassQuoteEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MatchEventIndicator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NewOrderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/NoAllocs.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OFMOverride.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OpenCloseSettleFlag.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OptionalPriceEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrdType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelReplaceRequestEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/OrderCancelRequestEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/QuoteConditionEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/SecurityIDSource.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/Side.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TickDirection.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TimeInForce.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/generated/uk/co/real_logic/sbe/benchmarks/fix/TradeConditionEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-benchmarks/build/reports/checkstyle/generated.xml b/sbe-benchmarks/build/reports/checkstyle/generated.xml
new file mode 100644
index 0000000000..13a19b58ca
--- /dev/null
+++ b/sbe-benchmarks/build/reports/checkstyle/generated.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-benchmarks/build/reports/checkstyle/main.html b/sbe-benchmarks/build/reports/checkstyle/main.html
new file mode 100644
index 0000000000..a5fbda37c2
--- /dev/null
+++ b/sbe-benchmarks/build/reports/checkstyle/main.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+2 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/src/main/java/uk/co/real_logic/sbe/CarBenchmark.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/src/main/java/uk/co/real_logic/sbe/MarketDataBenchmark.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-benchmarks/build/reports/checkstyle/main.xml b/sbe-benchmarks/build/reports/checkstyle/main.xml
new file mode 100644
index 0000000000..4f82b97fe4
--- /dev/null
+++ b/sbe-benchmarks/build/reports/checkstyle/main.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-benchmarks/build/resources/main/car.xml b/sbe-benchmarks/build/resources/main/car.xml
new file mode 100644
index 0000000000..127f767315
--- /dev/null
+++ b/sbe-benchmarks/build/resources/main/car.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-benchmarks/build/resources/main/fix-message-samples.xml b/sbe-benchmarks/build/resources/main/fix-message-samples.xml
new file mode 100644
index 0000000000..31e62e3d42
--- /dev/null
+++ b/sbe-benchmarks/build/resources/main/fix-message-samples.xml
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ 7
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ A
+ B
+ C
+ D
+ E
+ F
+ G
+ H
+ J
+ W
+ X
+ Y
+ Z
+
+
+ 1
+ 2
+ 3
+ 4
+ K
+
+
+ 1
+ 2
+
+
+ 0
+ 1
+ 3
+ 6
+
+
+ 0
+ 1
+
+
+ 0
+ 1
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+ 1
+
+
+ Y
+ N
+
+
+ Y
+ N
+
+
+ 8
+
+
+ 0
+ 1
+ 2
+ 5
+
+
+ 0
+ 1
+ 2
+ 4
+ 6
+ 7
+ 8
+ B
+ C
+ E
+ F
+ J
+ N
+ O
+ W
+ X
+
+
+ 0
+ 1
+ 2
+
+
+ 0
+ 1
+
+
+ 5
+ 100
+ 101
+
+
+ 1
+
+
+ 0
+ 1
+ 2
+ 3
+
+
+
+ 0
+ 1
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-benchmarks/build/tmp/jar/MANIFEST.MF b/sbe-benchmarks/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-benchmarks/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-benchmarks/build/tmp/javadoc/javadoc.options b/sbe-benchmarks/build/tmp/javadoc/javadoc.options
new file mode 100644
index 0000000000..c91faef4cc
--- /dev/null
+++ b/sbe-benchmarks/build/tmp/javadoc/javadoc.options
@@ -0,0 +1,8 @@
+-bottom 'Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved. '
+-classpath '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/classes/java/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/resources/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/classes/java/generated:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/libs/sbe-tool-1.12.0.jar:/Users/ethan/.gradle/caches/modules-2/files-2.1/org.agrona/agrona/0.9.31/56014757f084ead33d6a29f8dbad9b4cb765bdf/agrona-0.9.31.jar:/Users/ethan/.gradle/caches/modules-2/files-2.1/org.openjdk.jmh/jmh-core/1.21/442447101f63074c61063858033fbfde8a076873/jmh-core-1.21.jar:/Users/ethan/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.6/306816fb57cf94f108a43c95731b08934dcae15c/jopt-simple-4.6.jar:/Users/ethan/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-math3/3.2/ec2544ab27e110d2d431bdad7d538ed509b21e62/commons-math3-3.2.jar'
+-d '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/build/docs/javadoc'
+-doctitle 'Simple Binary Encoding '
+-quiet
+-windowtitle 'Simple Binary Encoding '
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/src/main/java/uk/co/real_logic/sbe/MarketDataBenchmark.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-benchmarks/src/main/java/uk/co/real_logic/sbe/CarBenchmark.java'
diff --git a/sbe-benchmarks/build/tmp/javadocJar/MANIFEST.MF b/sbe-benchmarks/build/tmp/javadocJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-benchmarks/build/tmp/javadocJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-benchmarks/build/tmp/shadowJar/MANIFEST.MF b/sbe-benchmarks/build/tmp/shadowJar/MANIFEST.MF
new file mode 100644
index 0000000000..d80f2c4b86
--- /dev/null
+++ b/sbe-benchmarks/build/tmp/shadowJar/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: org.openjdk.jmh.Main
+
diff --git a/sbe-benchmarks/build/tmp/sourcesJar/MANIFEST.MF b/sbe-benchmarks/build/tmp/sourcesJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-benchmarks/build/tmp/sourcesJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-samples/build/classes/java/generated/baseline/BooleanType.class b/sbe-samples/build/classes/java/generated/baseline/BooleanType.class
new file mode 100644
index 0000000000..b61cb6220a
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/BooleanType.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/BoostType.class b/sbe-samples/build/classes/java/generated/baseline/BoostType.class
new file mode 100644
index 0000000000..2fd8479be4
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/BoostType.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/BoosterDecoder.class b/sbe-samples/build/classes/java/generated/baseline/BoosterDecoder.class
new file mode 100644
index 0000000000..94b5ec1b50
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/BoosterDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/BoosterEncoder.class b/sbe-samples/build/classes/java/generated/baseline/BoosterEncoder.class
new file mode 100644
index 0000000000..919042cf5c
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/BoosterEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarDecoder$1.class b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$1.class
new file mode 100644
index 0000000000..a98d88b097
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$1.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarDecoder$FuelFiguresDecoder.class b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$FuelFiguresDecoder.class
new file mode 100644
index 0000000000..130bf57f44
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$FuelFiguresDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class
new file mode 100644
index 0000000000..7d983c7928
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder.class b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder.class
new file mode 100644
index 0000000000..1f794a1e35
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarDecoder.class b/sbe-samples/build/classes/java/generated/baseline/CarDecoder.class
new file mode 100644
index 0000000000..ba85dc86e3
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarEncoder$1.class b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$1.class
new file mode 100644
index 0000000000..cf6c3b3d6a
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$1.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarEncoder$FuelFiguresEncoder.class b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$FuelFiguresEncoder.class
new file mode 100644
index 0000000000..51f57a0ef7
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$FuelFiguresEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class
new file mode 100644
index 0000000000..92a8a84168
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder.class b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder.class
new file mode 100644
index 0000000000..8296dba00f
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/CarEncoder.class b/sbe-samples/build/classes/java/generated/baseline/CarEncoder.class
new file mode 100644
index 0000000000..9cb280d2de
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/CarEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/EngineDecoder.class b/sbe-samples/build/classes/java/generated/baseline/EngineDecoder.class
new file mode 100644
index 0000000000..4a2b2c594c
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/EngineDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/EngineEncoder.class b/sbe-samples/build/classes/java/generated/baseline/EngineEncoder.class
new file mode 100644
index 0000000000..a02f023621
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/EngineEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/GroupSizeEncodingDecoder.class b/sbe-samples/build/classes/java/generated/baseline/GroupSizeEncodingDecoder.class
new file mode 100644
index 0000000000..ca7602036c
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/GroupSizeEncodingDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/GroupSizeEncodingEncoder.class b/sbe-samples/build/classes/java/generated/baseline/GroupSizeEncodingEncoder.class
new file mode 100644
index 0000000000..680c0713d1
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/GroupSizeEncodingEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/MessageHeaderDecoder.class b/sbe-samples/build/classes/java/generated/baseline/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..d1f2456895
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/MessageHeaderDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/MessageHeaderEncoder.class b/sbe-samples/build/classes/java/generated/baseline/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..7005234b0d
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/MessageHeaderEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/MetaAttribute.class b/sbe-samples/build/classes/java/generated/baseline/MetaAttribute.class
new file mode 100644
index 0000000000..0e6bb17ca8
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/MetaAttribute.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/Model.class b/sbe-samples/build/classes/java/generated/baseline/Model.class
new file mode 100644
index 0000000000..e5afec300a
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/Model.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/OptionalExtrasDecoder.class b/sbe-samples/build/classes/java/generated/baseline/OptionalExtrasDecoder.class
new file mode 100644
index 0000000000..6833d3bb13
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/OptionalExtrasDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/OptionalExtrasEncoder.class b/sbe-samples/build/classes/java/generated/baseline/OptionalExtrasEncoder.class
new file mode 100644
index 0000000000..b309bc32a5
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/OptionalExtrasEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/VarStringEncodingDecoder.class b/sbe-samples/build/classes/java/generated/baseline/VarStringEncodingDecoder.class
new file mode 100644
index 0000000000..3a60ea8591
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/VarStringEncodingDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/baseline/VarStringEncodingEncoder.class b/sbe-samples/build/classes/java/generated/baseline/VarStringEncodingEncoder.class
new file mode 100644
index 0000000000..ec681fa39c
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/baseline/VarStringEncodingEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/BooleanType.class b/sbe-samples/build/classes/java/generated/extension/BooleanType.class
new file mode 100644
index 0000000000..4c3676bc3d
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/BooleanType.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/BoostType.class b/sbe-samples/build/classes/java/generated/extension/BoostType.class
new file mode 100644
index 0000000000..21f102cfdb
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/BoostType.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/BoosterDecoder.class b/sbe-samples/build/classes/java/generated/extension/BoosterDecoder.class
new file mode 100644
index 0000000000..28e595b21a
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/BoosterDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/BoosterEncoder.class b/sbe-samples/build/classes/java/generated/extension/BoosterEncoder.class
new file mode 100644
index 0000000000..95c1d93119
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/BoosterEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarDecoder$1.class b/sbe-samples/build/classes/java/generated/extension/CarDecoder$1.class
new file mode 100644
index 0000000000..d245e95b18
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarDecoder$1.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarDecoder$FuelFiguresDecoder.class b/sbe-samples/build/classes/java/generated/extension/CarDecoder$FuelFiguresDecoder.class
new file mode 100644
index 0000000000..20746bc8e3
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarDecoder$FuelFiguresDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class b/sbe-samples/build/classes/java/generated/extension/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class
new file mode 100644
index 0000000000..eecbbd910f
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarDecoder$PerformanceFiguresDecoder.class b/sbe-samples/build/classes/java/generated/extension/CarDecoder$PerformanceFiguresDecoder.class
new file mode 100644
index 0000000000..c4ec383755
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarDecoder$PerformanceFiguresDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarDecoder.class b/sbe-samples/build/classes/java/generated/extension/CarDecoder.class
new file mode 100644
index 0000000000..43a2822ae4
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarEncoder$1.class b/sbe-samples/build/classes/java/generated/extension/CarEncoder$1.class
new file mode 100644
index 0000000000..4a69a25a54
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarEncoder$1.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarEncoder$FuelFiguresEncoder.class b/sbe-samples/build/classes/java/generated/extension/CarEncoder$FuelFiguresEncoder.class
new file mode 100644
index 0000000000..5cb09ef317
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarEncoder$FuelFiguresEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class b/sbe-samples/build/classes/java/generated/extension/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class
new file mode 100644
index 0000000000..5ad4b6dd6d
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarEncoder$PerformanceFiguresEncoder.class b/sbe-samples/build/classes/java/generated/extension/CarEncoder$PerformanceFiguresEncoder.class
new file mode 100644
index 0000000000..79069e6aa0
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarEncoder$PerformanceFiguresEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/CarEncoder.class b/sbe-samples/build/classes/java/generated/extension/CarEncoder.class
new file mode 100644
index 0000000000..29eb2c9e55
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/CarEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/EngineDecoder.class b/sbe-samples/build/classes/java/generated/extension/EngineDecoder.class
new file mode 100644
index 0000000000..b0972f49d0
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/EngineDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/EngineEncoder.class b/sbe-samples/build/classes/java/generated/extension/EngineEncoder.class
new file mode 100644
index 0000000000..7c52ca843a
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/EngineEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/GroupSizeEncodingDecoder.class b/sbe-samples/build/classes/java/generated/extension/GroupSizeEncodingDecoder.class
new file mode 100644
index 0000000000..8d2da13e79
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/GroupSizeEncodingDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/GroupSizeEncodingEncoder.class b/sbe-samples/build/classes/java/generated/extension/GroupSizeEncodingEncoder.class
new file mode 100644
index 0000000000..06ad00ba12
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/GroupSizeEncodingEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/MessageHeaderDecoder.class b/sbe-samples/build/classes/java/generated/extension/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..ee78e00133
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/MessageHeaderDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/MessageHeaderEncoder.class b/sbe-samples/build/classes/java/generated/extension/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..5c4295cc96
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/MessageHeaderEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/MetaAttribute.class b/sbe-samples/build/classes/java/generated/extension/MetaAttribute.class
new file mode 100644
index 0000000000..120cfc71c7
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/MetaAttribute.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/Model.class b/sbe-samples/build/classes/java/generated/extension/Model.class
new file mode 100644
index 0000000000..dddb222d56
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/Model.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/OptionalExtrasDecoder.class b/sbe-samples/build/classes/java/generated/extension/OptionalExtrasDecoder.class
new file mode 100644
index 0000000000..51dd3f4af1
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/OptionalExtrasDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/OptionalExtrasEncoder.class b/sbe-samples/build/classes/java/generated/extension/OptionalExtrasEncoder.class
new file mode 100644
index 0000000000..f453080317
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/OptionalExtrasEncoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/VarStringEncodingDecoder.class b/sbe-samples/build/classes/java/generated/extension/VarStringEncodingDecoder.class
new file mode 100644
index 0000000000..36ab84a647
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/VarStringEncodingDecoder.class differ
diff --git a/sbe-samples/build/classes/java/generated/extension/VarStringEncodingEncoder.class b/sbe-samples/build/classes/java/generated/extension/VarStringEncodingEncoder.class
new file mode 100644
index 0000000000..a21b29c8a6
Binary files /dev/null and b/sbe-samples/build/classes/java/generated/extension/VarStringEncodingEncoder.class differ
diff --git a/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleTokenListener.class b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleTokenListener.class
new file mode 100644
index 0000000000..bae1bd3c2d
Binary files /dev/null and b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleTokenListener.class differ
diff --git a/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.class b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.class
new file mode 100644
index 0000000000..092fb8d98c
Binary files /dev/null and b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.class differ
diff --git a/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.class b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.class
new file mode 100644
index 0000000000..9443197ba0
Binary files /dev/null and b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.class differ
diff --git a/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/OtfExample.class b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/OtfExample.class
new file mode 100644
index 0000000000..cbe0b91b2f
Binary files /dev/null and b/sbe-samples/build/classes/java/main/uk/co/real_logic/sbe/examples/OtfExample.class differ
diff --git a/sbe-samples/build/docs/javadoc/allclasses-frame.html b/sbe-samples/build/docs/javadoc/allclasses-frame.html
new file mode 100644
index 0000000000..4c276e95c0
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/allclasses-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-samples/build/docs/javadoc/allclasses-noframe.html b/sbe-samples/build/docs/javadoc/allclasses-noframe.html
new file mode 100644
index 0000000000..1b6274ac33
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/allclasses-noframe.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-samples/build/docs/javadoc/constant-values.html b/sbe-samples/build/docs/javadoc/constant-values.html
new file mode 100644
index 0000000000..4dfb3332ff
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/constant-values.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+常量字段值 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/deprecated-list.html b/sbe-samples/build/docs/javadoc/deprecated-list.html
new file mode 100644
index 0000000000..fc50423e08
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/deprecated-list.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+已过时的列表 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/help-doc.html b/sbe-samples/build/docs/javadoc/help-doc.html
new file mode 100644
index 0000000000..6514df165f
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/help-doc.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+API 帮助 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+程序包
+每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:
+
+接口 (斜体)
+类
+枚举
+异常错误
+错误
+注释类型
+
+
+
+类/接口
+每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:
+
+类继承图
+直接子类
+所有已知子接口
+所有已知实现类
+类/接口声明
+类/接口说明
+
+
+嵌套类概要
+字段概要
+构造器概要
+方法概要
+
+
+字段详细资料
+构造器详细资料
+方法详细资料
+
+每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。
+
+
+注释类型
+每个注释类型都有各自的页面, 其中包含以下部分:
+
+注释类型声明
+注释类型说明
+必需元素概要
+可选元素概要
+元素详细资料
+
+
+
+枚举
+每个枚举都有各自的页面, 其中包含以下部分:
+
+枚举声明
+枚举说明
+枚举常量概要
+枚举常量详细资料
+
+
+
+树 (类分层结构)
+对于所有程序包, 有一个类分层结构 页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从java.lang.Object
开始, 按继承结构对类进行排列。接口不从java.lang.Object
继承。
+
+查看“概览”页面时, 单击 "树" 将显示所有程序包的分层结构。
+查看特定程序包, 类或接口页面时, 单击 "树" 将仅显示该程序包的分层结构。
+
+
+
+已过时的 API
+已过时的 API 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。
+
+
+索引
+索引 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。
+
+
+上一个/下一个
+这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。
+
+
+框架/无框架
+这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。
+
+
+所有类
+所有类 链接显示所有类和接口 (除了非静态嵌套类型)。
+
+
+序列化表格
+每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。
+
+
+常量字段值
+常量字段值 页面列出了静态最终字段及其值。
+
+
+
此帮助文件适用于使用标准 doclet 生成的 API 文档。
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/index-all.html b/sbe-samples/build/docs/javadoc/index-all.html
new file mode 100644
index 0000000000..1a894d6525
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/index-all.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+索引 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+D E M O U
+
+
+
D
+
+decode(CarDecoder, UnsafeBuffer, int, int, int) - 类 中的静态方法uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStub
+
+decode(CarDecoder, UnsafeBuffer, int, int, int) - 类 中的静态方法uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStubExtension
+
+
+
+
+
+
E
+
+encode(CarEncoder, UnsafeBuffer, MessageHeaderEncoder) - 类 中的静态方法uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStub
+
+encode(CarEncoder, UnsafeBuffer, MessageHeaderEncoder) - 类 中的静态方法uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStubExtension
+
+ExampleTokenListener - uk.co.real_logic.sbe.examples 中的类
+
+ExampleTokenListener(PrintWriter) - 类 的构造器uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+ExampleUsingGeneratedStub - uk.co.real_logic.sbe.examples 中的类
+
+ExampleUsingGeneratedStub() - 类 的构造器uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStub
+
+ExampleUsingGeneratedStubExtension - uk.co.real_logic.sbe.examples 中的类
+
+ExampleUsingGeneratedStubExtension() - 类 的构造器uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStubExtension
+
+
+
+
+
+
M
+
+main(String[]) - 类 中的静态方法uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStub
+
+main(String[]) - 类 中的静态方法uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStubExtension
+
+main(String[]) - 类 中的静态方法uk.co.real_logic.sbe.examples.OtfExample
+
+
+
+
+
+
O
+
+onBeginComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onBeginGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onBeginMessage(Token) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onEndComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onEndGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onEndMessage(Token) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onGroupHeader(Token, int) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+onVarData(Token, DirectBuffer, int, int, Token) - 类 中的方法uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+OtfExample - uk.co.real_logic.sbe.examples 中的类
+
+OtfExample() - 类 的构造器uk.co.real_logic.sbe.examples.OtfExample
+
+
+
+
+
+
U
+
+uk.co.real_logic.sbe.examples - 程序包 uk.co.real_logic.sbe.examples
+
+
+
D E M O U
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/index.html b/sbe-samples/build/docs/javadoc/index.html
new file mode 100644
index 0000000000..898177974b
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/index.html
@@ -0,0 +1,72 @@
+
+
+
+
+
+Simple Binary Encoding
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+框架预警
+请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到非框架版本 。
+
+
+
diff --git a/sbe-samples/build/docs/javadoc/overview-tree.html b/sbe-samples/build/docs/javadoc/overview-tree.html
new file mode 100644
index 0000000000..289a55157d
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/overview-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/package-list b/sbe-samples/build/docs/javadoc/package-list
new file mode 100644
index 0000000000..569a996fac
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/package-list
@@ -0,0 +1 @@
+uk.co.real_logic.sbe.examples
diff --git a/sbe-samples/build/docs/javadoc/script.js b/sbe-samples/build/docs/javadoc/script.js
new file mode 100644
index 0000000000..b346356931
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+ count = 0;
+ for (var key in methods) {
+ var row = document.getElementById(key);
+ if ((methods[key] & type) != 0) {
+ row.style.display = '';
+ row.className = (count++ % 2) ? rowColor : altColor;
+ }
+ else
+ row.style.display = 'none';
+ }
+ updateTabs(type);
+}
+
+function updateTabs(type)
+{
+ for (var value in tabs) {
+ var sNode = document.getElementById(tabs[value][0]);
+ var spanNode = sNode.firstChild;
+ if (value == type) {
+ sNode.className = activeTableTab;
+ spanNode.innerHTML = tabs[value][1];
+ }
+ else {
+ sNode.className = tableTab;
+ spanNode.innerHTML = "" + tabs[value][1] + " ";
+ }
+ }
+}
diff --git a/sbe-samples/build/docs/javadoc/stylesheet.css b/sbe-samples/build/docs/javadoc/stylesheet.css
new file mode 100644
index 0000000000..98055b22d6
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4A6782;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4A6782;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#dee3e9;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+ text-transform:uppercase;
+}
+.navBarCell1Rev {
+ background-color:#F8981D;
+ color:#253441;
+ margin: auto 5px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #ededed;
+ background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border-left:1px solid #EEE;
+ border-right:1px solid #EEE;
+ border-bottom:1px solid #EEE;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ border: none;
+ height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ height:16px;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#4D7A97;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#4D7A97;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#dee3e9;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+ font-size:13px;
+}
+td.colLast, th.colLast {
+ font-size:13px;
+}
+td.colOne, th.colOne {
+ font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#EEEEFF;
+}
+.altColor {
+ background-color:#FFFFFF;
+}
+.rowColor {
+ background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+ font-size:14px;
+ font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+ color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleTokenListener.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleTokenListener.html
new file mode 100644
index 0000000000..27415467fd
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleTokenListener.html
@@ -0,0 +1,509 @@
+
+
+
+
+
+ExampleTokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.examples.ExampleTokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (uk.co.real_logic.sbe.ir.Token fieldToken,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int fromIndex,
+ int toIndex)
+
+
+void
+onBeginGroup (uk.co.real_logic.sbe.ir.Token token,
+ int groupIndex,
+ int numInGroup)
+
+
+void
+onBeginMessage (uk.co.real_logic.sbe.ir.Token token)
+
+
+void
+onBitSet (uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int beginIndex,
+ int endIndex,
+ int actingVersion)
+
+
+void
+onEncoding (uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int index,
+ uk.co.real_logic.sbe.ir.Token typeToken,
+ int actingVersion)
+
+
+void
+onEndComposite (uk.co.real_logic.sbe.ir.Token fieldToken,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int fromIndex,
+ int toIndex)
+
+
+void
+onEndGroup (uk.co.real_logic.sbe.ir.Token token,
+ int groupIndex,
+ int numInGroup)
+
+
+void
+onEndMessage (uk.co.real_logic.sbe.ir.Token token)
+
+
+void
+onEnum (uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int beginIndex,
+ int endIndex,
+ int actingVersion)
+
+
+void
+onGroupHeader (uk.co.real_logic.sbe.ir.Token token,
+ int numInGroup)
+
+
+void
+onVarData (uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ uk.co.real_logic.sbe.ir.Token typeToken)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+public void onEncoding(uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int index,
+ uk.co.real_logic.sbe.ir.Token typeToken,
+ int actingVersion)
+
+指定者:
+onEncoding
在接口中 uk.co.real_logic.sbe.otf.TokenListener
+
+
+
+
+
+
+
+
+onEnum
+public void onEnum(uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int beginIndex,
+ int endIndex,
+ int actingVersion)
+
+指定者:
+onEnum
在接口中 uk.co.real_logic.sbe.otf.TokenListener
+
+
+
+
+
+
+
+
+onBitSet
+public void onBitSet(uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int beginIndex,
+ int endIndex,
+ int actingVersion)
+
+指定者:
+onBitSet
在接口中 uk.co.real_logic.sbe.otf.TokenListener
+
+
+
+
+
+
+
+
+onBeginComposite
+public void onBeginComposite(uk.co.real_logic.sbe.ir.Token fieldToken,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int fromIndex,
+ int toIndex)
+
+指定者:
+onBeginComposite
在接口中 uk.co.real_logic.sbe.otf.TokenListener
+
+
+
+
+
+
+
+
+onEndComposite
+public void onEndComposite(uk.co.real_logic.sbe.ir.Token fieldToken,
+ java.util.List<uk.co.real_logic.sbe.ir.Token> tokens,
+ int fromIndex,
+ int toIndex)
+
+指定者:
+onEndComposite
在接口中 uk.co.real_logic.sbe.otf.TokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+onVarData
+public void onVarData(uk.co.real_logic.sbe.ir.Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ uk.co.real_logic.sbe.ir.Token typeToken)
+
+指定者:
+onVarData
在接口中 uk.co.real_logic.sbe.otf.TokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.html
new file mode 100644
index 0000000000..87bd23a567
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.html
@@ -0,0 +1,316 @@
+
+
+
+
+
+ExampleUsingGeneratedStub (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStub
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+decode (baseline.CarDecoder car,
+ org.agrona.concurrent.UnsafeBuffer directBuffer,
+ int bufferOffset,
+ int actingBlockLength,
+ int actingVersion)
+
+
+static int
+encode (baseline.CarEncoder car,
+ org.agrona.concurrent.UnsafeBuffer directBuffer,
+ baseline.MessageHeaderEncoder messageHeaderEncoder)
+
+
+static void
+main (java.lang.String[] args)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+decode
+public static void decode(baseline.CarDecoder car,
+ org.agrona.concurrent.UnsafeBuffer directBuffer,
+ int bufferOffset,
+ int actingBlockLength,
+ int actingVersion)
+ throws java.lang.Exception
+
+抛出:
+java.lang.Exception
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.html
new file mode 100644
index 0000000000..4632c35a8b
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.html
@@ -0,0 +1,316 @@
+
+
+
+
+
+ExampleUsingGeneratedStubExtension (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.examples.ExampleUsingGeneratedStubExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+decode (extension.CarDecoder car,
+ org.agrona.concurrent.UnsafeBuffer directBuffer,
+ int bufferOffset,
+ int actingBlockLength,
+ int actingVersion)
+
+
+static int
+encode (baseline.CarEncoder car,
+ org.agrona.concurrent.UnsafeBuffer directBuffer,
+ baseline.MessageHeaderEncoder headerEncoder)
+
+
+static void
+main (java.lang.String[] args)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+decode
+public static void decode(extension.CarDecoder car,
+ org.agrona.concurrent.UnsafeBuffer directBuffer,
+ int bufferOffset,
+ int actingBlockLength,
+ int actingVersion)
+ throws java.lang.Exception
+
+抛出:
+java.lang.Exception
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/OtfExample.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/OtfExample.html
new file mode 100644
index 0000000000..4fcadbdb5e
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/OtfExample.html
@@ -0,0 +1,273 @@
+
+
+
+
+
+OtfExample (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.examples.OtfExample
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+main (java.lang.String[] args)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+OtfExample
+public OtfExample()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-frame.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-frame.html
new file mode 100644
index 0000000000..38dab46ef2
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-frame.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+uk.co.real_logic.sbe.examples (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-summary.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-summary.html
new file mode 100644
index 0000000000..909cb5e2c2
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-summary.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+uk.co.real_logic.sbe.examples (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-tree.html b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-tree.html
new file mode 100644
index 0000000000..9d3463776f
--- /dev/null
+++ b/sbe-samples/build/docs/javadoc/uk/co/real_logic/sbe/examples/package-tree.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+uk.co.real_logic.sbe.examples 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-samples/build/generated/baseline/BooleanType.java b/sbe-samples/build/generated/baseline/BooleanType.java
new file mode 100644
index 0000000000..e1555c9201
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/BooleanType.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum BooleanType
+{
+ F((short)0),
+
+ T((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ BooleanType(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static BooleanType get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return F;
+ case 1: return T;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/BoostType.java b/sbe-samples/build/generated/baseline/BoostType.java
new file mode 100644
index 0000000000..18e908fa6f
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/BoostType.java
@@ -0,0 +1,48 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum BoostType
+{
+ TURBO((byte)84),
+
+ SUPERCHARGER((byte)83),
+
+ NITROUS((byte)78),
+
+ KERS((byte)75),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ BoostType(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static BoostType get(final byte value)
+ {
+ switch (value)
+ {
+ case 84: return TURBO;
+ case 83: return SUPERCHARGER;
+ case 78: return NITROUS;
+ case 75: return KERS;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/BoosterDecoder.java b/sbe-samples/build/generated/baseline/BoosterDecoder.java
new file mode 100644
index 0000000000..56a6f66480
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/BoosterDecoder.java
@@ -0,0 +1,130 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class BoosterDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 2;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public BoosterDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int boostTypeEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int boostTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int boostTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public BoostType boostType()
+ {
+ return BoostType.get(buffer.getByte(offset + 0));
+ }
+
+
+ public static int horsePowerEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int horsePowerEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int horsePowerSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short horsePowerNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short horsePowerMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short horsePowerMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short horsePower()
+ {
+ return ((short)(buffer.getByte(offset + 1) & 0xFF));
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_ENUM, name='BoostType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("boostType=");
+ builder.append(boostType());
+ builder.append('|');
+ //Token{signal=ENCODING, name='horsePower', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=1, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("horsePower=");
+ builder.append(horsePower());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/BoosterEncoder.java b/sbe-samples/build/generated/baseline/BoosterEncoder.java
new file mode 100644
index 0000000000..55442b1759
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/BoosterEncoder.java
@@ -0,0 +1,114 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class BoosterEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 2;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public BoosterEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int boostTypeEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int boostTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public BoosterEncoder boostType(final BoostType value)
+ {
+ buffer.putByte(offset + 0, value.value());
+ return this;
+ }
+
+ public static int horsePowerEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int horsePowerEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short horsePowerNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short horsePowerMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short horsePowerMaxValue()
+ {
+ return (short)254;
+ }
+
+ public BoosterEncoder horsePower(final short value)
+ {
+ buffer.putByte(offset + 1, (byte)value);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ BoosterDecoder writer = new BoosterDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/CarDecoder.java b/sbe-samples/build/generated/baseline/CarDecoder.java
new file mode 100644
index 0000000000..c30e5ad05d
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/CarDecoder.java
@@ -0,0 +1,1753 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarDecoder implements MessageDecoderFlyweight
+{
+ public static final int BLOCK_LENGTH = 49;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarDecoder parentMessage = this;
+ private DirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 CarDecoder 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long serialNumber()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public int modelYear()
+ {
+ return (buffer.getShort(offset + 8, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType available()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 10) & 0xFF)));
+ }
+
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 11;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Model code()
+ {
+ return Model.get(buffer.getByte(offset + 11));
+ }
+
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long someNumbersNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long someNumbersMinValue()
+ {
+ return 0L;
+ }
+
+ public static long someNumbersMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public long someNumbers(final int index)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 4);
+
+ return (buffer.getInt(pos, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public byte vehicleCode(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 32 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "ASCII";
+ }
+
+ public int getVehicleCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 32, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String vehicleCode()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 32, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getVehicleCode(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 32 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasDecoder extras = new OptionalExtrasDecoder();
+
+ public OptionalExtrasDecoder extras()
+ {
+ extras.wrap(buffer, offset + 38);
+ return extras;
+ }
+
+ public static int discountedModelId()
+ {
+ return 8;
+ }
+
+ public static int discountedModelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int discountedModelEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int discountedModelEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String discountedModelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "constant";
+ }
+
+ return "";
+ }
+
+ public Model discountedModel()
+ {
+ return Model.C;
+ }
+
+
+ public static int engineId()
+ {
+ return 9;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineDecoder engine = new EngineDecoder();
+
+ public EngineDecoder engine()
+ {
+ engine.wrap(buffer, offset + 39);
+ return engine;
+ }
+
+ private final FuelFiguresDecoder fuelFigures = new FuelFiguresDecoder(this);
+
+ public static long fuelFiguresDecoderId()
+ {
+ return 10;
+ }
+
+ public static int fuelFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public FuelFiguresDecoder fuelFigures()
+ {
+ fuelFigures.wrap(buffer);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ FuelFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public FuelFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 11;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public int speed()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int mpgId()
+ {
+ return 12;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float mpg()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int usageDescriptionId()
+ {
+ return 200;
+ }
+
+ public static int usageDescriptionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String usageDescriptionCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String usageDescriptionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int usageDescriptionHeaderLength()
+ {
+ return 4;
+ }
+
+ public int usageDescriptionLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getUsageDescription(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getUsageDescription(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapUsageDescription(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String usageDescription()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='speed', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("speed=");
+ builder.append(speed());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='mpg', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mpg=");
+ builder.append(mpg());
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='usageDescription', referencedName='null', description='null', id=200, version=0, deprecated=0, encodedLength=0, offset=6, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("usageDescription=");
+ builder.append('\'' + usageDescription() + '\'');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ private final PerformanceFiguresDecoder performanceFigures = new PerformanceFiguresDecoder(this);
+
+ public static long performanceFiguresDecoderId()
+ {
+ return 13;
+ }
+
+ public static int performanceFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public PerformanceFiguresDecoder performanceFigures()
+ {
+ performanceFigures.wrap(buffer);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+ private final AccelerationDecoder acceleration;
+
+ PerformanceFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationDecoder(parentMessage);
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public PerformanceFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 14;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)90;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)110;
+ }
+
+ public short octaneRating()
+ {
+ return ((short)(buffer.getByte(offset + 0) & 0xFF));
+ }
+
+
+ public static long accelerationDecoderId()
+ {
+ return 15;
+ }
+
+ public static int accelerationDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public AccelerationDecoder acceleration()
+ {
+ acceleration.wrap(buffer);
+ return acceleration;
+ }
+
+ public static class AccelerationDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ AccelerationDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public AccelerationDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 16;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public int mph()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int secondsId()
+ {
+ return 17;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float seconds()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='mph', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mph=");
+ builder.append(mph());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='seconds', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("seconds=");
+ builder.append(seconds());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='octaneRating', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='Ron', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=90, maxValue=110, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("octaneRating=");
+ builder.append(octaneRating());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='acceleration', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=6, offset=1, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("acceleration=[");
+ AccelerationDecoder acceleration = acceleration();
+ if (acceleration.count() > 0)
+ {
+ while (acceleration.hasNext())
+ {
+ acceleration.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 18;
+ }
+
+ public static int manufacturerSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 4;
+ }
+
+ public int manufacturerLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getManufacturer(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getManufacturer(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapManufacturer(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String manufacturer()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int modelId()
+ {
+ return 19;
+ }
+
+ public static int modelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 4;
+ }
+
+ public int modelLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getModel(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getModel(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapModel(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String model()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int activationCodeId()
+ {
+ return 20;
+ }
+
+ public static int activationCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String activationCodeCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String activationCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int activationCodeHeaderLength()
+ {
+ return 4;
+ }
+
+ public int activationCodeLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getActivationCode(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getActivationCode(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapActivationCode(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String activationCode()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[Car](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("):");
+ //Token{signal=BEGIN_FIELD, name='serialNumber', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("serialNumber=");
+ builder.append(serialNumber());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='modelYear', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='ModelYear', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("modelYear=");
+ builder.append(modelYear());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='available', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("available=");
+ builder.append(available());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='code', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=1, offset=11, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Model', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=11, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("code=");
+ builder.append(code());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='someNumbers', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='someNumbers', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("someNumbers=");
+ builder.append('[');
+ if (someNumbersLength() > 0)
+ {
+ for (int i = 0; i < someNumbersLength(); i++)
+ {
+ builder.append(someNumbers(i));
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='vehicleCode', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=6, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='VehicleCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("vehicleCode=");
+ for (int i = 0; i < vehicleCodeLength() && vehicleCode(i) > 0; i++)
+ {
+ builder.append((char)vehicleCode(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='extras', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_SET, name='OptionalExtras', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("extras=");
+ builder.append(extras());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='discountedModel', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=0, offset=39, componentTokenCount=7, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=Model.C, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Model', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=39, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("discountedModel=");
+ builder.append(discountedModel());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='engine', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=10, offset=39, componentTokenCount=23, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Engine', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=10, offset=39, componentTokenCount=21, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("engine=");
+ engine().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='fuelFigures', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=6, offset=49, componentTokenCount=18, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("fuelFigures=[");
+ FuelFiguresDecoder fuelFigures = fuelFigures();
+ if (fuelFigures.count() > 0)
+ {
+ while (fuelFigures.hasNext())
+ {
+ fuelFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='performanceFigures', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=1, offset=-1, componentTokenCount=21, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("performanceFigures=[");
+ PerformanceFiguresDecoder performanceFigures = performanceFigures();
+ if (performanceFigures.count() > 0)
+ {
+ while (performanceFigures.hasNext())
+ {
+ performanceFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='manufacturer', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("manufacturer=");
+ builder.append('\'' + manufacturer() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='model', referencedName='null', description='null', id=19, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("model=");
+ builder.append('\'' + model() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='activationCode', referencedName='null', description='null', id=20, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("activationCode=");
+ builder.append('\'' + activationCode() + '\'');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/CarEncoder.java b/sbe-samples/build/generated/baseline/CarEncoder.java
new file mode 100644
index 0000000000..2a39e10407
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/CarEncoder.java
@@ -0,0 +1,1454 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarEncoder implements MessageEncoderFlyweight
+{
+ public static final int BLOCK_LENGTH = 49;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarEncoder parentMessage = this;
+ private MutableDirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public CarEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public CarEncoder wrapAndApplyHeader(
+ final MutableDirectBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public CarEncoder serialNumber(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public CarEncoder modelYear(final int value)
+ {
+ buffer.putShort(offset + 8, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder available(final BooleanType value)
+ {
+ buffer.putByte(offset + 10, (byte)value.value());
+ return this;
+ }
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 11;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder code(final Model value)
+ {
+ buffer.putByte(offset + 11, value.value());
+ return this;
+ }
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long someNumbersNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long someNumbersMinValue()
+ {
+ return 0L;
+ }
+
+ public static long someNumbersMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public CarEncoder someNumbers(final int index, final long value)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 4);
+ buffer.putInt(pos, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+
+ return this;
+ }
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public CarEncoder vehicleCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 32 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "ASCII";
+ }
+
+ public CarEncoder putVehicleCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 32, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 32, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 32 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 32 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 32 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasEncoder extras = new OptionalExtrasEncoder();
+
+ public OptionalExtrasEncoder extras()
+ {
+ extras.wrap(buffer, offset + 38);
+ return extras;
+ }
+
+ public static int discountedModelId()
+ {
+ return 8;
+ }
+
+ public static int discountedModelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int discountedModelEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int discountedModelEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String discountedModelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "constant";
+ }
+
+ return "";
+ }
+
+ public CarEncoder discountedModel(final Model value)
+ {
+ buffer.putByte(offset + 39, value.value());
+ return this;
+ }
+
+ public static int engineId()
+ {
+ return 9;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineEncoder engine = new EngineEncoder();
+
+ public EngineEncoder engine()
+ {
+ engine.wrap(buffer, offset + 39);
+ return engine;
+ }
+
+ private final FuelFiguresEncoder fuelFigures = new FuelFiguresEncoder(this);
+
+ public static long fuelFiguresId()
+ {
+ return 10;
+ }
+
+ public FuelFiguresEncoder fuelFiguresCount(final int count)
+ {
+ fuelFigures.wrap(buffer, count);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ FuelFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public FuelFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 11;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public FuelFiguresEncoder speed(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mpgId()
+ {
+ return 12;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public FuelFiguresEncoder mpg(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int usageDescriptionId()
+ {
+ return 200;
+ }
+
+ public static String usageDescriptionCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String usageDescriptionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int usageDescriptionHeaderLength()
+ {
+ return 4;
+ }
+
+ public FuelFiguresEncoder putUsageDescription(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public FuelFiguresEncoder putUsageDescription(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public FuelFiguresEncoder usageDescription(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+ }
+
+ private final PerformanceFiguresEncoder performanceFigures = new PerformanceFiguresEncoder(this);
+
+ public static long performanceFiguresId()
+ {
+ return 13;
+ }
+
+ public PerformanceFiguresEncoder performanceFiguresCount(final int count)
+ {
+ performanceFigures.wrap(buffer, count);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private final AccelerationEncoder acceleration;
+
+ PerformanceFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationEncoder(parentMessage);
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)1, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ public PerformanceFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 14;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)90;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)110;
+ }
+
+ public PerformanceFiguresEncoder octaneRating(final short value)
+ {
+ buffer.putByte(offset + 0, (byte)value);
+ return this;
+ }
+
+
+ public static long accelerationId()
+ {
+ return 15;
+ }
+
+ public AccelerationEncoder accelerationCount(final int count)
+ {
+ acceleration.wrap(buffer, count);
+ return acceleration;
+ }
+
+ public static class AccelerationEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ AccelerationEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public AccelerationEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 16;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public AccelerationEncoder mph(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int secondsId()
+ {
+ return 17;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public AccelerationEncoder seconds(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 18;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putManufacturer(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putManufacturer(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder manufacturer(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int modelId()
+ {
+ return 19;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putModel(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putModel(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder model(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int activationCodeId()
+ {
+ return 20;
+ }
+
+ public static String activationCodeCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String activationCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int activationCodeHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putActivationCode(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putActivationCode(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder activationCode(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ CarDecoder writer = new CarDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/EngineDecoder.java b/sbe-samples/build/generated/baseline/EngineDecoder.java
new file mode 100644
index 0000000000..ba57278bb3
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/EngineDecoder.java
@@ -0,0 +1,436 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class EngineDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 10;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public EngineDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacitySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public int capacity()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int numCylindersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short numCylinders()
+ {
+ return ((short)(buffer.getByte(offset + 2) & 0xFF));
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public byte manufacturerCode(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getManufacturerCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 3, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String manufacturerCode()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 3, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getManufacturerCode(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 3 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int fuelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public static int efficiencyEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int efficiencyEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int efficiencySinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte efficiencyNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte efficiencyMinValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte efficiencyMaxValue()
+ {
+ return (byte)100;
+ }
+
+ public byte efficiency()
+ {
+ return buffer.getByte(offset + 6);
+ }
+
+
+ public static int boosterEnabledEncodingOffset()
+ {
+ return 7;
+ }
+
+ public static int boosterEnabledEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int boosterEnabledSinceVersion()
+ {
+ return 0;
+ }
+
+ public BooleanType boosterEnabled()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 7) & 0xFF)));
+ }
+
+
+ public static int boosterEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int boosterEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int boosterSinceVersion()
+ {
+ return 0;
+ }
+
+ private final BoosterDecoder booster = new BoosterDecoder();
+
+ public BoosterDecoder booster()
+ {
+ booster.wrap(buffer, offset + 8);
+ return booster;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='capacity', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("capacity=");
+ builder.append(capacity());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numCylinders', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numCylinders=");
+ builder.append(numCylinders());
+ builder.append('|');
+ //Token{signal=ENCODING, name='maxRpm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=3, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=9000, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='manufacturerCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=3, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("manufacturerCode=");
+ for (int i = 0; i < manufacturerCodeLength() && manufacturerCode(i) > 0; i++)
+ {
+ builder.append((char)manufacturerCode(i));
+ }
+ builder.append('|');
+ //Token{signal=ENCODING, name='fuel', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=6, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=Petrol, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='efficiency', referencedName='Percentage', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT8, byteOrder=LITTLE_ENDIAN, minValue=0, maxValue=100, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("efficiency=");
+ builder.append(efficiency());
+ builder.append('|');
+ //Token{signal=BEGIN_ENUM, name='boosterEnabled', referencedName='BooleanType', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=7, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("boosterEnabled=");
+ builder.append(boosterEnabled());
+ builder.append('|');
+ //Token{signal=BEGIN_COMPOSITE, name='booster', referencedName='Booster', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("booster=");
+ booster().appendTo(builder);
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/EngineEncoder.java b/sbe-samples/build/generated/baseline/EngineEncoder.java
new file mode 100644
index 0000000000..c279cef68d
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/EngineEncoder.java
@@ -0,0 +1,381 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class EngineEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 10;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public EngineEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public EngineEncoder capacity(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public EngineEncoder numCylinders(final short value)
+ {
+ buffer.putByte(offset + 2, (byte)value);
+ return this;
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public EngineEncoder manufacturerCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public EngineEncoder putManufacturerCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 3, src, srcOffset, length);
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 3, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 3 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 3 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 3 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public static int efficiencyEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int efficiencyEncodingLength()
+ {
+ return 1;
+ }
+
+ public static byte efficiencyNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte efficiencyMinValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte efficiencyMaxValue()
+ {
+ return (byte)100;
+ }
+
+ public EngineEncoder efficiency(final byte value)
+ {
+ buffer.putByte(offset + 6, value);
+ return this;
+ }
+
+
+ public static int boosterEnabledEncodingOffset()
+ {
+ return 7;
+ }
+
+ public static int boosterEnabledEncodingLength()
+ {
+ return 1;
+ }
+
+ public EngineEncoder boosterEnabled(final BooleanType value)
+ {
+ buffer.putByte(offset + 7, (byte)value.value());
+ return this;
+ }
+
+ public static int boosterEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int boosterEncodingLength()
+ {
+ return 2;
+ }
+
+ private final BoosterEncoder booster = new BoosterEncoder();
+
+ public BoosterEncoder booster()
+ {
+ booster.wrap(buffer, offset + 8);
+ return booster;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ EngineDecoder writer = new EngineDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/GroupSizeEncodingDecoder.java b/sbe-samples/build/generated/baseline/GroupSizeEncodingDecoder.java
new file mode 100644
index 0000000000..72b7a867ef
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/GroupSizeEncodingDecoder.java
@@ -0,0 +1,148 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public GroupSizeEncodingDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public int numInGroup()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numInGroup', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numInGroup=");
+ builder.append(numInGroup());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/GroupSizeEncodingEncoder.java b/sbe-samples/build/generated/baseline/GroupSizeEncodingEncoder.java
new file mode 100644
index 0000000000..8a424ec28d
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/GroupSizeEncodingEncoder.java
@@ -0,0 +1,133 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public GroupSizeEncodingEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder numInGroup(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ GroupSizeEncodingDecoder writer = new GroupSizeEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/MessageHeaderDecoder.java b/sbe-samples/build/generated/baseline/MessageHeaderDecoder.java
new file mode 100644
index 0000000000..929a022352
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/MessageHeaderDecoder.java
@@ -0,0 +1,228 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public MessageHeaderDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int templateId()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int schemaId()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public int version()
+ {
+ return (buffer.getShort(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='templateId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("templateId=");
+ builder.append(templateId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='schemaId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("schemaId=");
+ builder.append(schemaId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='version', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("version=");
+ builder.append(version());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/MessageHeaderEncoder.java b/sbe-samples/build/generated/baseline/MessageHeaderEncoder.java
new file mode 100644
index 0000000000..e3ec3d5793
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/MessageHeaderEncoder.java
@@ -0,0 +1,197 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public MessageHeaderEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder templateId(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder schemaId(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder version(final int value)
+ {
+ buffer.putShort(offset + 6, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MessageHeaderDecoder writer = new MessageHeaderDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/MetaAttribute.java b/sbe-samples/build/generated/baseline/MetaAttribute.java
new file mode 100644
index 0000000000..2d3a703ac7
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/MetaAttribute.java
@@ -0,0 +1,10 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum MetaAttribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+}
diff --git a/sbe-samples/build/generated/baseline/Model.java b/sbe-samples/build/generated/baseline/Model.java
new file mode 100644
index 0000000000..20e1374e67
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/Model.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum Model
+{
+ A((byte)65),
+
+ B((byte)66),
+
+ C((byte)67),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ Model(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static Model get(final byte value)
+ {
+ switch (value)
+ {
+ case 65: return A;
+ case 66: return B;
+ case 67: return C;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/OptionalExtrasDecoder.java b/sbe-samples/build/generated/baseline/OptionalExtrasDecoder.java
new file mode 100644
index 0000000000..4196dc2ba1
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/OptionalExtrasDecoder.java
@@ -0,0 +1,129 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class OptionalExtrasDecoder implements Flyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public OptionalExtrasDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getByte(offset);
+ }
+
+ public boolean sunRoof()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 0));
+ }
+
+ public static boolean sunRoof(final byte value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean sportsPack()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 1));
+ }
+
+ public static boolean sportsPack(final byte value)
+ {
+ return 0 != (value & (1 << 1));
+ }
+
+ public boolean cruiseControl()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 2));
+ }
+
+ public static boolean cruiseControl(final byte value)
+ {
+ return 0 != (value & (1 << 2));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (sunRoof())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sunRoof");
+ atLeastOne = true;
+ }
+ if (sportsPack())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sportsPack");
+ atLeastOne = true;
+ }
+ if (cruiseControl())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("cruiseControl");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/OptionalExtrasEncoder.java b/sbe-samples/build/generated/baseline/OptionalExtrasEncoder.java
new file mode 100644
index 0000000000..9b06cce310
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/OptionalExtrasEncoder.java
@@ -0,0 +1,98 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class OptionalExtrasEncoder implements Flyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public OptionalExtrasEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public OptionalExtrasEncoder clear()
+ {
+ buffer.putByte(offset, (byte)(short)0);
+ return this;
+ }
+
+ public OptionalExtrasEncoder sunRoof(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sunRoof(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ }
+
+ public OptionalExtrasEncoder sportsPack(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sportsPack(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ }
+
+ public OptionalExtrasEncoder cruiseControl(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte cruiseControl(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/VarStringEncodingDecoder.java b/sbe-samples/build/generated/baseline/VarStringEncodingDecoder.java
new file mode 100644
index 0000000000..28d7109f5e
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/VarStringEncodingDecoder.java
@@ -0,0 +1,137 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class VarStringEncodingDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public VarStringEncodingDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 4;
+ }
+
+ public static int lengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long lengthNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long lengthMinValue()
+ {
+ return 0L;
+ }
+
+ public static long lengthMaxValue()
+ {
+ return 1073741824L;
+ }
+
+ public long length()
+ {
+ return (buffer.getInt(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static int varDataSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='length', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=1073741824, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("length=");
+ builder.append(length());
+ builder.append('|');
+ //Token{signal=ENCODING, name='varData', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=-1, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='UTF-8', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/baseline/VarStringEncodingEncoder.java b/sbe-samples/build/generated/baseline/VarStringEncodingEncoder.java
new file mode 100644
index 0000000000..8af849bffd
--- /dev/null
+++ b/sbe-samples/build/generated/baseline/VarStringEncodingEncoder.java
@@ -0,0 +1,123 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class VarStringEncodingEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public VarStringEncodingEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 4;
+ }
+
+ public static long lengthNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long lengthMinValue()
+ {
+ return 0L;
+ }
+
+ public static long lengthMaxValue()
+ {
+ return 1073741824L;
+ }
+
+ public VarStringEncodingEncoder length(final long value)
+ {
+ buffer.putInt(offset + 0, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ VarStringEncodingDecoder writer = new VarStringEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/BooleanType.java b/sbe-samples/build/generated/extension/BooleanType.java
new file mode 100644
index 0000000000..515400559f
--- /dev/null
+++ b/sbe-samples/build/generated/extension/BooleanType.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+public enum BooleanType
+{
+ F((short)0),
+
+ T((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ BooleanType(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static BooleanType get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return F;
+ case 1: return T;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/BoostType.java b/sbe-samples/build/generated/extension/BoostType.java
new file mode 100644
index 0000000000..d956cc5aad
--- /dev/null
+++ b/sbe-samples/build/generated/extension/BoostType.java
@@ -0,0 +1,48 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+public enum BoostType
+{
+ TURBO((byte)84),
+
+ SUPERCHARGER((byte)83),
+
+ NITROUS((byte)78),
+
+ KERS((byte)75),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ BoostType(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static BoostType get(final byte value)
+ {
+ switch (value)
+ {
+ case 84: return TURBO;
+ case 83: return SUPERCHARGER;
+ case 78: return NITROUS;
+ case 75: return KERS;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/BoosterDecoder.java b/sbe-samples/build/generated/extension/BoosterDecoder.java
new file mode 100644
index 0000000000..11e3f2e6b7
--- /dev/null
+++ b/sbe-samples/build/generated/extension/BoosterDecoder.java
@@ -0,0 +1,130 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class BoosterDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 2;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public BoosterDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int boostTypeEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int boostTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int boostTypeSinceVersion()
+ {
+ return 0;
+ }
+
+ public BoostType boostType()
+ {
+ return BoostType.get(buffer.getByte(offset + 0));
+ }
+
+
+ public static int horsePowerEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int horsePowerEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int horsePowerSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short horsePowerNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short horsePowerMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short horsePowerMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short horsePower()
+ {
+ return ((short)(buffer.getByte(offset + 1) & 0xFF));
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_ENUM, name='BoostType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("boostType=");
+ builder.append(boostType());
+ builder.append('|');
+ //Token{signal=ENCODING, name='horsePower', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=1, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("horsePower=");
+ builder.append(horsePower());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/BoosterEncoder.java b/sbe-samples/build/generated/extension/BoosterEncoder.java
new file mode 100644
index 0000000000..68b322c232
--- /dev/null
+++ b/sbe-samples/build/generated/extension/BoosterEncoder.java
@@ -0,0 +1,114 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class BoosterEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 2;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public BoosterEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int boostTypeEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int boostTypeEncodingLength()
+ {
+ return 1;
+ }
+
+ public BoosterEncoder boostType(final BoostType value)
+ {
+ buffer.putByte(offset + 0, value.value());
+ return this;
+ }
+
+ public static int horsePowerEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int horsePowerEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short horsePowerNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short horsePowerMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short horsePowerMaxValue()
+ {
+ return (short)254;
+ }
+
+ public BoosterEncoder horsePower(final short value)
+ {
+ buffer.putByte(offset + 1, (byte)value);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ BoosterDecoder writer = new BoosterDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/CarDecoder.java b/sbe-samples/build/generated/extension/CarDecoder.java
new file mode 100644
index 0000000000..c4036825e5
--- /dev/null
+++ b/sbe-samples/build/generated/extension/CarDecoder.java
@@ -0,0 +1,1817 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarDecoder implements MessageDecoderFlyweight
+{
+ public static final int BLOCK_LENGTH = 50;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarDecoder parentMessage = this;
+ private DirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 CarDecoder 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long serialNumber()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public int modelYear()
+ {
+ return (buffer.getShort(offset + 8, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType available()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 10) & 0xFF)));
+ }
+
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 11;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Model code()
+ {
+ return Model.get(buffer.getByte(offset + 11));
+ }
+
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long someNumbersNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long someNumbersMinValue()
+ {
+ return 0L;
+ }
+
+ public static long someNumbersMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public long someNumbers(final int index)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 4);
+
+ return (buffer.getInt(pos, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public byte vehicleCode(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 32 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "ASCII";
+ }
+
+ public int getVehicleCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 32, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String vehicleCode()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 32, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getVehicleCode(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 32 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasDecoder extras = new OptionalExtrasDecoder();
+
+ public OptionalExtrasDecoder extras()
+ {
+ extras.wrap(buffer, offset + 38);
+ return extras;
+ }
+
+ public static int discountedModelId()
+ {
+ return 8;
+ }
+
+ public static int discountedModelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int discountedModelEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int discountedModelEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String discountedModelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "constant";
+ }
+
+ return "";
+ }
+
+ public Model discountedModel()
+ {
+ return Model.C;
+ }
+
+
+ public static int engineId()
+ {
+ return 9;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineDecoder engine = new EngineDecoder();
+
+ public EngineDecoder engine()
+ {
+ engine.wrap(buffer, offset + 39);
+ return engine;
+ }
+
+ public static int cupHolderCountId()
+ {
+ return 100;
+ }
+
+ public static int cupHolderCountSinceVersion()
+ {
+ return 1;
+ }
+
+ public static int cupHolderCountEncodingOffset()
+ {
+ return 49;
+ }
+
+ public static int cupHolderCountEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String cupHolderCountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static short cupHolderCountNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short cupHolderCountMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short cupHolderCountMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short cupHolderCount()
+ {
+ if (parentMessage.actingVersion < 1)
+ {
+ return (short)255;
+ }
+
+ return ((short)(buffer.getByte(offset + 49) & 0xFF));
+ }
+
+
+ private final FuelFiguresDecoder fuelFigures = new FuelFiguresDecoder(this);
+
+ public static long fuelFiguresDecoderId()
+ {
+ return 10;
+ }
+
+ public static int fuelFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public FuelFiguresDecoder fuelFigures()
+ {
+ fuelFigures.wrap(buffer);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ FuelFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public FuelFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 11;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public int speed()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int mpgId()
+ {
+ return 12;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float mpg()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int usageDescriptionId()
+ {
+ return 200;
+ }
+
+ public static int usageDescriptionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String usageDescriptionCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String usageDescriptionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int usageDescriptionHeaderLength()
+ {
+ return 4;
+ }
+
+ public int usageDescriptionLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getUsageDescription(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getUsageDescription(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapUsageDescription(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String usageDescription()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='speed', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("speed=");
+ builder.append(speed());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='mpg', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mpg=");
+ builder.append(mpg());
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='usageDescription', referencedName='null', description='null', id=200, version=0, deprecated=0, encodedLength=0, offset=6, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("usageDescription=");
+ builder.append('\'' + usageDescription() + '\'');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ private final PerformanceFiguresDecoder performanceFigures = new PerformanceFiguresDecoder(this);
+
+ public static long performanceFiguresDecoderId()
+ {
+ return 13;
+ }
+
+ public static int performanceFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public PerformanceFiguresDecoder performanceFigures()
+ {
+ performanceFigures.wrap(buffer);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+ private final AccelerationDecoder acceleration;
+
+ PerformanceFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationDecoder(parentMessage);
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public PerformanceFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 14;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)90;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)110;
+ }
+
+ public short octaneRating()
+ {
+ return ((short)(buffer.getByte(offset + 0) & 0xFF));
+ }
+
+
+ public static long accelerationDecoderId()
+ {
+ return 15;
+ }
+
+ public static int accelerationDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public AccelerationDecoder acceleration()
+ {
+ acceleration.wrap(buffer);
+ return acceleration;
+ }
+
+ public static class AccelerationDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ AccelerationDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)(buffer.getShort(limit + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public AccelerationDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 16;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public int mph()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int secondsId()
+ {
+ return 17;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float seconds()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='mph', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mph=");
+ builder.append(mph());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='seconds', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("seconds=");
+ builder.append(seconds());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='octaneRating', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='Ron', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=90, maxValue=110, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("octaneRating=");
+ builder.append(octaneRating());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='acceleration', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=6, offset=1, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("acceleration=[");
+ AccelerationDecoder acceleration = acceleration();
+ if (acceleration.count() > 0)
+ {
+ while (acceleration.hasNext())
+ {
+ acceleration.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 18;
+ }
+
+ public static int manufacturerSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 4;
+ }
+
+ public int manufacturerLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getManufacturer(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getManufacturer(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapManufacturer(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String manufacturer()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int modelId()
+ {
+ return 19;
+ }
+
+ public static int modelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 4;
+ }
+
+ public int modelLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getModel(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getModel(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapModel(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String model()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int activationCodeId()
+ {
+ return 20;
+ }
+
+ public static int activationCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String activationCodeCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String activationCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int activationCodeHeaderLength()
+ {
+ return 4;
+ }
+
+ public int activationCodeLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+ public int getActivationCode(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public int getActivationCode(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ final int bytesCopied = Math.min(length, dataLength);
+ parentMessage.limit(limit + headerLength + dataLength);
+ buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public void wrapActivationCode(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String activationCode()
+ {
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)(buffer.getInt(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ parentMessage.limit(limit + headerLength + dataLength);
+
+ if (0 == dataLength)
+ {
+ return "";
+ }
+
+ final byte[] tmp = new byte[dataLength];
+ buffer.getBytes(limit + headerLength, tmp, 0, dataLength);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[Car](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("):");
+ //Token{signal=BEGIN_FIELD, name='serialNumber', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("serialNumber=");
+ builder.append(serialNumber());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='modelYear', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='ModelYear', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("modelYear=");
+ builder.append(modelYear());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='available', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("available=");
+ builder.append(available());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='code', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=1, offset=11, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Model', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=11, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("code=");
+ builder.append(code());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='someNumbers', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='someNumbers', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("someNumbers=");
+ builder.append('[');
+ if (someNumbersLength() > 0)
+ {
+ for (int i = 0; i < someNumbersLength(); i++)
+ {
+ builder.append(someNumbers(i));
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='vehicleCode', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=6, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='VehicleCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("vehicleCode=");
+ for (int i = 0; i < vehicleCodeLength() && vehicleCode(i) > 0; i++)
+ {
+ builder.append((char)vehicleCode(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='extras', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_SET, name='OptionalExtras', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("extras=");
+ builder.append(extras());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='discountedModel', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=0, offset=39, componentTokenCount=7, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=Model.C, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Model', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=39, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("discountedModel=");
+ builder.append(discountedModel());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='engine', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=10, offset=39, componentTokenCount=23, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Engine', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=10, offset=39, componentTokenCount=21, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("engine=");
+ engine().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='cupHolderCount', referencedName='null', description='null', id=100, version=1, deprecated=0, encodedLength=1, offset=49, componentTokenCount=3, encoding=Encoding{presence=OPTIONAL, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='cupHolderCount_t', referencedName='null', description='null', id=-1, version=1, deprecated=0, encodedLength=1, offset=49, componentTokenCount=1, encoding=Encoding{presence=OPTIONAL, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("cupHolderCount=");
+ builder.append(cupHolderCount());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='fuelFigures', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=6, offset=50, componentTokenCount=18, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("fuelFigures=[");
+ FuelFiguresDecoder fuelFigures = fuelFigures();
+ if (fuelFigures.count() > 0)
+ {
+ while (fuelFigures.hasNext())
+ {
+ fuelFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='performanceFigures', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=1, offset=-1, componentTokenCount=21, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("performanceFigures=[");
+ PerformanceFiguresDecoder performanceFigures = performanceFigures();
+ if (performanceFigures.count() > 0)
+ {
+ while (performanceFigures.hasNext())
+ {
+ performanceFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='manufacturer', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("manufacturer=");
+ builder.append('\'' + manufacturer() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='model', referencedName='null', description='null', id=19, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("model=");
+ builder.append('\'' + model() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='activationCode', referencedName='null', description='null', id=20, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("activationCode=");
+ builder.append('\'' + activationCode() + '\'');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/CarEncoder.java b/sbe-samples/build/generated/extension/CarEncoder.java
new file mode 100644
index 0000000000..48ab83373c
--- /dev/null
+++ b/sbe-samples/build/generated/extension/CarEncoder.java
@@ -0,0 +1,1509 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarEncoder implements MessageEncoderFlyweight
+{
+ public static final int BLOCK_LENGTH = 50;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarEncoder parentMessage = this;
+ private MutableDirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public CarEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public CarEncoder wrapAndApplyHeader(
+ final MutableDirectBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public CarEncoder serialNumber(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public CarEncoder modelYear(final int value)
+ {
+ buffer.putShort(offset + 8, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder available(final BooleanType value)
+ {
+ buffer.putByte(offset + 10, (byte)value.value());
+ return this;
+ }
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 11;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder code(final Model value)
+ {
+ buffer.putByte(offset + 11, value.value());
+ return this;
+ }
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long someNumbersNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long someNumbersMinValue()
+ {
+ return 0L;
+ }
+
+ public static long someNumbersMaxValue()
+ {
+ return 4294967294L;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public CarEncoder someNumbers(final int index, final long value)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 4);
+ buffer.putInt(pos, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+
+ return this;
+ }
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public CarEncoder vehicleCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 32 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "ASCII";
+ }
+
+ public CarEncoder putVehicleCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 32, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 32, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 32 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 32 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 32 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasEncoder extras = new OptionalExtrasEncoder();
+
+ public OptionalExtrasEncoder extras()
+ {
+ extras.wrap(buffer, offset + 38);
+ return extras;
+ }
+
+ public static int discountedModelId()
+ {
+ return 8;
+ }
+
+ public static int discountedModelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int discountedModelEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int discountedModelEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String discountedModelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "constant";
+ }
+
+ return "";
+ }
+
+ public CarEncoder discountedModel(final Model value)
+ {
+ buffer.putByte(offset + 39, value.value());
+ return this;
+ }
+
+ public static int engineId()
+ {
+ return 9;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 10;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineEncoder engine = new EngineEncoder();
+
+ public EngineEncoder engine()
+ {
+ engine.wrap(buffer, offset + 39);
+ return engine;
+ }
+
+ public static int cupHolderCountId()
+ {
+ return 100;
+ }
+
+ public static int cupHolderCountSinceVersion()
+ {
+ return 1;
+ }
+
+ public static int cupHolderCountEncodingOffset()
+ {
+ return 49;
+ }
+
+ public static int cupHolderCountEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String cupHolderCountMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "optional";
+ }
+
+ return "";
+ }
+
+ public static short cupHolderCountNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short cupHolderCountMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short cupHolderCountMaxValue()
+ {
+ return (short)254;
+ }
+
+ public CarEncoder cupHolderCount(final short value)
+ {
+ buffer.putByte(offset + 49, (byte)value);
+ return this;
+ }
+
+
+ private final FuelFiguresEncoder fuelFigures = new FuelFiguresEncoder(this);
+
+ public static long fuelFiguresId()
+ {
+ return 10;
+ }
+
+ public FuelFiguresEncoder fuelFiguresCount(final int count)
+ {
+ fuelFigures.wrap(buffer, count);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ FuelFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public FuelFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 11;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public FuelFiguresEncoder speed(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mpgId()
+ {
+ return 12;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public FuelFiguresEncoder mpg(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int usageDescriptionId()
+ {
+ return 200;
+ }
+
+ public static String usageDescriptionCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String usageDescriptionMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int usageDescriptionHeaderLength()
+ {
+ return 4;
+ }
+
+ public FuelFiguresEncoder putUsageDescription(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public FuelFiguresEncoder putUsageDescription(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public FuelFiguresEncoder usageDescription(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+ }
+
+ private final PerformanceFiguresEncoder performanceFigures = new PerformanceFiguresEncoder(this);
+
+ public static long performanceFiguresId()
+ {
+ return 13;
+ }
+
+ public PerformanceFiguresEncoder performanceFiguresCount(final int count)
+ {
+ performanceFigures.wrap(buffer, count);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private final AccelerationEncoder acceleration;
+
+ PerformanceFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationEncoder(parentMessage);
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)1, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ public PerformanceFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 14;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)90;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)110;
+ }
+
+ public PerformanceFiguresEncoder octaneRating(final short value)
+ {
+ buffer.putByte(offset + 0, (byte)value);
+ return this;
+ }
+
+
+ public static long accelerationId()
+ {
+ return 15;
+ }
+
+ public AccelerationEncoder accelerationCount(final int count)
+ {
+ acceleration.wrap(buffer, count);
+ return acceleration;
+ }
+
+ public static class AccelerationEncoder
+ {
+ public static final int HEADER_SIZE = 4;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ AccelerationEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 65534)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort(limit + 2, (short)(int)count, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public AccelerationEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 16;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public AccelerationEncoder mph(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int secondsId()
+ {
+ return 17;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public AccelerationEncoder seconds(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 18;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putManufacturer(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putManufacturer(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder manufacturer(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int modelId()
+ {
+ return 19;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putModel(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putModel(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder model(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int activationCodeId()
+ {
+ return 20;
+ }
+
+ public static String activationCodeCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String activationCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int activationCodeHeaderLength()
+ {
+ return 4;
+ }
+
+ public CarEncoder putActivationCode(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putActivationCode(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder activationCode(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 1073741824)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 4;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putInt(limit, (int)length, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ CarDecoder writer = new CarDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/EngineDecoder.java b/sbe-samples/build/generated/extension/EngineDecoder.java
new file mode 100644
index 0000000000..f24bff181d
--- /dev/null
+++ b/sbe-samples/build/generated/extension/EngineDecoder.java
@@ -0,0 +1,436 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class EngineDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 10;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public EngineDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacitySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public int capacity()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int numCylindersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short numCylinders()
+ {
+ return ((short)(buffer.getByte(offset + 2) & 0xFF));
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public byte manufacturerCode(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getManufacturerCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 3, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String manufacturerCode()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 3, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getManufacturerCode(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 3 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int fuelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public static int efficiencyEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int efficiencyEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int efficiencySinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte efficiencyNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte efficiencyMinValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte efficiencyMaxValue()
+ {
+ return (byte)100;
+ }
+
+ public byte efficiency()
+ {
+ return buffer.getByte(offset + 6);
+ }
+
+
+ public static int boosterEnabledEncodingOffset()
+ {
+ return 7;
+ }
+
+ public static int boosterEnabledEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int boosterEnabledSinceVersion()
+ {
+ return 0;
+ }
+
+ public BooleanType boosterEnabled()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 7) & 0xFF)));
+ }
+
+
+ public static int boosterEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int boosterEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int boosterSinceVersion()
+ {
+ return 0;
+ }
+
+ private final BoosterDecoder booster = new BoosterDecoder();
+
+ public BoosterDecoder booster()
+ {
+ booster.wrap(buffer, offset + 8);
+ return booster;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='capacity', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("capacity=");
+ builder.append(capacity());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numCylinders', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numCylinders=");
+ builder.append(numCylinders());
+ builder.append('|');
+ //Token{signal=ENCODING, name='maxRpm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=3, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=9000, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='manufacturerCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=3, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("manufacturerCode=");
+ for (int i = 0; i < manufacturerCodeLength() && manufacturerCode(i) > 0; i++)
+ {
+ builder.append((char)manufacturerCode(i));
+ }
+ builder.append('|');
+ //Token{signal=ENCODING, name='fuel', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=6, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=Petrol, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='efficiency', referencedName='Percentage', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT8, byteOrder=LITTLE_ENDIAN, minValue=0, maxValue=100, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("efficiency=");
+ builder.append(efficiency());
+ builder.append('|');
+ //Token{signal=BEGIN_ENUM, name='boosterEnabled', referencedName='BooleanType', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=7, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("boosterEnabled=");
+ builder.append(boosterEnabled());
+ builder.append('|');
+ //Token{signal=BEGIN_COMPOSITE, name='booster', referencedName='Booster', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("booster=");
+ booster().appendTo(builder);
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/EngineEncoder.java b/sbe-samples/build/generated/extension/EngineEncoder.java
new file mode 100644
index 0000000000..60a117ab5e
--- /dev/null
+++ b/sbe-samples/build/generated/extension/EngineEncoder.java
@@ -0,0 +1,381 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class EngineEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 10;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public EngineEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public EngineEncoder capacity(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public EngineEncoder numCylinders(final short value)
+ {
+ buffer.putByte(offset + 2, (byte)value);
+ return this;
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public EngineEncoder manufacturerCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public EngineEncoder putManufacturerCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 3, src, srcOffset, length);
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 3, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 3 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 3 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 3 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public static int efficiencyEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int efficiencyEncodingLength()
+ {
+ return 1;
+ }
+
+ public static byte efficiencyNullValue()
+ {
+ return (byte)-128;
+ }
+
+ public static byte efficiencyMinValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte efficiencyMaxValue()
+ {
+ return (byte)100;
+ }
+
+ public EngineEncoder efficiency(final byte value)
+ {
+ buffer.putByte(offset + 6, value);
+ return this;
+ }
+
+
+ public static int boosterEnabledEncodingOffset()
+ {
+ return 7;
+ }
+
+ public static int boosterEnabledEncodingLength()
+ {
+ return 1;
+ }
+
+ public EngineEncoder boosterEnabled(final BooleanType value)
+ {
+ buffer.putByte(offset + 7, (byte)value.value());
+ return this;
+ }
+
+ public static int boosterEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int boosterEncodingLength()
+ {
+ return 2;
+ }
+
+ private final BoosterEncoder booster = new BoosterEncoder();
+
+ public BoosterEncoder booster()
+ {
+ booster.wrap(buffer, offset + 8);
+ return booster;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ EngineDecoder writer = new EngineDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/GroupSizeEncodingDecoder.java b/sbe-samples/build/generated/extension/GroupSizeEncodingDecoder.java
new file mode 100644
index 0000000000..d87a3445d6
--- /dev/null
+++ b/sbe-samples/build/generated/extension/GroupSizeEncodingDecoder.java
@@ -0,0 +1,148 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public GroupSizeEncodingDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public int numInGroup()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numInGroup', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numInGroup=");
+ builder.append(numInGroup());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/GroupSizeEncodingEncoder.java b/sbe-samples/build/generated/extension/GroupSizeEncodingEncoder.java
new file mode 100644
index 0000000000..bd6135c294
--- /dev/null
+++ b/sbe-samples/build/generated/extension/GroupSizeEncodingEncoder.java
@@ -0,0 +1,133 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public GroupSizeEncodingEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int numInGroupNullValue()
+ {
+ return 65535;
+ }
+
+ public static int numInGroupMinValue()
+ {
+ return 0;
+ }
+
+ public static int numInGroupMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder numInGroup(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ GroupSizeEncodingDecoder writer = new GroupSizeEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/MessageHeaderDecoder.java b/sbe-samples/build/generated/extension/MessageHeaderDecoder.java
new file mode 100644
index 0000000000..65f4c8bdbb
--- /dev/null
+++ b/sbe-samples/build/generated/extension/MessageHeaderDecoder.java
@@ -0,0 +1,228 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public MessageHeaderDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int templateId()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int schemaId()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public int version()
+ {
+ return (buffer.getShort(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='templateId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("templateId=");
+ builder.append(templateId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='schemaId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("schemaId=");
+ builder.append(schemaId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='version', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("version=");
+ builder.append(version());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/MessageHeaderEncoder.java b/sbe-samples/build/generated/extension/MessageHeaderEncoder.java
new file mode 100644
index 0000000000..a04e85eed6
--- /dev/null
+++ b/sbe-samples/build/generated/extension/MessageHeaderEncoder.java
@@ -0,0 +1,197 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public MessageHeaderEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder templateId(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder schemaId(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder version(final int value)
+ {
+ buffer.putShort(offset + 6, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MessageHeaderDecoder writer = new MessageHeaderDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/MetaAttribute.java b/sbe-samples/build/generated/extension/MetaAttribute.java
new file mode 100644
index 0000000000..b1e892ca88
--- /dev/null
+++ b/sbe-samples/build/generated/extension/MetaAttribute.java
@@ -0,0 +1,10 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+public enum MetaAttribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+}
diff --git a/sbe-samples/build/generated/extension/Model.java b/sbe-samples/build/generated/extension/Model.java
new file mode 100644
index 0000000000..76720deba0
--- /dev/null
+++ b/sbe-samples/build/generated/extension/Model.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+public enum Model
+{
+ A((byte)65),
+
+ B((byte)66),
+
+ C((byte)67),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ Model(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static Model get(final byte value)
+ {
+ switch (value)
+ {
+ case 65: return A;
+ case 66: return B;
+ case 67: return C;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-samples/build/generated/extension/OptionalExtrasDecoder.java b/sbe-samples/build/generated/extension/OptionalExtrasDecoder.java
new file mode 100644
index 0000000000..ec3feef168
--- /dev/null
+++ b/sbe-samples/build/generated/extension/OptionalExtrasDecoder.java
@@ -0,0 +1,129 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class OptionalExtrasDecoder implements Flyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public OptionalExtrasDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getByte(offset);
+ }
+
+ public boolean sunRoof()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 0));
+ }
+
+ public static boolean sunRoof(final byte value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean sportsPack()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 1));
+ }
+
+ public static boolean sportsPack(final byte value)
+ {
+ return 0 != (value & (1 << 1));
+ }
+
+ public boolean cruiseControl()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 2));
+ }
+
+ public static boolean cruiseControl(final byte value)
+ {
+ return 0 != (value & (1 << 2));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (sunRoof())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sunRoof");
+ atLeastOne = true;
+ }
+ if (sportsPack())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sportsPack");
+ atLeastOne = true;
+ }
+ if (cruiseControl())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("cruiseControl");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/OptionalExtrasEncoder.java b/sbe-samples/build/generated/extension/OptionalExtrasEncoder.java
new file mode 100644
index 0000000000..653f7f749a
--- /dev/null
+++ b/sbe-samples/build/generated/extension/OptionalExtrasEncoder.java
@@ -0,0 +1,98 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class OptionalExtrasEncoder implements Flyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public OptionalExtrasEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public OptionalExtrasEncoder clear()
+ {
+ buffer.putByte(offset, (byte)(short)0);
+ return this;
+ }
+
+ public OptionalExtrasEncoder sunRoof(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sunRoof(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ }
+
+ public OptionalExtrasEncoder sportsPack(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sportsPack(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ }
+
+ public OptionalExtrasEncoder cruiseControl(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte cruiseControl(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ }
+}
diff --git a/sbe-samples/build/generated/extension/VarStringEncodingDecoder.java b/sbe-samples/build/generated/extension/VarStringEncodingDecoder.java
new file mode 100644
index 0000000000..becfe8c0db
--- /dev/null
+++ b/sbe-samples/build/generated/extension/VarStringEncodingDecoder.java
@@ -0,0 +1,137 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.DirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class VarStringEncodingDecoder implements CompositeDecoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public VarStringEncodingDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 4;
+ }
+
+ public static int lengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long lengthNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long lengthMinValue()
+ {
+ return 0L;
+ }
+
+ public static long lengthMaxValue()
+ {
+ return 1073741824L;
+ }
+
+ public long length()
+ {
+ return (buffer.getInt(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF_FFFFL);
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static int varDataSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='length', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=1073741824, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("length=");
+ builder.append(length());
+ builder.append('|');
+ //Token{signal=ENCODING, name='varData', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=-1, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='UTF-8', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-samples/build/generated/extension/VarStringEncodingEncoder.java b/sbe-samples/build/generated/extension/VarStringEncodingEncoder.java
new file mode 100644
index 0000000000..25388f2ac7
--- /dev/null
+++ b/sbe-samples/build/generated/extension/VarStringEncodingEncoder.java
@@ -0,0 +1,123 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package extension;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.sbe.*;
+
+@SuppressWarnings("all")
+public class VarStringEncodingEncoder implements CompositeEncoderFlyweight
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 1;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public VarStringEncodingEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 4;
+ }
+
+ public static long lengthNullValue()
+ {
+ return 4294967295L;
+ }
+
+ public static long lengthMinValue()
+ {
+ return 0L;
+ }
+
+ public static long lengthMaxValue()
+ {
+ return 1073741824L;
+ }
+
+ public VarStringEncodingEncoder length(final long value)
+ {
+ buffer.putInt(offset + 0, (int)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ VarStringEncodingDecoder writer = new VarStringEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-samples/build/libs/sbe-samples-1.12.0-javadoc.jar b/sbe-samples/build/libs/sbe-samples-1.12.0-javadoc.jar
new file mode 100644
index 0000000000..03613a88fd
Binary files /dev/null and b/sbe-samples/build/libs/sbe-samples-1.12.0-javadoc.jar differ
diff --git a/sbe-samples/build/libs/sbe-samples-1.12.0-sources.jar b/sbe-samples/build/libs/sbe-samples-1.12.0-sources.jar
new file mode 100644
index 0000000000..dcddbc4814
Binary files /dev/null and b/sbe-samples/build/libs/sbe-samples-1.12.0-sources.jar differ
diff --git a/sbe-samples/build/libs/sbe-samples-1.12.0.jar b/sbe-samples/build/libs/sbe-samples-1.12.0.jar
new file mode 100644
index 0000000000..c236b49b13
Binary files /dev/null and b/sbe-samples/build/libs/sbe-samples-1.12.0.jar differ
diff --git a/sbe-samples/build/poms/pom-default.xml b/sbe-samples/build/poms/pom-default.xml
new file mode 100644
index 0000000000..02e4539b7a
--- /dev/null
+++ b/sbe-samples/build/poms/pom-default.xml
@@ -0,0 +1,86 @@
+
+
+ 4.0.0
+ uk.co.real-logic
+ sbe-samples
+ 1.12.0
+ sbe
+ FIX/SBE - OSI layer 6 presentation for encoding and decoding application messages in binary format for low-latency applications
+ https://github.com/real-logic/simple-binary-encoding
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ tmontgomery
+ Todd L. Montgomery
+ tmont@nard.net
+ https://github.com/tmontgomery
+
+
+ mjpt777
+ Martin Thompson
+ mjpt777@gmail.com
+ https://github.com/mjpt777
+
+
+ odeheurles
+ Olivier Deheurles
+ olivier@weareadaptive.com
+ https://github.com/odeheurles
+
+
+ RichardWarburton
+ Richard Warburton
+ richard.warburton@gmail.com
+ https://github.com/RichardWarburton
+
+
+ BillSegall
+ Bill Segall
+ bill.segall@gmail.com
+ https://github.com/BillSegall
+
+
+
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ github.com/real-logic/simple-binary-encoding.git
+
+
+
+ org.agrona
+ agrona
+ 0.9.31
+ compile
+
+
+ uk.co.real-logic
+ sbe-tool
+ 1.12.0
+ compile
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.mockito
+ mockito-core
+ 2.23.4
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ 1.3
+ test
+
+
+
diff --git a/sbe-samples/build/reports/checkstyle/generated.html b/sbe-samples/build/reports/checkstyle/generated.html
new file mode 100644
index 0000000000..660a0ee292
--- /dev/null
+++ b/sbe-samples/build/reports/checkstyle/generated.html
@@ -0,0 +1,449 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+36 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/BooleanType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/BoostType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/BoosterDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/BoosterEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/CarDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/CarEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/EngineDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/EngineEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/GroupSizeEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/GroupSizeEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/Model.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/OptionalExtrasDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/OptionalExtrasEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/VarStringEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/baseline/VarStringEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/BooleanType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/BoostType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/BoosterDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/BoosterEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/CarDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/CarEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/EngineDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/EngineEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/GroupSizeEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/GroupSizeEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/Model.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/OptionalExtrasDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/OptionalExtrasEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/VarStringEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/generated/extension/VarStringEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-samples/build/reports/checkstyle/generated.xml b/sbe-samples/build/reports/checkstyle/generated.xml
new file mode 100644
index 0000000000..1540e8bcd7
--- /dev/null
+++ b/sbe-samples/build/reports/checkstyle/generated.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-samples/build/reports/checkstyle/main.html b/sbe-samples/build/reports/checkstyle/main.html
new file mode 100644
index 0000000000..0542759e07
--- /dev/null
+++ b/sbe-samples/build/reports/checkstyle/main.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+4 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/ExampleTokenListener.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/OtfExample.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-samples/build/reports/checkstyle/main.xml b/sbe-samples/build/reports/checkstyle/main.xml
new file mode 100644
index 0000000000..e3010bf1c0
--- /dev/null
+++ b/sbe-samples/build/reports/checkstyle/main.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-samples/build/resources/main/common-types.xml b/sbe-samples/build/resources/main/common-types.xml
new file mode 100644
index 0000000000..0f21ce29a6
--- /dev/null
+++ b/sbe-samples/build/resources/main/common-types.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-samples/build/resources/main/example-extension-schema.xml b/sbe-samples/build/resources/main/example-extension-schema.xml
new file mode 100644
index 0000000000..9c718eda0f
--- /dev/null
+++ b/sbe-samples/build/resources/main/example-extension-schema.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+ T
+ S
+ N
+ K
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-samples/build/resources/main/example-schema.xml b/sbe-samples/build/resources/main/example-schema.xml
new file mode 100644
index 0000000000..c01a6f581f
--- /dev/null
+++ b/sbe-samples/build/resources/main/example-schema.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+ T
+ S
+ N
+ K
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-samples/build/tmp/jar/MANIFEST.MF b/sbe-samples/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-samples/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-samples/build/tmp/javadoc/javadoc.options b/sbe-samples/build/tmp/javadoc/javadoc.options
new file mode 100644
index 0000000000..d0c45d63bc
--- /dev/null
+++ b/sbe-samples/build/tmp/javadoc/javadoc.options
@@ -0,0 +1,10 @@
+-bottom 'Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved. '
+-classpath '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/classes/java/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/resources/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/classes/java/generated:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/libs/sbe-tool-1.12.0.jar:/Users/ethan/.gradle/caches/modules-2/files-2.1/org.agrona/agrona/0.9.31/56014757f084ead33d6a29f8dbad9b4cb765bdf/agrona-0.9.31.jar'
+-d '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/build/docs/javadoc'
+-doctitle 'Simple Binary Encoding '
+-quiet
+-windowtitle 'Simple Binary Encoding '
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/ExampleTokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-samples/src/main/java/uk/co/real_logic/sbe/examples/OtfExample.java'
diff --git a/sbe-samples/build/tmp/javadocJar/MANIFEST.MF b/sbe-samples/build/tmp/javadocJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-samples/build/tmp/javadocJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-samples/build/tmp/sourcesJar/MANIFEST.MF b/sbe-samples/build/tmp/sourcesJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-samples/build/tmp/sourcesJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-tool/build/classes/java/generated/baseline/BooleanType.class b/sbe-tool/build/classes/java/generated/baseline/BooleanType.class
new file mode 100644
index 0000000000..b61cb6220a
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/BooleanType.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarDecoder$1.class b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$1.class
new file mode 100644
index 0000000000..40578096be
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$1.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarDecoder$FuelFiguresDecoder.class b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$FuelFiguresDecoder.class
new file mode 100644
index 0000000000..1b66d82ba7
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$FuelFiguresDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class
new file mode 100644
index 0000000000..4a1e43a938
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder$AccelerationDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder.class b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder.class
new file mode 100644
index 0000000000..eda3e73c47
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarDecoder$PerformanceFiguresDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarDecoder.class b/sbe-tool/build/classes/java/generated/baseline/CarDecoder.class
new file mode 100644
index 0000000000..4d343a54f9
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarEncoder$1.class b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$1.class
new file mode 100644
index 0000000000..0cd4283b78
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$1.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarEncoder$FuelFiguresEncoder.class b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$FuelFiguresEncoder.class
new file mode 100644
index 0000000000..45573ddc64
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$FuelFiguresEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class
new file mode 100644
index 0000000000..d0651dae0c
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder$AccelerationEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder.class b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder.class
new file mode 100644
index 0000000000..cf83592b92
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarEncoder$PerformanceFiguresEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/CarEncoder.class b/sbe-tool/build/classes/java/generated/baseline/CarEncoder.class
new file mode 100644
index 0000000000..8f3cce00de
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/CarEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/EngineDecoder.class b/sbe-tool/build/classes/java/generated/baseline/EngineDecoder.class
new file mode 100644
index 0000000000..4a4531039a
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/EngineDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/EngineEncoder.class b/sbe-tool/build/classes/java/generated/baseline/EngineEncoder.class
new file mode 100644
index 0000000000..996e09788a
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/EngineEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/GroupSizeEncodingDecoder.class b/sbe-tool/build/classes/java/generated/baseline/GroupSizeEncodingDecoder.class
new file mode 100644
index 0000000000..56edac70a7
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/GroupSizeEncodingDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/GroupSizeEncodingEncoder.class b/sbe-tool/build/classes/java/generated/baseline/GroupSizeEncodingEncoder.class
new file mode 100644
index 0000000000..d4d9153984
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/GroupSizeEncodingEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/MessageHeaderDecoder.class b/sbe-tool/build/classes/java/generated/baseline/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..15b0709372
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/MessageHeaderDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/MessageHeaderEncoder.class b/sbe-tool/build/classes/java/generated/baseline/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..3aa447a259
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/MessageHeaderEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/MetaAttribute.class b/sbe-tool/build/classes/java/generated/baseline/MetaAttribute.class
new file mode 100644
index 0000000000..0e6bb17ca8
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/MetaAttribute.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/Model.class b/sbe-tool/build/classes/java/generated/baseline/Model.class
new file mode 100644
index 0000000000..e5afec300a
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/Model.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/OptionalExtrasDecoder.class b/sbe-tool/build/classes/java/generated/baseline/OptionalExtrasDecoder.class
new file mode 100644
index 0000000000..307c240c70
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/OptionalExtrasDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/OptionalExtrasEncoder.class b/sbe-tool/build/classes/java/generated/baseline/OptionalExtrasEncoder.class
new file mode 100644
index 0000000000..f23394fcbe
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/OptionalExtrasEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/VarStringEncodingDecoder.class b/sbe-tool/build/classes/java/generated/baseline/VarStringEncodingDecoder.class
new file mode 100644
index 0000000000..bab7303b00
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/VarStringEncodingDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/baseline/VarStringEncodingEncoder.class b/sbe-tool/build/classes/java/generated/baseline/VarStringEncodingEncoder.class
new file mode 100644
index 0000000000..c1794041d3
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/baseline/VarStringEncodingEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/EnumOne.class b/sbe-tool/build/classes/java/generated/composite/elements/EnumOne.class
new file mode 100644
index 0000000000..220b337fea
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/EnumOne.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/InnerDecoder.class b/sbe-tool/build/classes/java/generated/composite/elements/InnerDecoder.class
new file mode 100644
index 0000000000..eedd0f0a35
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/InnerDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/InnerEncoder.class b/sbe-tool/build/classes/java/generated/composite/elements/InnerEncoder.class
new file mode 100644
index 0000000000..4ef0fb16ce
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/InnerEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MessageHeaderDecoder.class b/sbe-tool/build/classes/java/generated/composite/elements/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..d1598c6e93
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MessageHeaderDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MessageHeaderEncoder.class b/sbe-tool/build/classes/java/generated/composite/elements/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..3511d1c626
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MessageHeaderEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MetaAttribute.class b/sbe-tool/build/classes/java/generated/composite/elements/MetaAttribute.class
new file mode 100644
index 0000000000..db72042fe3
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MetaAttribute.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MsgDecoder$1.class b/sbe-tool/build/classes/java/generated/composite/elements/MsgDecoder$1.class
new file mode 100644
index 0000000000..f2cadc0834
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MsgDecoder$1.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MsgDecoder.class b/sbe-tool/build/classes/java/generated/composite/elements/MsgDecoder.class
new file mode 100644
index 0000000000..cac61f884e
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MsgDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MsgEncoder$1.class b/sbe-tool/build/classes/java/generated/composite/elements/MsgEncoder$1.class
new file mode 100644
index 0000000000..17f6e90a80
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MsgEncoder$1.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/MsgEncoder.class b/sbe-tool/build/classes/java/generated/composite/elements/MsgEncoder.class
new file mode 100644
index 0000000000..23c9b6e534
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/MsgEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/OuterDecoder.class b/sbe-tool/build/classes/java/generated/composite/elements/OuterDecoder.class
new file mode 100644
index 0000000000..d276f13c67
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/OuterDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/OuterEncoder.class b/sbe-tool/build/classes/java/generated/composite/elements/OuterEncoder.class
new file mode 100644
index 0000000000..75e76e252a
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/OuterEncoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/SetOneDecoder.class b/sbe-tool/build/classes/java/generated/composite/elements/SetOneDecoder.class
new file mode 100644
index 0000000000..082d039648
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/SetOneDecoder.class differ
diff --git a/sbe-tool/build/classes/java/generated/composite/elements/SetOneEncoder.class b/sbe-tool/build/classes/java/generated/composite/elements/SetOneEncoder.class
new file mode 100644
index 0000000000..662f1e5996
Binary files /dev/null and b/sbe-tool/build/classes/java/generated/composite/elements/SetOneEncoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType$1.class
new file mode 100644
index 0000000000..0af930a6bb
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType$Singleton.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType$Singleton.class
new file mode 100644
index 0000000000..92e95812fc
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType$Singleton.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType.class
new file mode 100644
index 0000000000..a835762f29
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue$1.class
new file mode 100644
index 0000000000..2f72759522
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue$Representation.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue$Representation.class
new file mode 100644
index 0000000000..72be219dad
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue$Representation.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue.class
new file mode 100644
index 0000000000..38a887d827
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/PrimitiveValue.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/SbeTool.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/SbeTool.class
new file mode 100644
index 0000000000..ea41e7cc93
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/SbeTool.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/codec/java/GroupOrder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/codec/java/GroupOrder.class
new file mode 100644
index 0000000000..1130a422d9
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/codec/java/GroupOrder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/codec/java/MethodSelector.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/codec/java/MethodSelector.class
new file mode 100644
index 0000000000..79836019a5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/codec/java/MethodSelector.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/CodeGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/CodeGenerator.class
new file mode 100644
index 0000000000..9233afa506
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/CodeGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/Generators.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/Generators.class
new file mode 100644
index 0000000000..2202c50f2c
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/Generators.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/NamedToken.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/NamedToken.class
new file mode 100644
index 0000000000..e92ad5af3d
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/NamedToken.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGenerator.class
new file mode 100644
index 0000000000..cd32ab3084
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$1.class
new file mode 100644
index 0000000000..ad22c90443
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$2.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$2.class
new file mode 100644
index 0000000000..cbccc61268
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$2.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$3.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$3.class
new file mode 100644
index 0000000000..79051c65f2
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader$3.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.class
new file mode 100644
index 0000000000..e73dd349b1
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppGenerator$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppGenerator$1.class
new file mode 100644
index 0000000000..68e337a7c0
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppGenerator$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppGenerator.class
new file mode 100644
index 0000000000..0c4fae28ce
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppUtil.class
new file mode 100644
index 0000000000..cb5fe42a2c
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/CppUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.class
new file mode 100644
index 0000000000..d719b781a4
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharp.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharp.class
new file mode 100644
index 0000000000..bf8f04ca0b
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharp.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator$1.class
new file mode 100644
index 0000000000..b86014b13e
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.class
new file mode 100644
index 0000000000..20da513410
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.class
new file mode 100644
index 0000000000..18059c049a
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.class
new file mode 100644
index 0000000000..d38d7748e6
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangGenerator$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangGenerator$1.class
new file mode 100644
index 0000000000..6ef5890653
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangGenerator$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangGenerator.class
new file mode 100644
index 0000000000..e11a718066
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.class
new file mode 100644
index 0000000000..ec3ac0bce2
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangUtil.class
new file mode 100644
index 0000000000..b06b3fed2a
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/golang/GolangUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator$1.class
new file mode 100644
index 0000000000..5ad3c16a34
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator$CodecType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator$CodecType.class
new file mode 100644
index 0000000000..005e9a339c
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator$CodecType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator.class
new file mode 100644
index 0000000000..500a0a3268
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil$1.class
new file mode 100644
index 0000000000..975f86f469
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil$Separators.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil$Separators.class
new file mode 100644
index 0000000000..03b0a3d920
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil$Separators.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil.class
new file mode 100644
index 0000000000..bc22eb655c
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/java/JavaUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/Rust.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/Rust.class
new file mode 100644
index 0000000000..ec0e8b19a7
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/Rust.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType$1.class
new file mode 100644
index 0000000000..c39e860936
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType$2.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType$2.class
new file mode 100644
index 0000000000..c58ca57feb
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType$2.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType.class
new file mode 100644
index 0000000000..9221bf884b
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustCodecType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.class
new file mode 100644
index 0000000000..753e6ce530
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$1.class
new file mode 100644
index 0000000000..748562ab3d
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$FieldsRepresentationSummary.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$FieldsRepresentationSummary.class
new file mode 100644
index 0000000000..db35ce5e21
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$FieldsRepresentationSummary.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$GroupTreeNode.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$GroupTreeNode.class
new file mode 100644
index 0000000000..5b453cc408
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$GroupTreeNode.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$VarDataSummary.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$VarDataSummary.class
new file mode 100644
index 0000000000..9daf7969d5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator$VarDataSummary.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator.class
new file mode 100644
index 0000000000..de3fb2ef63
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil$1.class
new file mode 100644
index 0000000000..8f4a097446
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil$ReservedKeyword.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil$ReservedKeyword.class
new file mode 100644
index 0000000000..34451cc1bb
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil$ReservedKeyword.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil.class
new file mode 100644
index 0000000000..69a71f7f48
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/RustUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/SplitCompositeTokens.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/SplitCompositeTokens.class
new file mode 100644
index 0000000000..5707204022
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/generation/rust/SplitCompositeTokens.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding$Builder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding$Builder.class
new file mode 100644
index 0000000000..34d75736ff
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding$Builder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding$Presence.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding$Presence.class
new file mode 100644
index 0000000000..14e934822b
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding$Presence.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding.class
new file mode 100644
index 0000000000..04c9924496
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Encoding.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/GenerationUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/GenerationUtil.class
new file mode 100644
index 0000000000..07fd2454bf
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/GenerationUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/HeaderStructure.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/HeaderStructure.class
new file mode 100644
index 0000000000..ce1e70d0f0
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/HeaderStructure.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Ir$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Ir$1.class
new file mode 100644
index 0000000000..0b34bcda43
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Ir$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Ir.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Ir.class
new file mode 100644
index 0000000000..467c072717
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Ir.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrDecoder.class
new file mode 100644
index 0000000000..aaf69702d4
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrEncoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrEncoder.class
new file mode 100644
index 0000000000..7e14cc838b
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrEncoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrUtil$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrUtil$1.class
new file mode 100644
index 0000000000..617e37f90e
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrUtil$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrUtil.class
new file mode 100644
index 0000000000..f01a697c0d
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/IrUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/MessageComponents.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/MessageComponents.class
new file mode 100644
index 0000000000..be1a6304a2
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/MessageComponents.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Signal.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Signal.class
new file mode 100644
index 0000000000..908ccce582
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Signal.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Token$Builder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Token$Builder.class
new file mode 100644
index 0000000000..6ec1822425
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Token$Builder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Token.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Token.class
new file mode 100644
index 0000000000..07987e4581
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/Token.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.class
new file mode 100644
index 0000000000..a39547cf93
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder$1.class
new file mode 100644
index 0000000000..cab6e41e44
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.class
new file mode 100644
index 0000000000..502196e676
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder$1.class
new file mode 100644
index 0000000000..6f655769dd
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.class
new file mode 100644
index 0000000000..69538b0d6b
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.class
new file mode 100644
index 0000000000..2c81438ba7
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.class
new file mode 100644
index 0000000000..5ea91b3bd5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MetaAttribute.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MetaAttribute.class
new file mode 100644
index 0000000000..7a8ad0dc05
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/MetaAttribute.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/PresenceCodec.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/PresenceCodec.class
new file mode 100644
index 0000000000..db6962d0a6
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/PresenceCodec.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.class
new file mode 100644
index 0000000000..b14eaf07b7
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/SignalCodec.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/SignalCodec.class
new file mode 100644
index 0000000000..a825bf330f
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/SignalCodec.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder$1.class
new file mode 100644
index 0000000000..9994d4796a
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.class
new file mode 100644
index 0000000000..772e4445c5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder$1.class
new file mode 100644
index 0000000000..a7e09a5e33
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.class
new file mode 100644
index 0000000000..b7e5653d4f
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.class
new file mode 100644
index 0000000000..c5447b1a0b
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.class
new file mode 100644
index 0000000000..00b939c1a7
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/json/JsonPrinter.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/json/JsonPrinter.class
new file mode 100644
index 0000000000..e3f8fc929c
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/json/JsonPrinter.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/json/JsonTokenListener.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/json/JsonTokenListener.class
new file mode 100644
index 0000000000..a1218aab12
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/json/JsonTokenListener.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/AbstractTokenListener.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/AbstractTokenListener.class
new file mode 100644
index 0000000000..ffdc7e5d9e
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/AbstractTokenListener.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.class
new file mode 100644
index 0000000000..efe272c652
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfMessageDecoder$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfMessageDecoder$1.class
new file mode 100644
index 0000000000..735da0864f
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfMessageDecoder$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfMessageDecoder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfMessageDecoder.class
new file mode 100644
index 0000000000..ba7ddb1ab6
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/OtfMessageDecoder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/TokenListener.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/TokenListener.class
new file mode 100644
index 0000000000..a8ab843c33
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/TokenListener.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/Types$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/Types$1.class
new file mode 100644
index 0000000000..21dadaab71
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/Types$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/Types.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/Types.class
new file mode 100644
index 0000000000..2b141d4130
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/otf/Types.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/util/ValidationUtil.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/util/ValidationUtil.class
new file mode 100644
index 0000000000..20b3d595c6
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/util/ValidationUtil.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/CompositeType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/CompositeType.class
new file mode 100644
index 0000000000..1371c43199
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/CompositeType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EncodedDataType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EncodedDataType.class
new file mode 100644
index 0000000000..367ce2c331
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EncodedDataType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EnumType$ValidValue.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EnumType$ValidValue.class
new file mode 100644
index 0000000000..aacfcd810e
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EnumType$ValidValue.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EnumType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EnumType.class
new file mode 100644
index 0000000000..0c8e51a995
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/EnumType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ErrorHandler.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ErrorHandler.class
new file mode 100644
index 0000000000..d027a440b5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ErrorHandler.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Field$Builder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Field$Builder.class
new file mode 100644
index 0000000000..3460d6f704
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Field$Builder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Field.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Field.class
new file mode 100644
index 0000000000..22291d48a3
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Field.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/IrGenerator$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/IrGenerator$1.class
new file mode 100644
index 0000000000..12f651294d
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/IrGenerator$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/IrGenerator.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/IrGenerator.class
new file mode 100644
index 0000000000..925743dd29
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/IrGenerator.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Message.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Message.class
new file mode 100644
index 0000000000..b3053d4d50
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Message.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/MessageSchema.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/MessageSchema.class
new file mode 100644
index 0000000000..ea40c2d091
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/MessageSchema.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions$1.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions$1.class
new file mode 100644
index 0000000000..3538f96fea
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions$1.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions$Builder.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions$Builder.class
new file mode 100644
index 0000000000..1b977ff613
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions$Builder.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions.class
new file mode 100644
index 0000000000..155a2f209a
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/ParserOptions.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Presence.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Presence.class
new file mode 100644
index 0000000000..37abb6ddd5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Presence.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/SetType$Choice.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/SetType$Choice.class
new file mode 100644
index 0000000000..7c35b0e3d5
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/SetType$Choice.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/SetType.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/SetType.class
new file mode 100644
index 0000000000..76b713879a
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/SetType.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Type.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Type.class
new file mode 100644
index 0000000000..4efe78f294
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/Type.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/XmlSchemaParser$NodeFunction.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/XmlSchemaParser$NodeFunction.class
new file mode 100644
index 0000000000..6bbbec6f7f
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/XmlSchemaParser$NodeFunction.class differ
diff --git a/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/XmlSchemaParser.class b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/XmlSchemaParser.class
new file mode 100644
index 0000000000..6bfd00de7e
Binary files /dev/null and b/sbe-tool/build/classes/java/main/uk/co/real_logic/sbe/xml/XmlSchemaParser.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/EncodedCarTestBase.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/EncodedCarTestBase.class
new file mode 100644
index 0000000000..93dd9c314b
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/EncodedCarTestBase.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TargetCodeGeneratorTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TargetCodeGeneratorTest.class
new file mode 100644
index 0000000000..74cc8e6b1f
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TargetCodeGeneratorTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TestTargetLanguage.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TestTargetLanguage.class
new file mode 100644
index 0000000000..889404e02b
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TestTargetLanguage.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TestUtil.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TestUtil.class
new file mode 100644
index 0000000000..0505dc1684
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/TestUtil.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/codec/java/TypesTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/codec/java/TypesTest.class
new file mode 100644
index 0000000000..1ce74caae3
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/codec/java/TypesTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/csharp/Issue567GroupSizeTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/csharp/Issue567GroupSizeTest.class
new file mode 100644
index 0000000000..c2378c22a9
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/csharp/Issue567GroupSizeTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/CompositeElementsGenerationTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/CompositeElementsGenerationTest.class
new file mode 100644
index 0000000000..321e010183
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/CompositeElementsGenerationTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ConstantCharArrayTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ConstantCharArrayTest.class
new file mode 100644
index 0000000000..9fb082d523
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ConstantCharArrayTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/GenerateFixBinaryTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/GenerateFixBinaryTest.class
new file mode 100644
index 0000000000..7c3e70f012
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/GenerateFixBinaryTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/JavaGeneratorTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/JavaGeneratorTest.class
new file mode 100644
index 0000000000..62864fc77c
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/JavaGeneratorTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/PackageOutputManagerTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/PackageOutputManagerTest.class
new file mode 100644
index 0000000000..c14a9a99ba
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/PackageOutputManagerTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ReflectionUtil.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ReflectionUtil.class
new file mode 100644
index 0000000000..4dcfccc2e3
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ReflectionUtil.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/SchemaExtensionTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/SchemaExtensionTest.class
new file mode 100644
index 0000000000..e5fda4d965
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/SchemaExtensionTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ToStringTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ToStringTest.class
new file mode 100644
index 0000000000..fb57a24cb8
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/java/ToStringTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManagerTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManagerTest.class
new file mode 100644
index 0000000000..e74b9e257b
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManagerTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustGeneratorTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustGeneratorTest.class
new file mode 100644
index 0000000000..27aeb06bf7
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustGeneratorTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustTest.class
new file mode 100644
index 0000000000..c208aa9fbd
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustUtilTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustUtilTest.class
new file mode 100644
index 0000000000..6cea32ea61
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/RustUtilTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/SingleStringOutputManager.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/SingleStringOutputManager.class
new file mode 100644
index 0000000000..db1f2d4c3f
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/generation/rust/SingleStringOutputManager.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/BasicXmlIrGenerationTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/BasicXmlIrGenerationTest.class
new file mode 100644
index 0000000000..9663fea44e
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/BasicXmlIrGenerationTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeElementsIrTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeElementsIrTest.class
new file mode 100644
index 0000000000..8c103b17d3
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeElementsIrTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeOffsetsTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeOffsetsTest.class
new file mode 100644
index 0000000000..9eeb0697cd
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeOffsetsTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeRefsTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeRefsTest.class
new file mode 100644
index 0000000000..a60aedd2f4
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/CompositeRefsTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/EncodedIrTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/EncodedIrTest.class
new file mode 100644
index 0000000000..8efc708772
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/EncodedIrTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/GroupWithDataIrTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/GroupWithDataIrTest.class
new file mode 100644
index 0000000000..b258057d8b
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/GroupWithDataIrTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/ValueRefsTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/ValueRefsTest.class
new file mode 100644
index 0000000000..366d997252
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/ir/ValueRefsTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/json/JsonPrinterTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/json/JsonPrinterTest.class
new file mode 100644
index 0000000000..0ef42282d5
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/json/JsonPrinterTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/BasicSchemaFileTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/BasicSchemaFileTest.class
new file mode 100644
index 0000000000..5de0817e28
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/BasicSchemaFileTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CompositeElementsTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CompositeElementsTest.class
new file mode 100644
index 0000000000..76674f11c1
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CompositeElementsTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CompositeTypeTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CompositeTypeTest.class
new file mode 100644
index 0000000000..f0f2d0265b
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CompositeTypeTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CyclicReferencesTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CyclicReferencesTest.class
new file mode 100644
index 0000000000..f4b191a61a
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/CyclicReferencesTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EmbeddedLengthAndCountFileTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EmbeddedLengthAndCountFileTest.class
new file mode 100644
index 0000000000..196b0da434
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EmbeddedLengthAndCountFileTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EncodedDataTypeTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EncodedDataTypeTest.class
new file mode 100644
index 0000000000..7e561701de
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EncodedDataTypeTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EnumTypeTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EnumTypeTest.class
new file mode 100644
index 0000000000..959ea72dff
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/EnumTypeTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/ErrorHandlerTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/ErrorHandlerTest.class
new file mode 100644
index 0000000000..95e4b6b4d7
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/ErrorHandlerTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/GroupWithDataTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/GroupWithDataTest.class
new file mode 100644
index 0000000000..8d5b839a01
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/GroupWithDataTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/OffsetFileTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/OffsetFileTest.class
new file mode 100644
index 0000000000..cf456ae704
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/OffsetFileTest.class differ
diff --git a/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/SetTypeTest.class b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/SetTypeTest.class
new file mode 100644
index 0000000000..cf6710014e
Binary files /dev/null and b/sbe-tool/build/classes/java/test/uk/co/real_logic/sbe/xml/SetTypeTest.class differ
diff --git a/sbe-tool/build/docs/javadoc/allclasses-frame.html b/sbe-tool/build/docs/javadoc/allclasses-frame.html
new file mode 100644
index 0000000000..7e6a5ed0e5
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/allclasses-frame.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/allclasses-noframe.html b/sbe-tool/build/docs/javadoc/allclasses-noframe.html
new file mode 100644
index 0000000000..90c7c0448e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/allclasses-noframe.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+所有类 (Simple Binary Encoding)
+
+
+
+
+
+所有类
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/constant-values.html b/sbe-tool/build/docs/javadoc/constant-values.html
new file mode 100644
index 0000000000..eb2a5c2bc4
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/constant-values.html
@@ -0,0 +1,1081 @@
+
+
+
+
+
+常量字段值 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
uk.co.*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.CompositeType
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+COMPOSITE_TYPE
+"composite"
+
+
+
+
+ public static final java.lang.String
+SUB_TYPES_EXP
+"type|enum|set|composite|ref"
+
+
+
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.EnumType
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+ENUM_TYPE
+"enum"
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.Field
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final int
+INVALID_ID
+2147483647
+
+
+
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.SetType
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+SET_TYPE
+"set"
+
+
+
+
+
+
+uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+限定符和类型
+常量字段
+值
+
+
+
+
+
+ public static final java.lang.String
+COMPOSITE_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/composite"
+
+
+
+
+ public static final java.lang.String
+ENUM_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/enum"
+
+
+
+
+ public static final java.lang.String
+ERROR_HANDLER_KEY
+"SbeErrorHandler"
+
+
+
+
+ public static final java.lang.String
+MESSAGE_SCHEMA_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']"
+
+
+
+
+ public static final java.lang.String
+MESSAGE_XPATH_EXPR
+"//*[local-name() = \'message\']"
+
+
+
+
+ public static final java.lang.String
+SET_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/set"
+
+
+
+
+ public static final java.lang.String
+TYPE_XPATH_EXPR
+"/*[local-name() = \'messageSchema\']/types/type"
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/deprecated-list.html b/sbe-tool/build/docs/javadoc/deprecated-list.html
new file mode 100644
index 0000000000..c1b52da8d2
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/deprecated-list.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+已过时的列表 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/help-doc.html b/sbe-tool/build/docs/javadoc/help-doc.html
new file mode 100644
index 0000000000..5e14929501
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/help-doc.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+API 帮助 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+概览
+概览 页面是此 API 文档的首页, 提供了所有程序包的列表及其概要。此页面也可能包含这些程序包的总体说明。
+
+
+程序包
+每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:
+
+接口 (斜体)
+类
+枚举
+异常错误
+错误
+注释类型
+
+
+
+类/接口
+每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:
+
+类继承图
+直接子类
+所有已知子接口
+所有已知实现类
+类/接口声明
+类/接口说明
+
+
+嵌套类概要
+字段概要
+构造器概要
+方法概要
+
+
+字段详细资料
+构造器详细资料
+方法详细资料
+
+每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。
+
+
+注释类型
+每个注释类型都有各自的页面, 其中包含以下部分:
+
+注释类型声明
+注释类型说明
+必需元素概要
+可选元素概要
+元素详细资料
+
+
+
+枚举
+每个枚举都有各自的页面, 其中包含以下部分:
+
+枚举声明
+枚举说明
+枚举常量概要
+枚举常量详细资料
+
+
+
+树 (类分层结构)
+对于所有程序包, 有一个类分层结构 页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从java.lang.Object
开始, 按继承结构对类进行排列。接口不从java.lang.Object
继承。
+
+查看“概览”页面时, 单击 "树" 将显示所有程序包的分层结构。
+查看特定程序包, 类或接口页面时, 单击 "树" 将仅显示该程序包的分层结构。
+
+
+
+已过时的 API
+已过时的 API 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。
+
+
+索引
+索引 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。
+
+
+上一个/下一个
+这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。
+
+
+框架/无框架
+这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。
+
+
+所有类
+所有类 链接显示所有类和接口 (除了非静态嵌套类型)。
+
+
+序列化表格
+每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。
+
+
+常量字段值
+常量字段值 页面列出了静态最终字段及其值。
+
+
+
此帮助文件适用于使用标准 doclet 生成的 API 文档。
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/index-all.html b/sbe-tool/build/docs/javadoc/index-all.html
new file mode 100644
index 0000000000..f872009444
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/index-all.html
@@ -0,0 +1,3690 @@
+
+
+
+
+
+索引 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W X
+
+
+
A
+
+AbstractTokenListener - uk.co.real_logic.sbe.otf 中的类
+
+Abstract
TokenListener
that can be extended when not all callback methods are required.
+
+AbstractTokenListener() - 类 的构造器uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+actingBlockLength - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+actingBlockLength - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+actingVersion - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+actingVersion - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+addMessage(long, List<Token>) - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Add a List of
Token
s for a given message id.
+
+append(StringBuilder, String, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Shortcut to append a line of generated code
+
+appendAsString(StringBuilder, DirectBuffer, int, Encoding) - 类 中的静态方法uk.co.real_logic.sbe.otf.Types
+
+Append an encoding as a String to a StringBuilder
.
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+appendTo(StringBuilder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+appendToGeneratedBuilder(StringBuilder, String, String) - 枚举 中的方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+Add separator to a generated StringBuilder
+
+applicableMaxValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The most applicable max value for the encoded type.
+
+applicableMinValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The most applicable min value for the encoded type.
+
+applicableNamespace() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the namespaceName to be used for generated code.
+
+applicableNullValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The most applicable null value for the encoded type.
+
+applicableTypeName() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Get the name of the type that should be applied in context.
+
+arrayLength() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The number of encoded primitives in this type.
+
+
+
+
+
+
B
+
+BI_MAX_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+BI_NULL_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+BLOCK_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+blockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLength(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLength() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+blockLength(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+blockLength() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the encodedLength of the
Message
in bytes including any padding.
+
+blockLengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+blockLengthSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+blockLengthType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+buffer() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+build() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+build() - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+build() - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+build() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.ir.Encoding.Builder
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.ir.Token.Builder
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.xml.Field.Builder
+
+builder() - 类 中的静态方法uk.co.real_logic.sbe.xml.ParserOptions
+
+Creates a builder.
+
+Builder() - 类 的构造器uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+BYTE_ORDER - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+byteArrayValue() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return byte array value for this PrimitiveValue.
+
+byteArrayValue(PrimitiveType) - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return byte array value for this PrimitiveValue given a particular type
+
+byteOrder(ByteOrder) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The ByteOrder
for this encoding.
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrder(ByteOrderCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+ByteOrder
for all types in the schema.
+
+byteOrder() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Return the byte order specified by the messageSchema
+
+ByteOrderCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+byteOrderEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+byteOrderSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+byteOrderSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+
+
+
+
+
C
+
+characterEncoding(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The character encoding for the token or null if not set.
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncoding(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+The character encoding of the byte array representation.
+
+characterEncoding() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The character encoding of the type
+
+characterEncodingCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+characterEncodingMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+characterEncodingSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+charset(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Code to fetch an instance of Charset
corresponding to the given encoding.
+
+checkForValidName(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Check name against validity for C++ and Java naming.
+
+checkForValidOffsets(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for any specified offsets and validate they are correctly specified.
+
+checkForWellFormedGroupSizeEncoding(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for being a well formed group encodedLength encoding.
+
+checkForWellFormedMessageHeader(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for being a well formed message headerStructure encoding.
+
+checkForWellFormedVariableLengthDataEncoding(Node) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Check the composite for being a well formed variable length data encoding.
+
+checkIfShouldExit() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+Check if the parser should exit.
+
+Choice(Node, PrimitiveType) - 类 的构造器uk.co.real_logic.sbe.xml.SetType.Choice
+
+Construct a Choice given the XML node and the encodingType
+
+choices() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+
+
+close() - 类 中的方法uk.co.real_logic.sbe.ir.IrDecoder
+
+close() - 类 中的方法uk.co.real_logic.sbe.ir.IrEncoder
+
+closingBraces(int) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+closingBraces(int) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+CodeGenerator - uk.co.real_logic.sbe.generation 中的接口
+
+Abstraction for code generators to implement.
+
+collect(Signal, List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+collectFields(List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+collectGroups(List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+collectMessageComponents(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.MessageComponents
+
+collectVarData(List<Token>, int, List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+componentTokenCount() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCount(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCount(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+componentTokenCount() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The number of tokens that make up this component.
+
+componentTokenCount(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Set the number of tokens this component has.
+
+componentTokenCountEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+componentTokenCountSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+componentTokenCountSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+COMPOSITE_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.CompositeType
+
+COMPOSITE_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+CompositeType - uk.co.real_logic.sbe.xml 中的类
+
+SBE compositeType.
+
+CompositeType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.CompositeType
+
+CompositeType(Node, String, String, List<String>) - 类 的构造器uk.co.real_logic.sbe.xml.CompositeType
+
+Construct a new compositeType from XML Schema.
+
+computedBlockLength(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+computedBlockLength() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+computedOffset(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+computedOffset() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+concatTokens(List<Token>, Signal, Function<Token, CharSequence>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+constVal() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The constant value of the type if specified
+
+constValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+constValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The constant value for the token or null if not set.
+
+constValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+constValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+constValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+CPP_NAMESPACES_COLLAPSE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to toggle collapsing of nested namespaces in generated C++ stubs.
+
+CppGenerator - uk.co.real_logic.sbe.generation.cpp 中的类
+
+CppGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+cppTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+
+
+CppUtil - uk.co.real_logic.sbe.generation.cpp 中的类
+
+Utilities for mapping between IR and the C++ language.
+
+CppUtil() - 类 的构造器uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager
+
+Create a new output which will be a C++98 source file in the given package.
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpNamespaceOutputManager
+
+Create a new output which will be a C# source file in the given package.
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangOutputManager
+
+Create a new output which will be a golang source file in the given package.
+
+createOutput(String) - 类 中的方法uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManager
+
+CSharp - uk.co.real_logic.sbe.generation.csharp 中的类
+
+CSharp() - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharp
+
+CSharpGenerator - uk.co.real_logic.sbe.generation.csharp 中的类
+
+CSharpGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+CSharpNamespaceOutputManager - uk.co.real_logic.sbe.generation.csharp 中的类
+
+OutputManager
for managing the creation of C# source files
+ as the target of code generation.
+
+CSharpNamespaceOutputManager(String, String) - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharpNamespaceOutputManager
+
+Create a new OutputManager
for generating C# source
+ files into a given package.
+
+cSharpTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+
+
+CSharpUtil - uk.co.real_logic.sbe.generation.csharp 中的类
+
+Utilities for mapping between IR and the C# language.
+
+CSharpUtil() - 类 的构造器uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+
+
+
+
+
D
+
+decode() - 类 中的方法uk.co.real_logic.sbe.ir.IrDecoder
+
+decode(DirectBuffer, int, int, int, List<Token>, TokenListener) - 类 中的静态方法uk.co.real_logic.sbe.otf.OtfMessageDecoder
+
+Decode a message from the provided buffer based on the message schema described with IR
Token
s.
+
+DECODE_UNKNOWN_ENUM_VALUES - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Should unknown enum values be decoded to support extension.
+
+DEFAULT - 类 中的静态变量uk.co.real_logic.sbe.xml.ParserOptions
+
+defaultRustGenerator(Ir, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.rust.Rust
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecated(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecated(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The version in which this context was deprecated.
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+deprecated(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Version in which message was deprecated.
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+deprecated() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Version in which type was deprecated.
+
+deprecatedEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+deprecatedSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+deprecatedSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+description() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+description(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+description(String) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+description() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Description for what the token is to be used for.
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+description(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+The description of the message (if set) or null
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The description of the schema.
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+The description of the bitset choice.
+
+description() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The description of the Type (if set) or null
+
+descriptionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+descriptionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+descriptionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+dimensionType(CompositeType) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+dimensionType() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+doubleValue() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return double value for this PrimitiveValue.
+
+
+
+
+
+
E
+
+EMPTY_BUFFER - 类 中的静态变量uk.co.real_logic.sbe.ir.IrUtil
+
+encode() - 类 中的方法uk.co.real_logic.sbe.ir.IrEncoder
+
+ENCODED_DATA_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.EncodedDataType
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+ENCODED_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+EncodedDataType - uk.co.real_logic.sbe.xml 中的类
+
+SBE encodedDataType
+
+EncodedDataType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.EncodedDataType
+
+Construct a new encodedDataType from XML Schema.
+
+EncodedDataType(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.EncodedDataType
+
+Construct a new encodedDataType from XML Schema.
+
+EncodedDataType(String, Presence, String, String, PrimitiveType, int, boolean) - 类 的构造器uk.co.real_logic.sbe.xml.EncodedDataType
+
+Construct a new EncodedDataType with direct values.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The encodedLength of this token in bytes.
+
+encodedLength(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Set the encoded length for this node.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+The encodedLength of the message header in bytes.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+The encodedLength (in octets) of the list of EncodedDataTypes
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The encodedLength (in octets) of the encoding as length of the primitiveType times its count.
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+The encodedLength (in octets) of the encodingType
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+The encodedLength (in octets) of the encodingType
+
+encodedLength() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The encodedLength (in octets) of the Type.
+
+Encoding - uk.co.real_logic.sbe.ir 中的类
+
+Optional encoding settings that can be associated with
Token
s.
+
+Encoding() - 类 的构造器uk.co.real_logic.sbe.ir.Encoding
+
+Encoding(Encoding.Presence, PrimitiveType, ByteOrder, PrimitiveValue, PrimitiveValue, PrimitiveValue, PrimitiveValue, String, String, String, String) - 类 的构造器uk.co.real_logic.sbe.ir.Encoding
+
+encoding(Encoding) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+encoding() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+
+
+Encoding.Builder - uk.co.real_logic.sbe.ir 中的类
+
+Builder to make
Encoding
easier to create.
+
+Encoding.Presence - uk.co.real_logic.sbe.ir 中的枚举
+
+Indicates the presence status of a primitive encoded field in a message.
+
+encodingType() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+
+
+encodingType() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+The encoding type of the bitset to be used on the wire.
+
+ENUM_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.EnumType
+
+ENUM_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+EnumType - uk.co.real_logic.sbe.xml 中的类
+
+SBE enumType
+
+EnumType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.EnumType
+
+EnumType(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.EnumType
+
+Construct a new enumType from XML Schema.
+
+EnumType.ValidValue - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold valid values for EnumType
+
+epoch(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+epoch() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The epoch from which a timestamp is offset.
+
+epoch() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epoch(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epoch(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+epoch() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+epochCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+epochMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+epochSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+equals(Object) - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Determine if two values are equivalent.
+
+error(String) - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+Record a message signifying an error condition.
+
+ERROR_HANDLER_KEY - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+
+
+errorCount() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+The count of errors encountered.
+
+ErrorHandler - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold error handling state while parsing an XML message schema.
+
+ErrorHandler(PrintStream, ParserOptions) - 类 的构造器uk.co.real_logic.sbe.xml.ErrorHandler
+
+Construct a new
ErrorHandler
that outputs to a provided
PrintStream
.
+
+ErrorHandler(ParserOptions) - 类 的构造器uk.co.real_logic.sbe.xml.ErrorHandler
+
+
+
+
+
+
+
+
F
+
+Field - uk.co.real_logic.sbe.xml 中的类
+
+Holder for Field (or Group or Data) information
+
+Field(String, String, int, Type, int, String, Presence, String, int, CompositeType, boolean, int, int, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.Field
+
+Field.Builder - uk.co.real_logic.sbe.xml 中的类
+
+fieldId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fieldIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+fieldIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+fields - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+fields() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the list of fields in the message
+
+findEndSignal(List<Token>, int, Signal, String) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+findFirst(String, List<Token>, int) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+Find the first token with a given name from an index inclusive.
+
+findMessages(Document, XPath, Map<String, Type>) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Scan XML for all message definitions and save in map
+
+findSubGroupNames(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+findTypes(Document, XPath) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Scan XML for all types (encodedDataType, compositeType, enumType, and setType) and save in map
+
+forEachField(List<Token>, BiConsumer<Token, Token>) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+For each field found in a list of field
Token
s take the field token and following type token to
+ a
BiConsumer
.
+
+formatByteOrderEncoding(ByteOrder, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Return the Cpp98 formatted byte order encoding string to use for a given byte order and primitiveType
+
+formatByteOrderEncoding(ByteOrder, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Return the Golang formatted byte order encoding string to use for a given byte order and primitiveType
+
+formatClassName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Format a String as a class name.
+
+formatClassName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Format a String as a class name.
+
+formatClassName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Format a class name for the generated code.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Format a String as a property name.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Format a String as a property name.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Format a String as a property name.
+
+formatPropertyName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Format a property name for generated code.
+
+formatTypeName(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Format a String as a type name.
+
+FrameCodecDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Frame Header for start of encoding IR
+
+FrameCodecDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+FrameCodecEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Frame Header for start of encoding IR
+
+FrameCodecEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+
+
+
+
+
G
+
+gatherNamedNonConstantFieldTokens(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.generation.NamedToken
+
+generate() - 接口 中的方法uk.co.real_logic.sbe.generation.CodeGenerator
+
+Generate the complete set of types and messages for a schema.
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+generate() - 类 中的方法uk.co.real_logic.sbe.generation.rust.RustGenerator
+
+generate(Ir, String, String) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Generate SBE encoding and decoding stubs for a target language.
+
+generate(MessageSchema, String) - 类 中的方法uk.co.real_logic.sbe.xml.IrGenerator
+
+Generate a complete
Ir
for a given schema.
+
+generate(MessageSchema) - 类 中的方法uk.co.real_logic.sbe.xml.IrGenerator
+
+Generate a complete
Ir
for a given schema.
+
+GENERATE_IR - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to turn on or off generation of IR.
+
+GENERATE_STUBS - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to turn on or off generation of stubs.
+
+generateFileFromTemplate(String, String) - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generateFlyweightPropertyJavadoc(String, Token, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for flyweight property.
+
+generateGroupEncodePropertyJavadoc(String, Token, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for group encode property.
+
+generateLiteral(PrimitiveType, String) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate a literal value to be used in code generation.
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generateMessageHeaderStub() - 类 中的方法uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+generateOptionDecodeJavadoc(String, Token) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for a bitset choice option decode method.
+
+generateOptionEncodeJavadoc(String, Token) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for a bitset choice option encode method.
+
+generateTypeJavadoc(String, Token) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+Generate the Javadoc comment header for a type.
+
+generateTypesToIncludes(List<Token>) - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+generateTypeStubs() - 类 中的方法uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+GenerationUtil - uk.co.real_logic.sbe.ir 中的类
+
+Common code generation utility functions to be used by the different language specific backends.
+
+GenerationUtil() - 类 的构造器uk.co.real_logic.sbe.ir.GenerationUtil
+
+Generators - uk.co.real_logic.sbe.generation 中的类
+
+Generators() - 类 的构造器uk.co.real_logic.sbe.generation.Generators
+
+get(String) - 枚举 中的静态方法uk.co.real_logic.sbe.generation.TargetCodeGeneratorLoader
+
+Do a case insensitive lookup of a target language for code generation.
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+get(short) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+get(DirectBuffer, PrimitiveType, int) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+get(String) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+Lookup PrimitiveType by String name and return Enum.
+
+get(String) - 枚举 中的静态方法uk.co.real_logic.sbe.xml.Presence
+
+Lookup Presence name and return enum.
+
+getAttributeValue(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function that throws an exception when the attribute is not set.
+
+getAttributeValue(Node, String, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function that uses a default value when value not set.
+
+getAttributeValueOrNull(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function that hides the null return from NamedNodeMap.getNamedItem(String)
+
+getBlockLength(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the block length of the root block in the message.
+
+getByteOrder(String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Helper function to convert a schema byteOrderName into a ByteOrder
+
+getBytes(String, String) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+getCharacterEncoding(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getCharacterEncoding(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getChoice(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+
+
+getChoice(String) - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+
+
+getConstValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getConstValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getDescription(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getDescription(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getEpoch(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getEpoch(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getInt(DirectBuffer, int, PrimitiveType, ByteOrder) - 类 中的静态方法uk.co.real_logic.sbe.otf.Types
+
+Get an integer value from a buffer at a given index for a
PrimitiveType
.
+
+getLong(DirectBuffer, int, Encoding) - 类 中的静态方法uk.co.real_logic.sbe.otf.Types
+
+Get a long value from a buffer at a given index for a given
Encoding
.
+
+getMaxValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getMaxValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getMessage(long) - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the getMessage for a given identifier.
+
+getMessage(long) - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Return a given
Message
object with the given messageId.
+
+getMessageBody(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.GenerationUtil
+
+getMinValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getMinValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getNamespaceName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getNamespaceName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getNullValue(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getNullValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getPackageName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getPackageName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getReferencedName(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getReferencedName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getSchemaId(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the schema id number from the message header.
+
+getSchemaVersion(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the schema version number from the message header.
+
+getSemanticType(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getSemanticType(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getSemanticVersion(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getSemanticVersion(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+getTemplateId(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Get the template id from the message header.
+
+getTimeUnit(MutableDirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getTimeUnit(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+getType(String) - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the type representation for a given type name.
+
+getType(String) - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Return the EncodedDataType within this composite with the given name
+
+getType(String) - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Get the
Type
for a given name.
+
+getTypeList() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Return list of the
Type
s that compose this composite
+
+getValidValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+
+
+getValidValue(String) - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+
+
+GolangGenerator - uk.co.real_logic.sbe.generation.golang 中的类
+
+GolangGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+golangMarshalType(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Map the name of a
PrimitiveType
to a Golang marhsalling function name.
+
+GolangOutputManager - uk.co.real_logic.sbe.generation.golang 中的类
+
+OutputManager
for managing the creation of golang source files as the target of code generation.
+
+GolangOutputManager(String, String) - 类 的构造器uk.co.real_logic.sbe.generation.golang.GolangOutputManager
+
+Create a new OutputManager
for generating golang source files into a given package.
+
+golangTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+
+
+GolangUtil - uk.co.real_logic.sbe.generation.golang 中的类
+
+Utilities for mapping between IR and the Golang language.
+
+GolangUtil() - 类 的构造器uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+groupFields(List<Field>) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+groupFields() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+GroupOrder - uk.co.real_logic.sbe.codec.java 中的注释类型
+
+Group order for repeating groups in encoded messages.
+
+groups - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+
+
+
+
+
H
+
+handleError(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Handle an error condition as consequence of parsing.
+
+handleWarning(Node, String) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Handle a warning condition as a consequence of parsing.
+
+hashCode() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return hashCode for value.
+
+HEADER_TYPE_DEFAULT - 类 中的静态变量uk.co.real_logic.sbe.xml.MessageSchema
+
+HeaderStructure - uk.co.real_logic.sbe.ir 中的类
+
+Metadata description for a message headerStructure
+
+HeaderStructure(List<Token>) - 类 的构造器uk.co.real_logic.sbe.ir.HeaderStructure
+
+headerStructure() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+
+
+
+
+
+
+
I
+
+id() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the id number of the schema.
+
+id(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+id() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Return the ID of the token assigned by the specification
+
+id(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+id() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+id() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the template schemaId of the message
+
+id() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The id number of the schema.
+
+INVALID_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.Token
+
+Invalid ID value.
+
+INVALID_ID - 类 中的静态变量uk.co.real_logic.sbe.xml.Field
+
+Ir - uk.co.real_logic.sbe.ir 中的类
+
+Intermediate representation of SBE messages to be used for the generation of encoders and decoders
+ as stubs in various languages.
+
+Ir(String, String, int, int, String, ByteOrder, List<Token>) - 类 的构造器uk.co.real_logic.sbe.ir.Ir
+
+Create a new IR container taking a defensive copy of the headerStructure
Token
s passed.
+
+IrDecoder - uk.co.real_logic.sbe.ir 中的类
+
+IrDecoder(String) - 类 的构造器uk.co.real_logic.sbe.ir.IrDecoder
+
+IrDecoder(ByteBuffer) - 类 的构造器uk.co.real_logic.sbe.ir.IrDecoder
+
+IrEncoder - uk.co.real_logic.sbe.ir 中的类
+
+IrEncoder(String, Ir) - 类 的构造器uk.co.real_logic.sbe.ir.IrEncoder
+
+IrEncoder(ByteBuffer, Ir) - 类 的构造器uk.co.real_logic.sbe.ir.IrEncoder
+
+IrGenerator - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold the state while generating the
Ir
.
+
+IrGenerator() - 类 的构造器uk.co.real_logic.sbe.xml.IrGenerator
+
+irId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+IrUtil - uk.co.real_logic.sbe.ir 中的类
+
+IrUtil() - 类 的构造器uk.co.real_logic.sbe.ir.IrUtil
+
+irVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersion(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+irVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+irVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+isConstantEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+isCppKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+isCSharpKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+isGolangKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+isJavaKeyword(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+Is this token a Java keyword?
+
+isOptionalEncoding() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+isSbeCppName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+Check value for validity of usage as a C++ identifier.
+
+isSbeCSharpName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+"Check" value for validity of usage as a csharp identifier.
+
+isSbeGolangName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+"Check" value for validity of usage as a golang identifier.
+
+isSbeJavaName(String) - 类 中的静态方法uk.co.real_logic.sbe.util.ValidationUtil
+
+Check string for validity of usage as a Java identifier.
+
+isUnsigned(PrimitiveType) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+Is the type an unsigned type like in C.
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Return the variableLength attribute of the type
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+isVariableLength() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+
+
+
+
+
J
+
+JAVA_DECODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Specifies the name of the Java read only buffer to wrap.
+
+JAVA_DEFAULT_DECODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Default class to use as the buffer read only implementation in generated code.
+
+JAVA_DEFAULT_ENCODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Default class to use as the buffer mutable implementation in generated code.
+
+JAVA_ENCODING_BUFFER_TYPE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Specifies the name of the Java mutable buffer to wrap.
+
+JAVA_GENERATE_INTERFACES - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to turn on or off generation of the interface hierarchy.
+
+JAVA_GROUP_ORDER_ANNOTATION - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Should the
GroupOrder
annotation be added to generated stubs.
+
+JAVA_INTERFACE_PACKAGE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Package in which the generated Java interfaces will be placed.
+
+JavaGenerator - uk.co.real_logic.sbe.generation.java 中的类
+
+JavaGenerator(Ir, String, String, boolean, boolean, boolean, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+javaTypeName(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil
+
+
+
+JavaUtil - uk.co.real_logic.sbe.generation.java 中的类
+
+Utilities for mapping between IR and the Java language.
+
+JavaUtil() - 类 的构造器uk.co.real_logic.sbe.generation.java.JavaUtil
+
+JavaUtil.Separators - uk.co.real_logic.sbe.generation.java 中的枚举
+
+JsonPrinter - uk.co.real_logic.sbe.json 中的类
+
+Pretty Print Json based upon the given Ir.
+
+JsonPrinter(Ir) - 类 的构造器uk.co.real_logic.sbe.json.JsonPrinter
+
+JsonTokenListener - uk.co.real_logic.sbe.json 中的类
+
+JsonTokenListener(StringBuilder) - 类 的构造器uk.co.real_logic.sbe.json.JsonTokenListener
+
+
+
+
+
+
K
+
+KEYWORD_APPEND_TOKEN - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Specifies token that should be appended to keywords to avoid compilation errors.
+
+
+
+
+
+
L
+
+length() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+length(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+length() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Return the length attribute of the type
+
+lengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+lengthNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+lengthSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+limit - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+limit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+limit(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+longValue() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return long value for this PrimitiveValue
+
+
+
+
+
+
M
+
+main(String[]) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Main entry point for the SBE Tool.
+
+makeDataFieldCompositeType() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+Make this composite type, if it has a varData member, variable length
+ by making the EncodedDataType with the name "varData" be variable length.
+
+mapByteOrder(ByteOrder) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapByteOrder(ByteOrderCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPresence(PresenceCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPresence(Encoding.Presence) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPrimitiveType(PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapPrimitiveType(PrimitiveTypeCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapSignal(Signal) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+mapSignal(SignalCodec) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+matchOnLength(Supplier<CharSequence>, Supplier<CharSequence>) - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Match which approach to take based on the length of the token.
+
+MAX_VALUE_CHAR - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_DOUBLE - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_FLOAT - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_INT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MAX_VALUE_UINT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+maxValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+maxValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The max value for the token or null if not set.
+
+maxValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValue() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The maxValue of the primitive type.
+
+maxValue() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The maxValue of the type
+
+maxValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+maxValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+maxValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+Message - uk.co.real_logic.sbe.xml 中的类
+
+An SBE message containing a list of
Field
objects and SBE message attributes.
+
+Message(Node, Map<String, Type>) - 类 的构造器uk.co.real_logic.sbe.xml.Message
+
+Construct a new message from XML Schema.
+
+MESSAGE_HEADER_DECODER_TYPE - 接口 中的静态变量uk.co.real_logic.sbe.generation.CodeGenerator
+
+MESSAGE_HEADER_ENCODER_TYPE - 接口 中的静态变量uk.co.real_logic.sbe.generation.CodeGenerator
+
+Class name to be used for visitor pattern that accesses the message headerStructure.
+
+MESSAGE_SCHEMA_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+MESSAGE_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+MessageComponents - uk.co.real_logic.sbe.ir 中的类
+
+MessageComponents(Token, List<Token>, List<Token>, List<Token>) - 类 的构造器uk.co.real_logic.sbe.ir.MessageComponents
+
+messageHeader() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The Schema headerType for message headers.
+
+MessageHeaderDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Message identifiers and length of message root
+
+MessageHeaderDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+MessageHeaderEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Message identifiers and length of message root
+
+MessageHeaderEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+messages() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+The Collection
of messages in this schema.
+
+messages() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+Get the
Collection
of
Message
s for this Schema.
+
+MessageSchema - uk.co.real_logic.sbe.xml 中的类
+
+Message schema composite for schema attributes, messageHeader, and reference for multiple
Message
objects.
+
+MessageSchema(Node, Map<String, Type>, Map<Long, Message>) - 类 的构造器uk.co.real_logic.sbe.xml.MessageSchema
+
+messageToken - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+MetaAttribute - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+MethodSelector - uk.co.real_logic.sbe.codec.java 中的类
+
+MethodSelector(Set<String>) - 类 的构造器uk.co.real_logic.sbe.codec.java.MethodSelector
+
+MIN_VALUE_CHAR - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_DOUBLE - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_FLOAT - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_INT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+MIN_VALUE_UINT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+minValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+minValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The min value for the token or null if not set.
+
+minValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValue() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The minValue of the primitive type.
+
+minValue() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The minValue of the type
+
+minValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+minValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+minValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
N
+
+name() - 类 中的方法uk.co.real_logic.sbe.generation.NamedToken
+
+name() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+name(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+name(String) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+name() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Return the name of the token
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+name(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+Return the name of the message
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+The String name representation of the bitset choice.
+
+name() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Return the name of the type
+
+nameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+NamedToken - uk.co.real_logic.sbe.generation 中的类
+
+NamedToken(String, Token) - 类 的构造器uk.co.real_logic.sbe.generation.NamedToken
+
+nameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+namespaceName() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceName(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceName() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the namespaceName to be used for generated code.
+
+namespaceNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+namespaceNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+namespaceNameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+NamespaceOutputManager - uk.co.real_logic.sbe.generation.cpp 中的类
+
+OutputManager
for managing the creation of C++98 source files as the target of code generation.
+
+NamespaceOutputManager(String, String) - 类 的构造器uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager
+
+Create a new OutputManager
for generating C++98 source files into a given package.
+
+namespaces() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the namespaces array to be used for generated code.
+
+newInstance(Ir, String) - 类 中的方法uk.co.real_logic.sbe.generation.csharp.CSharp
+
+newInstance(Ir, String) - 类 中的方法uk.co.real_logic.sbe.generation.rust.Rust
+
+newInstance(Ir, String) - 接口 中的方法uk.co.real_logic.sbe.generation.TargetCodeGenerator
+
+
+
+NULL_VALUE_CHAR - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_DOUBLE - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_FLOAT - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_INT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT16 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT32 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT64 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+NULL_VALUE_UINT8 - 类 中的静态变量uk.co.real_logic.sbe.PrimitiveValue
+
+nullValue(PrimitiveValue) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The null value for the token or null if not set.
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValue(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValue() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The nullValue of the primitive type.
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+The nullValue of the type
+
+nullValue() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+The nullValue of the type
+
+nullValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+nullValueMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+nullValueSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
O
+
+objectAndIteratorMethods() - 类 中的静态方法uk.co.real_logic.sbe.codec.java.MethodSelector
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+offset - 类 中的变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+offset(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The offset for this token in the message.
+
+offset(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+offset() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+offsetAttribute() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Return the offset attribute of the
Type
from the schema
+
+offsetAttribute(int) - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Set the offset attribute of the
Type
from the schema
+
+onBeginComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBeginComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBeginComposite(Token, List<Token>, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Beginning of Composite encoded type encountered.
+
+onBeginGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBeginGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBeginGroup(Token, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Beginning of group encoded type encountered.
+
+onBeginMessage(Token) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBeginMessage(Token) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBeginMessage(Token) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Called on beginning the decoding of a message.
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onBitSet(Token, DirectBuffer, int, List<Token>, int, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+BitSet encoded type encountered.
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEncoding(Token, DirectBuffer, int, Token, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Primitive encoded type encountered.
+
+onEndComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEndComposite(Token, List<Token>, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEndComposite(Token, List<Token>, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+End of Composite encoded type encountered.
+
+onEndGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEndGroup(Token, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEndGroup(Token, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+End of group encoded type encountered.
+
+onEndMessage(Token) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEndMessage(Token) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEndMessage(Token) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Called on end of decoding of a message.
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onEnum(Token, DirectBuffer, int, List<Token>, int, int, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Enum encoded type encountered.
+
+onGroupHeader(Token, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onGroupHeader(Token, int) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onGroupHeader(Token, int) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Group encountered.
+
+onVarData(Token, DirectBuffer, int, int, Token) - 类 中的方法uk.co.real_logic.sbe.json.JsonTokenListener
+
+onVarData(Token, DirectBuffer, int, int, Token) - 类 中的方法uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+onVarData(Token, DirectBuffer, int, int, Token) - 接口 中的方法uk.co.real_logic.sbe.otf.TokenListener
+
+Var data field encountered.
+
+OtfHeaderDecoder - uk.co.real_logic.sbe.otf 中的类
+
+Used to decode a message header while doing on-the-fly decoding of a message stream.
+
+OtfHeaderDecoder(HeaderStructure) - 类 的构造器uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+Read the message header structure and cache the meta data for finding the key fields for decoding messages.
+
+OtfMessageDecoder - uk.co.real_logic.sbe.otf 中的类
+
+On-the-fly decoder that dynamically decodes messages based on the IR for a schema.
+
+OtfMessageDecoder() - 类 的构造器uk.co.real_logic.sbe.otf.OtfMessageDecoder
+
+OUTPUT_DIR - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Output directory for generated code.
+
+
+
+
+
+
P
+
+packageName() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageName(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageName() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the package name to be used for generated code.
+
+packageName() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The package name for the schema.
+
+packageNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+packageNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+packageNameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+parse(String, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.PrimitiveValue
+
+Parse constant value string and set representation based on type
+
+parse(String, PrimitiveType, String) - 类 中的静态方法uk.co.real_logic.sbe.PrimitiveValue
+
+Parse constant value string and set representation based on type
+
+parse(String, int, String) - 类 中的静态方法uk.co.real_logic.sbe.PrimitiveValue
+
+Parse constant value string and set representation based on type, length, and characterEncoding
+
+parse(InputStream, ParserOptions) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Take an InputStream
and parse it generating map of template ID to Message objects, types, and schema.
+
+ParserOptions - uk.co.real_logic.sbe.xml 中的类
+
+Class to hold the values of the parsing options.
+
+ParserOptions.Builder - uk.co.real_logic.sbe.xml 中的类
+
+parseSchema(String) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Parse the message schema specification.
+
+presence(Encoding.Presence) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+presence() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+Indicates the presence status of a field in a message.
+
+presence(Encoding.Presence) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+
+
+presence() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presence(PresenceCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presence(Presence) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+presence() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+Presence - uk.co.real_logic.sbe.xml 中的枚举
+
+Presence attribute values for a
Type
applied to a
Field
.
+
+presence() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Return the presence of the type
+
+PresenceCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+presenceEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+presenceSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+presenceSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveName() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The name of the primitive type as a String.
+
+primitiveType(PrimitiveType) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+primitiveType() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+
+
+primitiveType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveType(PrimitiveTypeCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+PrimitiveType - uk.co.real_logic.sbe 中的枚举
+
+Primitive types from which all other types are composed.
+
+primitiveType() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Return the primitiveType attribute of the type
+
+PrimitiveTypeCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+primitiveTypeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+primitiveTypeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+primitiveTypeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+PrimitiveValue - uk.co.real_logic.sbe 中的类
+
+Class used to encapsulate values for primitives.
+
+PrimitiveValue(long, int) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a long.
+
+PrimitiveValue(byte, String) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a long.
+
+PrimitiveValue(double, int) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a double.
+
+PrimitiveValue(byte[], String, int) - 类 的构造器uk.co.real_logic.sbe.PrimitiveValue
+
+Construct and fill in value as a byte array.
+
+primitiveValue() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+primitiveValue() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+PrimitiveValue.Representation - uk.co.real_logic.sbe 中的枚举
+
+print(ByteBuffer, StringBuilder) - 类 中的方法uk.co.real_logic.sbe.json.JsonPrinter
+
+print(StringBuilder, UnsafeBuffer, int) - 类 中的方法uk.co.real_logic.sbe.json.JsonPrinter
+
+print(ByteBuffer) - 类 中的方法uk.co.real_logic.sbe.json.JsonPrinter
+
+put(MutableDirectBuffer, PrimitiveValue, PrimitiveType) - 类 中的静态方法uk.co.real_logic.sbe.ir.IrUtil
+
+putCharacterEncoding(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putCharacterEncoding(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putConstValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putConstValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putDescription(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putDescription(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putEpoch(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putEpoch(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMaxValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMaxValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMinValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putMinValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putNamespaceName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putNamespaceName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putNullValue(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putNullValue(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putPackageName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putPackageName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putReferencedName(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putReferencedName(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putSemanticType(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putSemanticType(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putSemanticVersion(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putSemanticVersion(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+putTimeUnit(DirectBuffer, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+putTimeUnit(byte[], int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+
+
+
+
+
R
+
+referencedName() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedName(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedName(String) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+referencedName() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Get the name of the type when this is from a reference.
+
+referencedName() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+Get the name of the type field is from a reference.
+
+referencedNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+referencedNameMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+referencedNameSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+representation() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+
+
+Rust - uk.co.real_logic.sbe.generation.rust 中的类
+
+This class is present largely to enable the dynamic-loading style pattern
+ of specifying a TargetCodeGenerator Java class name rather than the language
+ name.
+
+Rust() - 类 的构造器uk.co.real_logic.sbe.generation.rust.Rust
+
+RustFlatFileOutputManager - uk.co.real_logic.sbe.generation.rust 中的类
+
+RustGenerator - uk.co.real_logic.sbe.generation.rust 中的类
+
+RustGenerator(Ir, OutputManager) - 类 的构造器uk.co.real_logic.sbe.generation.rust.RustGenerator
+
+RustUtil - uk.co.real_logic.sbe.generation.rust 中的类
+
+RustUtil() - 类 的构造器uk.co.real_logic.sbe.generation.rust.RustUtil
+
+
+
+
+
+
S
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeBlockLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+sbeSchemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+sbeSchemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeSemanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+sbeTemplateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+SbeTool - uk.co.real_logic.sbe 中的类
+
+A tool for running the SBE parser, validator, and code generator.
+
+SbeTool() - 类 的构造器uk.co.real_logic.sbe.SbeTool
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+SCHEMA_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+SCHEMA_VERSION - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+schemaId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+schemaIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+schemaIdType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+schemaVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersion(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+schemaVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+schemaVersionType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+select(Class<?>) - 类 中的方法uk.co.real_logic.sbe.codec.java.MethodSelector
+
+semanticType(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The semantic type of an encoding which can have relevance to the application layer.
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticType(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticType(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+The semanticType of the message (if set) or null
+
+semanticType() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The semanticType of the Type
+
+semanticTypeCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticTypeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+semanticTypeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+semanticVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersion(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersion() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the semantic version of the schema.
+
+semanticVersion() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The semantic version number of the schema.
+
+semanticVersionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+semanticVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+semanticVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+SET_TYPE - 类 中的静态变量uk.co.real_logic.sbe.xml.SetType
+
+SET_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+SetType - uk.co.real_logic.sbe.xml 中的类
+
+SBE setType representing a bitset of options.
+
+SetType(Node) - 类 的构造器uk.co.real_logic.sbe.xml.SetType
+
+SetType(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.SetType
+
+Construct a new SetType from XML Schema.
+
+SetType.Choice - uk.co.real_logic.sbe.xml 中的类
+
+Holder for valid values for EnumType
+
+signal() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signal(SignalCodec) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+Signal - uk.co.real_logic.sbe.ir 中的枚举
+
+Signal the
Token
role within a stream of tokens.
+
+signal(Signal) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+signal() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+Signal the role of this token.
+
+SignalCodec - uk.co.real_logic.sbe.ir.generated 中的枚举
+
+signalEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+signalSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+signalSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+sinceVersion(int) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+The version since this was added to the template.
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+sinceVersion() - 类 中的方法uk.co.real_logic.sbe.xml.Type
+
+The version since this was added to the template.
+
+size(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+size() - 枚举 中的方法uk.co.real_logic.sbe.PrimitiveType
+
+The encodedLength of the primitive type in octets.
+
+size() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return encodedLength for this PrimitiveValue for serialization purposes.
+
+stopOnError() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+The value of the stopOnError parameter.
+
+stopOnError(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the value of the stopOnError parameter.
+
+stopOnError() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+The value of the stopOnError parameter.
+
+SUB_TYPES_EXP - 类 中的静态变量uk.co.real_logic.sbe.xml.CompositeType
+
+suppressOutput() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+The value of the suppressOutput parameter.
+
+suppressOutput(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the value for the suppressOutput parameter.
+
+suppressOutput() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+The value of the suppressOutput parameter.
+
+symbol - 枚举 中的变量uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+
+
+
+
+
T
+
+TARGET_LANGUAGE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Target language for generated code.
+
+TARGET_NAMESPACE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+String system property of the namespace for generated code.
+
+TargetCodeGenerator - uk.co.real_logic.sbe.generation 中的接口
+
+Target a code generator for a given language.
+
+TargetCodeGeneratorLoader - uk.co.real_logic.sbe.generation 中的枚举
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+TEMPLATE_ID - 类 中的静态变量uk.co.real_logic.sbe.ir.HeaderStructure
+
+templateId() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateId(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+templateIdSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+templateIdType() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+timeUnit(String) - 类 中的方法uk.co.real_logic.sbe.ir.Encoding.Builder
+
+timeUnit() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+The time unit of the timestamp.
+
+timeUnit() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnit(String) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnit(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+timeUnit() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+timeUnitCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitCharacterEncoding() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitHeaderLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitLength() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+timeUnitMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+timeUnitSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+Token - uk.co.real_logic.sbe.ir 中的类
+
+Class to encapsulate a token of information for the message schema stream.
+
+Token(Signal, String, String, String, int, int, int, int, int, int, Encoding) - 类 的构造器uk.co.real_logic.sbe.ir.Token
+
+Construct an
Token
by providing values for all fields.
+
+Token.Builder - uk.co.real_logic.sbe.ir 中的类
+
+TokenCodecDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Codec for an IR Token
+
+TokenCodecDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+TokenCodecEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+Codec for an IR Token
+
+TokenCodecEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+TokenListener - uk.co.real_logic.sbe.otf 中的接口
+
+Callback interface to be implemented by code wanting to decode messages on-the-fly.
+
+tokenOffset() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffset(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenOffsetSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenOffsetSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokens() - 类 中的方法uk.co.real_logic.sbe.ir.HeaderStructure
+
+tokenSize() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSize(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenSizeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenSizeSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersion() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersion(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionId() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionMetaAttribute(MetaAttribute) - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+tokenVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+tokenVersionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Lowercase the first character of a given String.
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Lowercase the first character of a given String.
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+Lowercase the first character of a given String.
+
+toLowerFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Lowercase the first character of a given String.
+
+toString() - 枚举 中的方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.Encoding
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+toString() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+toString() - 类 中的方法uk.co.real_logic.sbe.PrimitiveValue
+
+Return String representation of this object
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.CompositeType
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.Message
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.SetType.Choice
+
+toString() - 类 中的方法uk.co.real_logic.sbe.xml.SetType
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+Uppercase the first character of a given String.
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+Uppercase the first character of a given String.
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.Generators
+
+Uppercase the first character of a given String.
+
+toUpperFirstChar(String) - 类 中的静态方法uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+Uppercase the first character of a given String.
+
+type(Type) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+type() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+Type - uk.co.real_logic.sbe.xml 中的类
+
+An SBE type.
+
+Type(Node, String, String) - 类 的构造器uk.co.real_logic.sbe.xml.Type
+
+Construct a new Type from XML Schema.
+
+Type(String, Presence, String, int, int, String) - 类 的构造器uk.co.real_logic.sbe.xml.Type
+
+Construct a new Type from direct values.
+
+TYPE_XPATH_EXPR - 类 中的静态变量uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+types() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the Collection
of types in for this schema.
+
+Types - uk.co.real_logic.sbe.otf 中的类
+
+Utility functions for applying to types to help with on-the-fly (OTF) decoding.
+
+Types() - 类 的构造器uk.co.real_logic.sbe.otf.Types
+
+typeToken() - 类 中的方法uk.co.real_logic.sbe.generation.NamedToken
+
+
+
+
+
+
U
+
+uk.co.real_logic.sbe - 程序包 uk.co.real_logic.sbe
+
+uk.co.real_logic.sbe.codec.java - 程序包 uk.co.real_logic.sbe.codec.java
+
+uk.co.real_logic.sbe.generation - 程序包 uk.co.real_logic.sbe.generation
+
+uk.co.real_logic.sbe.generation.cpp - 程序包 uk.co.real_logic.sbe.generation.cpp
+
+uk.co.real_logic.sbe.generation.csharp - 程序包 uk.co.real_logic.sbe.generation.csharp
+
+uk.co.real_logic.sbe.generation.golang - 程序包 uk.co.real_logic.sbe.generation.golang
+
+uk.co.real_logic.sbe.generation.java - 程序包 uk.co.real_logic.sbe.generation.java
+
+uk.co.real_logic.sbe.generation.rust - 程序包 uk.co.real_logic.sbe.generation.rust
+
+uk.co.real_logic.sbe.ir - 程序包 uk.co.real_logic.sbe.ir
+
+uk.co.real_logic.sbe.ir.generated - 程序包 uk.co.real_logic.sbe.ir.generated
+
+uk.co.real_logic.sbe.json - 程序包 uk.co.real_logic.sbe.json
+
+uk.co.real_logic.sbe.otf - 程序包 uk.co.real_logic.sbe.otf
+
+uk.co.real_logic.sbe.util - 程序包 uk.co.real_logic.sbe.util
+
+uk.co.real_logic.sbe.xml - 程序包 uk.co.real_logic.sbe.xml
+
+UNKNOWN_OFFSET - 类 中的静态变量uk.co.real_logic.sbe.ir.Token
+
+Offset not computed or set
+
+updateComponentTokenCounts(List<Token>) - 类 中的静态方法uk.co.real_logic.sbe.ir.Ir
+
+Iterate over a list of
Token
s and update their counts of how many tokens make up each component.
+
+
+
+
+
+
V
+
+validate(Node, Map<String, Type>) - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+validate(String, InputStream, ParserOptions) - 类 中的静态方法uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+Validate the document against a given schema.
+
+validateAgainstSchema(String, String) - 类 中的静态方法uk.co.real_logic.sbe.SbeTool
+
+Validate the SBE Schema against the XSD.
+
+VALIDATION_STOP_ON_ERROR - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control throwing exceptions on all errors.
+
+VALIDATION_SUPPRESS_OUTPUT - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control suppressing output on all errors and warnings.
+
+VALIDATION_WARNINGS_FATAL - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control whether to consider warnings fatal and treat them as errors.
+
+VALIDATION_XSD - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+System property to hold XSD to validate message specification against.
+
+ValidationUtil - uk.co.real_logic.sbe.util 中的类
+
+Various validation utilities used across parser, IR, and generator
+
+ValidationUtil() - 类 的构造器uk.co.real_logic.sbe.util.ValidationUtil
+
+ValidValue(Node, PrimitiveType) - 类 的构造器uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+Construct a ValidValue given the XML node and the encodingType.
+
+validValues() - 类 中的方法uk.co.real_logic.sbe.xml.EnumType
+
+The collection of valid values for this enumeration.
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+value() - 枚举 中的方法uk.co.real_logic.sbe.xml.Presence
+
+The value as a String of the presence.
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.generation.TargetCodeGeneratorLoader
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Encoding.Presence
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.MetaAttribute
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Signal
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveValue.Representation
+
+返回带有指定名称的该类型的枚举常量。
+
+valueOf(String) - 枚举 中的静态方法uk.co.real_logic.sbe.xml.Presence
+
+返回带有指定名称的该类型的枚举常量。
+
+valueRef() - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+Get the value of the valueRef attribute.
+
+valueRef(String) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+valueRef() - 类 中的方法uk.co.real_logic.sbe.xml.Field
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.generation.TargetCodeGeneratorLoader
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Encoding.Presence
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.MetaAttribute
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.ir.Signal
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveType
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.PrimitiveValue.Representation
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+values() - 枚举 中的静态方法uk.co.real_logic.sbe.xml.Presence
+
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+varData - 类 中的变量uk.co.real_logic.sbe.ir.MessageComponents
+
+VarDataEncodingDecoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+VarDataEncodingDecoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+VarDataEncodingEncoder - uk.co.real_logic.sbe.ir.generated 中的类
+
+VarDataEncodingEncoder() - 类 的构造器uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+varDataNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+varDataSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+VARIABLE_LENGTH - 类 中的静态变量uk.co.real_logic.sbe.ir.Token
+
+Length not determined
+
+variableLength(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.EncodedDataType
+
+variableLength(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.Field.Builder
+
+version() - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+version(int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+version() - 类 中的方法uk.co.real_logic.sbe.ir.Ir
+
+Get the version of the schema.
+
+version(int) - 类 中的方法uk.co.real_logic.sbe.ir.Token.Builder
+
+version() - 类 中的方法uk.co.real_logic.sbe.ir.Token
+
+The version context for this token.
+
+version() - 类 中的方法uk.co.real_logic.sbe.xml.MessageSchema
+
+The version number of the schema.
+
+versionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionEncodingLength() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionEncodingOffset() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionMaxValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionMinValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+versionNullValue() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+versionSinceVersion() - 类 中的静态方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+
+
+
+
+
W
+
+warning(String) - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+Record a message signifying an warning condition.
+
+warningCount() - 类 中的方法uk.co.real_logic.sbe.xml.ErrorHandler
+
+The count of warnings encountered.
+
+warningsFatal() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+The value of the warningsFatal parameter.
+
+warningsFatal(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the value for the warningsFatal parameter.
+
+warningsFatal() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+The value of the warningsFatal parameter.
+
+wrap(DirectBuffer, int, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+wrap(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+wrap(DirectBuffer, int, int, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+wrap(DirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+wrap(MutableDirectBuffer, int) - 类 中的方法uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+wrapAndApplyHeader(MutableDirectBuffer, int, MessageHeaderEncoder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+wrapAndApplyHeader(MutableDirectBuffer, int, MessageHeaderEncoder) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+wrapCharacterEncoding(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapConstValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapDescription(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapEpoch(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapMaxValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapMinValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapNamespaceName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrapNullValue(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapPackageName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrapReferencedName(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapSemanticType(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+wrapSemanticVersion(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+wrapTimeUnit(DirectBuffer) - 类 中的方法uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
X
+
+XINCLUDE_AWARE - 类 中的静态变量uk.co.real_logic.sbe.SbeTool
+
+Boolean system property to control is XInclude is supported.
+
+xIncludeAware() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Is the parser XInclude aware?
+
+xIncludeAware(boolean) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Is the parser XInclude aware?
+
+xIncludeAware() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+Is the parser XInclude aware?
+
+XmlSchemaParser - uk.co.real_logic.sbe.xml 中的类
+
+Encapsulate the XML Schema parsing for SBE so that other representations may be
+ used to generate independent representations.
+
+XmlSchemaParser() - 类 的构造器uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+xsdFilename() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Returns the name of the schema file.
+
+xsdFilename(String) - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+Sets the schema filename.
+
+xsdFilename() - 类 中的方法uk.co.real_logic.sbe.xml.ParserOptions
+
+Returns the name of the schema file.
+
+
+
A B C D E F G H I J K L M N O P R S T U V W X
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/index.html b/sbe-tool/build/docs/javadoc/index.html
new file mode 100644
index 0000000000..c2e704c413
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/index.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+Simple Binary Encoding
+
+
+
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+框架预警
+请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到非框架版本 。
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/overview-frame.html b/sbe-tool/build/docs/javadoc/overview-frame.html
new file mode 100644
index 0000000000..b1316ab7ae
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/overview-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+概览列表 (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/overview-summary.html b/sbe-tool/build/docs/javadoc/overview-summary.html
new file mode 100644
index 0000000000..b27f5ce02f
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/overview-summary.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+概览 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/overview-tree.html b/sbe-tool/build/docs/javadoc/overview-tree.html
new file mode 100644
index 0000000000..b6132aaf42
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/overview-tree.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
接口分层结构
+
+
注释类型分层结构
+
+uk.co.real_logic.sbe.codec.java.GroupOrder (implements java.lang.annotation.Annotation)
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/package-list b/sbe-tool/build/docs/javadoc/package-list
new file mode 100644
index 0000000000..8b04e51e61
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/package-list
@@ -0,0 +1,14 @@
+uk.co.real_logic.sbe
+uk.co.real_logic.sbe.codec.java
+uk.co.real_logic.sbe.generation
+uk.co.real_logic.sbe.generation.cpp
+uk.co.real_logic.sbe.generation.csharp
+uk.co.real_logic.sbe.generation.golang
+uk.co.real_logic.sbe.generation.java
+uk.co.real_logic.sbe.generation.rust
+uk.co.real_logic.sbe.ir
+uk.co.real_logic.sbe.ir.generated
+uk.co.real_logic.sbe.json
+uk.co.real_logic.sbe.otf
+uk.co.real_logic.sbe.util
+uk.co.real_logic.sbe.xml
diff --git a/sbe-tool/build/docs/javadoc/script.js b/sbe-tool/build/docs/javadoc/script.js
new file mode 100644
index 0000000000..b346356931
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+ count = 0;
+ for (var key in methods) {
+ var row = document.getElementById(key);
+ if ((methods[key] & type) != 0) {
+ row.style.display = '';
+ row.className = (count++ % 2) ? rowColor : altColor;
+ }
+ else
+ row.style.display = 'none';
+ }
+ updateTabs(type);
+}
+
+function updateTabs(type)
+{
+ for (var value in tabs) {
+ var sNode = document.getElementById(tabs[value][0]);
+ var spanNode = sNode.firstChild;
+ if (value == type) {
+ sNode.className = activeTableTab;
+ spanNode.innerHTML = tabs[value][1];
+ }
+ else {
+ sNode.className = tableTab;
+ spanNode.innerHTML = "" + tabs[value][1] + " ";
+ }
+ }
+}
diff --git a/sbe-tool/build/docs/javadoc/stylesheet.css b/sbe-tool/build/docs/javadoc/stylesheet.css
new file mode 100644
index 0000000000..98055b22d6
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4A6782;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4A6782;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#dee3e9;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+ text-transform:uppercase;
+}
+.navBarCell1Rev {
+ background-color:#F8981D;
+ color:#253441;
+ margin: auto 5px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #ededed;
+ background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border-left:1px solid #EEE;
+ border-right:1px solid #EEE;
+ border-bottom:1px solid #EEE;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ border: none;
+ height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ height:16px;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#4D7A97;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#4D7A97;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#dee3e9;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+ font-size:13px;
+}
+td.colLast, th.colLast {
+ font-size:13px;
+}
+td.colOne, th.colOne {
+ font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#EEEEFF;
+}
+.altColor {
+ background-color:#FFFFFF;
+}
+.rowColor {
+ background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+ font-size:14px;
+ font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+ color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveType.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveType.html
new file mode 100644
index 0000000000..893d60bc49
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveType.html
@@ -0,0 +1,595 @@
+
+
+
+
+
+PrimitiveType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<PrimitiveType >
+
+
+uk.co.real_logic.sbe.PrimitiveType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.Representation.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.Representation.html
new file mode 100644
index 0000000000..51a6199b6b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.Representation.html
@@ -0,0 +1,365 @@
+
+
+
+
+
+PrimitiveValue.Representation (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+BYTE_ARRAY
+Value is stored in a byte[].
+
+
+
+DOUBLE
+Value is stored in a double value.
+
+
+
+LONG
+Value is stored in a long value.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.html
new file mode 100644
index 0000000000..884c495c67
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/PrimitiveValue.html
@@ -0,0 +1,1263 @@
+
+
+
+
+
+PrimitiveValue (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.PrimitiveValue
+
+
+
+
+
+
+
+
+public class PrimitiveValue
+extends java.lang.Object
+Class used to encapsulate values for primitives. Used for nullValue, minValue, maxValue, and constants
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+PrimitiveValue (byte[] value,
+ java.lang.String characterEncoding,
+ int size)
+Construct and fill in value as a byte array.
+
+
+
+PrimitiveValue (byte value,
+ java.lang.String characterEncoding)
+Construct and fill in value as a long.
+
+
+
+PrimitiveValue (double value,
+ int size)
+Construct and fill in value as a double.
+
+
+
+PrimitiveValue (long value,
+ int size)
+Construct and fill in value as a long.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+byte[]
+byteArrayValue ()
+Return byte array value for this PrimitiveValue.
+
+
+
+byte[]
+byteArrayValue (PrimitiveType type)
+Return byte array value for this PrimitiveValue given a particular type
+
+
+
+java.lang.String
+characterEncoding ()
+The character encoding of the byte array representation.
+
+
+
+double
+doubleValue ()
+Return double value for this PrimitiveValue.
+
+
+
+boolean
+equals (java.lang.Object value)
+Determine if two values are equivalent.
+
+
+
+int
+hashCode ()
+Return hashCode for value.
+
+
+
+long
+longValue ()
+Return long value for this PrimitiveValue
+
+
+
+static PrimitiveValue
+parse (java.lang.String value,
+ int length,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type, length, and characterEncoding
+
+
+
+static PrimitiveValue
+parse (java.lang.String value,
+ PrimitiveType primitiveType)
+Parse constant value string and set representation based on type
+
+
+
+static PrimitiveValue
+parse (java.lang.String value,
+ PrimitiveType primitiveType,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type
+
+
+
+PrimitiveValue.Representation
+representation ()
+
+
+
+
+int
+size ()
+Return encodedLength for this PrimitiveValue for serialization purposes.
+
+
+
+java.lang.String
+toString ()
+Return String representation of this object
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+PrimitiveValue
+public PrimitiveValue(byte value,
+ java.lang.String characterEncoding)
+Construct and fill in value as a long.
+
+参数:
+value
- in long format
+characterEncoding
- of the char type.
+
+
+
+
+
+
+
+
+
+
+
+
+PrimitiveValue
+public PrimitiveValue(byte[] value,
+ java.lang.String characterEncoding,
+ int size)
+Construct and fill in value as a byte array.
+
+参数:
+value
- as a byte array
+characterEncoding
- of the characters
+size
- of string in characters
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+parse
+public static PrimitiveValue parse(java.lang.String value,
+ PrimitiveType primitiveType)
+Parse constant value string and set representation based on type
+
+参数:
+value
- expressed as a String
+primitiveType
- that this is supposed to be
+返回:
+a new PrimitiveValue
for the value.
+抛出:
+java.lang.IllegalArgumentException
- if parsing malformed type
+
+
+
+
+
+
+
+
+parse
+public static PrimitiveValue parse(java.lang.String value,
+ PrimitiveType primitiveType,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type
+
+参数:
+value
- expressed as a String
+primitiveType
- that this is supposed to be
+characterEncoding
- of the constant value.
+返回:
+a new PrimitiveValue
for the value.
+抛出:
+java.lang.IllegalArgumentException
- if parsing malformed type
+
+
+
+
+
+
+
+
+parse
+public static PrimitiveValue parse(java.lang.String value,
+ int length,
+ java.lang.String characterEncoding)
+Parse constant value string and set representation based on type, length, and characterEncoding
+
+参数:
+value
- expressed as a String
+length
- of the type
+characterEncoding
- of the String
+返回:
+a new PrimitiveValue
for the value.
+抛出:
+java.lang.IllegalArgumentException
- if parsing malformed type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/SbeTool.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/SbeTool.html
new file mode 100644
index 0000000000..c910c4d87f
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/SbeTool.html
@@ -0,0 +1,814 @@
+
+
+
+
+
+SbeTool (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.SbeTool
+
+
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static java.lang.String
+CPP_NAMESPACES_COLLAPSE
+Boolean system property to toggle collapsing of nested namespaces in generated C++ stubs.
+
+
+
+static java.lang.String
+DECODE_UNKNOWN_ENUM_VALUES
+Should unknown enum values be decoded to support extension.
+
+
+
+static java.lang.String
+GENERATE_IR
+Boolean system property to turn on or off generation of IR.
+
+
+
+static java.lang.String
+GENERATE_STUBS
+Boolean system property to turn on or off generation of stubs.
+
+
+
+static java.lang.String
+JAVA_DECODING_BUFFER_TYPE
+Specifies the name of the Java read only buffer to wrap.
+
+
+
+static java.lang.String
+JAVA_DEFAULT_DECODING_BUFFER_TYPE
+Default class to use as the buffer read only implementation in generated code.
+
+
+
+static java.lang.String
+JAVA_DEFAULT_ENCODING_BUFFER_TYPE
+Default class to use as the buffer mutable implementation in generated code.
+
+
+
+static java.lang.String
+JAVA_ENCODING_BUFFER_TYPE
+Specifies the name of the Java mutable buffer to wrap.
+
+
+
+static java.lang.String
+JAVA_GENERATE_INTERFACES
+Boolean system property to turn on or off generation of the interface hierarchy.
+
+
+
+static java.lang.String
+JAVA_GROUP_ORDER_ANNOTATION
+Should the
GroupOrder
annotation be added to generated stubs.
+
+
+
+static java.lang.String
+JAVA_INTERFACE_PACKAGE
+Package in which the generated Java interfaces will be placed.
+
+
+
+static java.lang.String
+KEYWORD_APPEND_TOKEN
+Specifies token that should be appended to keywords to avoid compilation errors.
+
+
+
+static java.lang.String
+OUTPUT_DIR
+Output directory for generated code.
+
+
+
+static java.lang.String
+TARGET_LANGUAGE
+Target language for generated code.
+
+
+
+static java.lang.String
+TARGET_NAMESPACE
+String system property of the namespace for generated code.
+
+
+
+static java.lang.String
+VALIDATION_STOP_ON_ERROR
+Boolean system property to control throwing exceptions on all errors.
+
+
+
+static java.lang.String
+VALIDATION_SUPPRESS_OUTPUT
+Boolean system property to control suppressing output on all errors and warnings.
+
+
+
+static java.lang.String
+VALIDATION_WARNINGS_FATAL
+Boolean system property to control whether to consider warnings fatal and treat them as errors.
+
+
+
+static java.lang.String
+VALIDATION_XSD
+System property to hold XSD to validate message specification against.
+
+
+
+static java.lang.String
+XINCLUDE_AWARE
+Boolean system property to control is XInclude is supported.
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+generate (Ir ir,
+ java.lang.String outputDirName,
+ java.lang.String targetLanguage)
+Generate SBE encoding and decoding stubs for a target language.
+
+
+
+static void
+main (java.lang.String[] args)
+Main entry point for the SBE Tool.
+
+
+
+static MessageSchema
+parseSchema (java.lang.String sbeSchemaFilename)
+Parse the message schema specification.
+
+
+
+static void
+validateAgainstSchema (java.lang.String sbeSchemaFilename,
+ java.lang.String xsdFilename)
+Validate the SBE Schema against the XSD.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+SbeTool
+public SbeTool()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+validateAgainstSchema
+public static void validateAgainstSchema(java.lang.String sbeSchemaFilename,
+ java.lang.String xsdFilename)
+ throws java.lang.Exception
+Validate the SBE Schema against the XSD.
+
+参数:
+sbeSchemaFilename
- to be validated
+xsdFilename
- XSD against which to validate
+抛出:
+java.lang.Exception
- if an error occurs while validating
+
+
+
+
+
+
+
+
+
+
+
+
+generate
+public static void generate(Ir ir,
+ java.lang.String outputDirName,
+ java.lang.String targetLanguage)
+ throws java.lang.Exception
+Generate SBE encoding and decoding stubs for a target language.
+
+参数:
+ir
- for the parsed specification.
+outputDirName
- directory into which code will be generated.
+targetLanguage
- for the generated code.
+抛出:
+java.lang.Exception
- if an error occurs while generating the code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/GroupOrder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/GroupOrder.html
new file mode 100644
index 0000000000..0b5f65103c
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/GroupOrder.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+GroupOrder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+必需元素概要
+
+所需元素
+
+限定符和类型
+必需的元素和说明
+
+
+java.lang.Class<?>[]
+value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/MethodSelector.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/MethodSelector.html
new file mode 100644
index 0000000000..fbefc397be
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/MethodSelector.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+MethodSelector (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.codec.java.MethodSelector
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+MethodSelector (java.util.Set<java.lang.String> ignoredMethods)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-frame.html
new file mode 100644
index 0000000000..10a1c57804
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-frame.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+uk.co.real_logic.sbe.codec.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-summary.html
new file mode 100644
index 0000000000..7d7af38e9d
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-summary.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+uk.co.real_logic.sbe.codec.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+注释类型概要
+
+注释类型
+说明
+
+
+
+GroupOrder
+
+Group order for repeating groups in encoded messages.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-tree.html
new file mode 100644
index 0000000000..955a06b2bb
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/codec/java/package-tree.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+uk.co.real_logic.sbe.codec.java 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
注释类型分层结构
+
+uk.co.real_logic.sbe.codec.java.GroupOrder (implements java.lang.annotation.Annotation)
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/CodeGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/CodeGenerator.html
new file mode 100644
index 0000000000..a456fbcdfb
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/CodeGenerator.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+CodeGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 抽象方法
+
+限定符和类型
+方法和说明
+
+
+void
+generate ()
+Generate the complete set of types and messages for a schema.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/Generators.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/Generators.html
new file mode 100644
index 0000000000..a7efee591b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/Generators.html
@@ -0,0 +1,354 @@
+
+
+
+
+
+Generators (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.Generators
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static Token
+findFirst (java.lang.String name,
+ java.util.List<Token > tokens,
+ int index)
+Find the first token with a given name from an index inclusive.
+
+
+
+static void
+forEachField (java.util.List<Token > tokens,
+ java.util.function.BiConsumer<Token ,Token > consumer)
+For each field found in a list of field
Token
s take the field token and following type token to
+ a
BiConsumer
.
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String s)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String s)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Generators
+public Generators()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+findFirst
+public static Token findFirst(java.lang.String name,
+ java.util.List<Token > tokens,
+ int index)
+Find the first token with a given name from an index inclusive.
+
+参数:
+name
- to search for.
+tokens
- to search.
+index
- from which to search.
+返回:
+first found Token
or throw a IllegalStateException
if not found.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/NamedToken.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/NamedToken.html
new file mode 100644
index 0000000000..9c33bd5ff2
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/NamedToken.html
@@ -0,0 +1,298 @@
+
+
+
+
+
+NamedToken (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.NamedToken
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+NamedToken (java.lang.String name,
+ Token typeToken)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGenerator.html
new file mode 100644
index 0000000000..9984b347f1
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGenerator.html
@@ -0,0 +1,237 @@
+
+
+
+
+
+TargetCodeGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.html
new file mode 100644
index 0000000000..bcbe81cb93
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+TargetCodeGeneratorLoader (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppGenerator.html
new file mode 100644
index 0000000000..4011e7caf9
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppGenerator.html
@@ -0,0 +1,352 @@
+
+
+
+
+
+CppGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.cpp.CppGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CppGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppUtil.html
new file mode 100644
index 0000000000..4b2fde5b92
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/CppUtil.html
@@ -0,0 +1,406 @@
+
+
+
+
+
+CppUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.cpp.CppUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static java.lang.String
+closingBraces (int count)
+
+
+static java.lang.String
+cppTypeName (PrimitiveType primitiveType)
+
+
+
+
+static java.lang.String
+formatByteOrderEncoding (java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Cpp98 formatted byte order encoding string to use for a given byte order and primitiveType
+
+
+
+static java.lang.String
+formatClassName (java.lang.String value)
+Format a String as a class name.
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String value)
+Format a String as a property name.
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String str)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String str)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CppUtil
+public CppUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+formatByteOrderEncoding
+public static java.lang.String formatByteOrderEncoding(java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Cpp98 formatted byte order encoding string to use for a given byte order and primitiveType
+
+参数:
+byteOrder
- of the Token
+primitiveType
- of the Token
+返回:
+the string formatted as the byte ordering encoding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.html
new file mode 100644
index 0000000000..53605b3332
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+NamespaceOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager
+
+
+
+
+
+
+
+所有已实现的接口:
+org.agrona.generation.OutputManager
+
+
+
+public class NamespaceOutputManager
+extends java.lang.Object
+implements org.agrona.generation.OutputManager
+OutputManager
for managing the creation of C++98 source files as the target of code generation.
+ The character encoding for the Writer
is UTF-8.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+NamespaceOutputManager (java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating C++98 source files into a given package.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.io.Writer
+createOutput (java.lang.String name)
+Create a new output which will be a C++98 source file in the given package.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+NamespaceOutputManager
+public NamespaceOutputManager(java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating C++98 source files into a given package.
+
+参数:
+baseDirName
- for the generated source code.
+namespaceName
- for the generated source code relative to the baseDirName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-frame.html
new file mode 100644
index 0000000000..248ccc588d
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.cpp (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-summary.html
new file mode 100644
index 0000000000..2895ec328e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-summary.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.cpp (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+CppGenerator
+
+
+
+CppUtil
+
+Utilities for mapping between IR and the C++ language.
+
+
+
+NamespaceOutputManager
+
+OutputManager
for managing the creation of C++98 source files as the target of code generation.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-tree.html
new file mode 100644
index 0000000000..644d838ad7
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/cpp/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.cpp 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharp.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharp.html
new file mode 100644
index 0000000000..1e1504a4cb
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharp.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+CSharp (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharp
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CSharp ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CSharp
+public CSharp()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.html
new file mode 100644
index 0000000000..2a10ae170f
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+CSharpGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharpGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CSharpGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.html
new file mode 100644
index 0000000000..f65c4632b1
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+CSharpNamespaceOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharpNamespaceOutputManager
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CSharpNamespaceOutputManager (java.lang.String baseDirName,
+ java.lang.String packageName)
+Create a new OutputManager
for generating C# source
+ files into a given package.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.io.Writer
+createOutput (java.lang.String name)
+Create a new output which will be a C# source file in the given package.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CSharpNamespaceOutputManager
+public CSharpNamespaceOutputManager(java.lang.String baseDirName,
+ java.lang.String packageName)
+Create a new OutputManager
for generating C# source
+ files into a given package.
+
+参数:
+baseDirName
- for the generated source code.
+packageName
- for the generated source code relative to the baseDirName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.html
new file mode 100644
index 0000000000..41382f082a
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.html
@@ -0,0 +1,368 @@
+
+
+
+
+
+CSharpUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.csharp.CSharpUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static java.lang.String
+cSharpTypeName (PrimitiveType primitiveType)
+
+
+
+
+static java.lang.String
+formatClassName (java.lang.String str)
+Format a String as a class name.
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String str)
+Format a String as a property name.
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String str)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String str)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+CSharpUtil
+public CSharpUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-frame.html
new file mode 100644
index 0000000000..b8fd6540bd
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-frame.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.csharp (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-summary.html
new file mode 100644
index 0000000000..edffb282c4
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-summary.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.csharp (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-tree.html
new file mode 100644
index 0000000000..d98a0e5f53
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/csharp/package-tree.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.csharp 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangGenerator.html
new file mode 100644
index 0000000000..abc7158406
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangGenerator.html
@@ -0,0 +1,359 @@
+
+
+
+
+
+GolangGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.golang.GolangGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+GolangGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.html
new file mode 100644
index 0000000000..cb22659499
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+GolangOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.golang.GolangOutputManager
+
+
+
+
+
+
+
+所有已实现的接口:
+org.agrona.generation.OutputManager
+
+
+
+public class GolangOutputManager
+extends java.lang.Object
+implements org.agrona.generation.OutputManager
+OutputManager
for managing the creation of golang source files as the target of code generation.
+ The character encoding for the Writer
is UTF-8.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+GolangOutputManager (java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating golang source files into a given package.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.io.Writer
+createOutput (java.lang.String name)
+Create a new output which will be a golang source file in the given package.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+GolangOutputManager
+public GolangOutputManager(java.lang.String baseDirName,
+ java.lang.String namespaceName)
+Create a new OutputManager
for generating golang source files into a given package.
+
+参数:
+baseDirName
- for the generated source code.
+namespaceName
- for the generated source code relative to the baseDirName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangUtil.html
new file mode 100644
index 0000000000..35313d6038
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/GolangUtil.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+GolangUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.golang.GolangUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static java.lang.String
+closingBraces (int count)
+
+
+static java.lang.String
+formatByteOrderEncoding (java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Golang formatted byte order encoding string to use for a given byte order and primitiveType
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String value)
+Format a String as a property name.
+
+
+
+static java.lang.String
+formatTypeName (java.lang.String value)
+Format a String as a type name.
+
+
+
+static java.lang.String
+golangMarshalType (PrimitiveType primitiveType)
+Map the name of a
PrimitiveType
to a Golang marhsalling function name.
+
+
+
+static java.lang.String
+golangTypeName (PrimitiveType primitiveType)
+
+
+
+
+static java.lang.String
+toLowerFirstChar (java.lang.String str)
+Lowercase the first character of a given String.
+
+
+
+static java.lang.String
+toUpperFirstChar (java.lang.String str)
+Uppercase the first character of a given String.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+GolangUtil
+public GolangUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+formatByteOrderEncoding
+public static java.lang.String formatByteOrderEncoding(java.nio.ByteOrder byteOrder,
+ PrimitiveType primitiveType)
+Return the Golang formatted byte order encoding string to use for a given byte order and primitiveType
+
+参数:
+byteOrder
- of the Token
+primitiveType
- of the Token
+返回:
+the string formatted as the byte ordering encoding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-frame.html
new file mode 100644
index 0000000000..aef8ce09c6
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.golang (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-summary.html
new file mode 100644
index 0000000000..8283330287
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-summary.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.golang (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+GolangGenerator
+
+
+
+GolangOutputManager
+
+OutputManager
for managing the creation of golang source files as the target of code generation.
+
+
+
+GolangUtil
+
+Utilities for mapping between IR and the Golang language.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-tree.html
new file mode 100644
index 0000000000..9169fe25cd
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/golang/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.golang 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaGenerator.html
new file mode 100644
index 0000000000..b6bc0d8a6b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaGenerator.html
@@ -0,0 +1,349 @@
+
+
+
+
+
+JavaGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.java.JavaGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+JavaGenerator (Ir ir,
+ java.lang.String mutableBuffer,
+ java.lang.String readOnlyBuffer,
+ boolean shouldGenerateGroupOrderAnnotation,
+ boolean shouldGenerateInterfaces,
+ boolean shouldDecodeUnknownEnumValues,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+JavaGenerator
+public JavaGenerator(Ir ir,
+ java.lang.String mutableBuffer,
+ java.lang.String readOnlyBuffer,
+ boolean shouldGenerateGroupOrderAnnotation,
+ boolean shouldGenerateInterfaces,
+ boolean shouldDecodeUnknownEnumValues,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.Separators.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.Separators.html
new file mode 100644
index 0000000000..ac2e38ceb7
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.Separators.html
@@ -0,0 +1,531 @@
+
+
+
+
+
+JavaUtil.Separators (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<JavaUtil.Separators >
+
+
+uk.co.real_logic.sbe.generation.java.JavaUtil.Separators
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+char
+symbol
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+symbol
+public final char symbol
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+appendToGeneratedBuilder
+public void appendToGeneratedBuilder(java.lang.StringBuilder builder,
+ java.lang.String indent,
+ java.lang.String builderName)
+Add separator to a generated StringBuilder
+
+参数:
+builder
- the code generation builder to which information should be added
+indent
- the current generated code indentation
+builderName
- of the generated StringBuilder to which separator should be added
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.html
new file mode 100644
index 0000000000..c02c0eb87b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/JavaUtil.html
@@ -0,0 +1,551 @@
+
+
+
+
+
+JavaUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.java.JavaUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+append (java.lang.StringBuilder builder,
+ java.lang.String indent,
+ java.lang.String line)
+Shortcut to append a line of generated code
+
+
+
+static java.lang.String
+charset (java.lang.String encoding)
+Code to fetch an instance of Charset
corresponding to the given encoding.
+
+
+
+static java.lang.String
+formatClassName (java.lang.String value)
+Format a class name for the generated code.
+
+
+
+static java.lang.String
+formatPropertyName (java.lang.String value)
+Format a property name for generated code.
+
+
+
+static java.lang.String
+generateFlyweightPropertyJavadoc (java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for flyweight property.
+
+
+
+static java.lang.String
+generateGroupEncodePropertyJavadoc (java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for group encode property.
+
+
+
+static java.lang.String
+generateLiteral (PrimitiveType type,
+ java.lang.String value)
+Generate a literal value to be used in code generation.
+
+
+
+static java.lang.String
+generateOptionDecodeJavadoc (java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option decode method.
+
+
+
+static java.lang.String
+generateOptionEncodeJavadoc (java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option encode method.
+
+
+
+static java.lang.String
+generateTypeJavadoc (java.lang.String indent,
+ Token typeToken)
+Generate the Javadoc comment header for a type.
+
+
+
+static java.lang.String
+javaTypeName (PrimitiveType primitiveType)
+
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+JavaUtil
+public JavaUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+append
+public static void append(java.lang.StringBuilder builder,
+ java.lang.String indent,
+ java.lang.String line)
+Shortcut to append a line of generated code
+
+参数:
+builder
- string builder to which to append the line
+indent
- current text indentation
+line
- line to be appended
+
+
+
+
+
+
+
+
+
+
+
+
+generateLiteral
+public static java.lang.String generateLiteral(PrimitiveType type,
+ java.lang.String value)
+Generate a literal value to be used in code generation.
+
+参数:
+type
- of the lateral value.
+value
- of the lateral.
+返回:
+a String representation of the Java literal.
+
+
+
+
+
+
+
+
+generateTypeJavadoc
+public static java.lang.String generateTypeJavadoc(java.lang.String indent,
+ Token typeToken)
+Generate the Javadoc comment header for a type.
+
+参数:
+indent
- level for the comment.
+typeToken
- for the type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateOptionDecodeJavadoc
+public static java.lang.String generateOptionDecodeJavadoc(java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option decode method.
+
+参数:
+indent
- level for the comment.
+optionToken
- for the type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateOptionEncodeJavadoc
+public static java.lang.String generateOptionEncodeJavadoc(java.lang.String indent,
+ Token optionToken)
+Generate the Javadoc comment header for a bitset choice option encode method.
+
+参数:
+indent
- level for the comment.
+optionToken
- for the type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateFlyweightPropertyJavadoc
+public static java.lang.String generateFlyweightPropertyJavadoc(java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for flyweight property.
+
+参数:
+indent
- level for the comment.
+propertyToken
- for the property name.
+typeName
- for the property type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+generateGroupEncodePropertyJavadoc
+public static java.lang.String generateGroupEncodePropertyJavadoc(java.lang.String indent,
+ Token propertyToken,
+ java.lang.String typeName)
+Generate the Javadoc comment header for group encode property.
+
+参数:
+indent
- level for the comment.
+propertyToken
- for the property name.
+typeName
- for the property type.
+返回:
+a string representation of the Javadoc comment.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-frame.html
new file mode 100644
index 0000000000..fdc8cd7551
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-frame.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-summary.html
new file mode 100644
index 0000000000..3bf24acf9c
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-summary.html
@@ -0,0 +1,162 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.java (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+JavaGenerator
+
+
+
+JavaUtil
+
+Utilities for mapping between IR and the Java language.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-tree.html
new file mode 100644
index 0000000000..7575caf3e5
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/java/package-tree.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.java 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-frame.html
new file mode 100644
index 0000000000..c012e2f707
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-frame.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-summary.html
new file mode 100644
index 0000000000..5a9ffb23ba
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-summary.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+接口概要
+
+接口
+说明
+
+
+
+CodeGenerator
+
+Abstraction for code generators to implement.
+
+
+
+TargetCodeGenerator
+
+Target a code generator for a given language.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-tree.html
new file mode 100644
index 0000000000..5a8a157e79
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/package-tree.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
接口分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/Rust.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/Rust.html
new file mode 100644
index 0000000000..ee30726c48
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/Rust.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+Rust (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.Rust
+
+
+
+
+
+
+
+所有已实现的接口:
+TargetCodeGenerator
+
+
+
+public class Rust
+extends java.lang.Object
+implements TargetCodeGenerator
+This class is present largely to enable the dynamic-loading style pattern
+ of specifying a TargetCodeGenerator Java class name rather than the language
+ name.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Rust ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Rust
+public Rust()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.html
new file mode 100644
index 0000000000..0eded89f8e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+RustFlatFileOutputManager (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManager
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+从接口继承的方法 org.agrona.generation.OutputManager
+withOutput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustGenerator.html
new file mode 100644
index 0000000000..98ec698ff3
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustGenerator.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+RustGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.RustGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+RustGenerator (Ir ir,
+ org.agrona.generation.OutputManager outputManager)
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+generate ()
+Generate the complete set of types and messages for a schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustUtil.html
new file mode 100644
index 0000000000..8d65499c70
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/RustUtil.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+RustUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.generation.rust.RustUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+RustUtil
+public RustUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-frame.html
new file mode 100644
index 0000000000..70a0d649bf
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-frame.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.rust (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-summary.html
new file mode 100644
index 0000000000..84ae1ee2d0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-summary.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.rust (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+Rust
+
+This class is present largely to enable the dynamic-loading style pattern
+ of specifying a TargetCodeGenerator Java class name rather than the language
+ name.
+
+
+
+RustFlatFileOutputManager
+
+
+
+RustGenerator
+
+
+
+RustUtil
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-tree.html
new file mode 100644
index 0000000000..abfb07ba7e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/generation/rust/package-tree.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+uk.co.real_logic.sbe.generation.rust 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Builder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Builder.html
new file mode 100644
index 0000000000..226bcc49c0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Builder.html
@@ -0,0 +1,418 @@
+
+
+
+
+
+Encoding.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Encoding.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Presence.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Presence.html
new file mode 100644
index 0000000000..3f4254f330
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.Presence.html
@@ -0,0 +1,366 @@
+
+
+
+
+
+Encoding.Presence (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Encoding.Presence >
+
+
+uk.co.real_logic.sbe.ir.Encoding.Presence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+CONSTANT
+The field presence is a constant.
+
+
+
+OPTIONAL
+The field presence is optional.
+
+
+
+REQUIRED
+The field presence is required.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.html
new file mode 100644
index 0000000000..ce273da8f8
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Encoding.html
@@ -0,0 +1,634 @@
+
+
+
+
+
+Encoding (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Encoding
+
+
+
+
+
+
+
+
+
+
+
+
+嵌套类概要
+
+嵌套类
+
+限定符和类型
+类和说明
+
+
+static class
+Encoding.Builder
+Builder to make
Encoding
easier to create.
+
+
+
+static class
+Encoding.Presence
+Indicates the presence status of a primitive encoded field in a message.
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Encoding ()
+
+
+Encoding (Encoding.Presence presence,
+ PrimitiveType primitiveType,
+ java.nio.ByteOrder byteOrder,
+ PrimitiveValue minValue,
+ PrimitiveValue maxValue,
+ PrimitiveValue nullValue,
+ PrimitiveValue constValue,
+ java.lang.String characterEncoding,
+ java.lang.String epoch,
+ java.lang.String timeUnit,
+ java.lang.String semanticType)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Encoding
+public Encoding()
+
+
+
+
+
+
+
+Encoding
+public Encoding(Encoding.Presence presence,
+ PrimitiveType primitiveType,
+ java.nio.ByteOrder byteOrder,
+ PrimitiveValue minValue,
+ PrimitiveValue maxValue,
+ PrimitiveValue nullValue,
+ PrimitiveValue constValue,
+ java.lang.String characterEncoding,
+ java.lang.String epoch,
+ java.lang.String timeUnit,
+ java.lang.String semanticType)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/GenerationUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/GenerationUtil.html
new file mode 100644
index 0000000000..fe49c737cf
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/GenerationUtil.html
@@ -0,0 +1,390 @@
+
+
+
+
+
+GenerationUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.GenerationUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static int
+collect (Signal signal,
+ java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > collected)
+
+
+static int
+collectFields (java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > fields)
+
+
+static int
+collectGroups (java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > groups)
+
+
+static int
+collectVarData (java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > varData)
+
+
+static java.lang.CharSequence
+concatTokens (java.util.List<Token > tokens,
+ Signal signal,
+ java.util.function.Function<Token ,java.lang.CharSequence> mapper)
+
+
+static int
+findEndSignal (java.util.List<Token > tokens,
+ int startIndex,
+ Signal signal,
+ java.lang.String name)
+
+
+static java.util.List<java.lang.String>
+findSubGroupNames (java.util.List<Token > tokens)
+
+
+static java.util.List<Token >
+getMessageBody (java.util.List<Token > tokens)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+GenerationUtil
+public GenerationUtil()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+collect
+public static int collect(Signal signal,
+ java.util.List<Token > tokens,
+ int index,
+ java.util.List<Token > collected)
+
+
+
+
+
+
+
+
+
+
+
+concatTokens
+public static java.lang.CharSequence concatTokens(java.util.List<Token > tokens,
+ Signal signal,
+ java.util.function.Function<Token ,java.lang.CharSequence> mapper)
+
+
+
+
+
+
+
+findEndSignal
+public static int findEndSignal(java.util.List<Token > tokens,
+ int startIndex,
+ Signal signal,
+ java.lang.String name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/HeaderStructure.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/HeaderStructure.html
new file mode 100644
index 0000000000..aaf18a5a5e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/HeaderStructure.html
@@ -0,0 +1,414 @@
+
+
+
+
+
+HeaderStructure (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.HeaderStructure
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Ir.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Ir.html
new file mode 100644
index 0000000000..1f07fa6fb1
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Ir.html
@@ -0,0 +1,593 @@
+
+
+
+
+
+Ir (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Ir
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Ir (java.lang.String packageName,
+ java.lang.String namespaceName,
+ int id,
+ int version,
+ java.lang.String semanticVersion,
+ java.nio.ByteOrder byteOrder,
+ java.util.List<Token > headerTokens)
+Create a new IR container taking a defensive copy of the headerStructure
Token
s passed.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+addMessage (long messageId,
+ java.util.List<Token > messageTokens)
+Add a List of
Token
s for a given message id.
+
+
+
+java.lang.String
+applicableNamespace ()
+Get the namespaceName to be used for generated code.
+
+
+
+java.nio.ByteOrder
+byteOrder ()
+ByteOrder
for all types in the schema.
+
+
+
+java.util.List<Token >
+getMessage (long messageId)
+Get the getMessage for a given identifier.
+
+
+
+java.util.List<Token >
+getType (java.lang.String name)
+Get the type representation for a given type name.
+
+
+
+HeaderStructure
+headerStructure ()
+
+
+
+
+int
+id ()
+Get the id number of the schema.
+
+
+
+java.util.Collection<java.util.List<Token >>
+messages ()
+The Collection
of messages in this schema.
+
+
+
+java.lang.String
+namespaceName ()
+Get the namespaceName to be used for generated code.
+
+
+
+java.lang.String[]
+namespaces ()
+Get the namespaces array to be used for generated code.
+
+
+
+java.lang.String
+packageName ()
+Get the package name to be used for generated code.
+
+
+
+java.lang.String
+semanticVersion ()
+Get the semantic version of the schema.
+
+
+
+java.util.Collection<java.util.List<Token >>
+types ()
+Get the Collection
of types in for this schema.
+
+
+
+static void
+updateComponentTokenCounts (java.util.List<Token > tokens)
+Iterate over a list of
Token
s and update their counts of how many tokens make up each component.
+
+
+
+int
+version ()
+Get the version of the schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Ir
+public Ir(java.lang.String packageName,
+ java.lang.String namespaceName,
+ int id,
+ int version,
+ java.lang.String semanticVersion,
+ java.nio.ByteOrder byteOrder,
+ java.util.List<Token > headerTokens)
+Create a new IR container taking a defensive copy of the headerStructure
Token
s passed.
+
+参数:
+packageName
- that should be applied to generated code.
+namespaceName
- that should be applied to generated code.
+id
- identifier for the schema.
+version
- of the schema
+semanticVersion
- semantic version for mapping to the application domain.
+byteOrder
- byte order for all types in the schema.
+headerTokens
- representing the message headerStructure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrDecoder.html
new file mode 100644
index 0000000000..634cd1eff6
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrDecoder.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+IrDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.IrDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+IrDecoder (java.nio.ByteBuffer buffer)
+
+
+IrDecoder (java.lang.String fileName)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+close
+public void close()
+
+指定者:
+close
在接口中 java.lang.AutoCloseable
+
+
+
+
+
+
+
+
+decode
+public Ir decode()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrEncoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrEncoder.html
new file mode 100644
index 0000000000..2e29d9b401
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrEncoder.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+IrEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.IrEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+IrEncoder (java.nio.ByteBuffer buffer,
+ Ir ir)
+
+
+IrEncoder (java.lang.String fileName,
+ Ir ir)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+close
+public void close()
+
+指定者:
+close
在接口中 java.lang.AutoCloseable
+
+
+
+
+
+
+
+
+encode
+public int encode()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrUtil.html
new file mode 100644
index 0000000000..8a669d34ec
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/IrUtil.html
@@ -0,0 +1,451 @@
+
+
+
+
+
+IrUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.IrUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+IrUtil ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+IrUtil
+public IrUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/MessageComponents.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/MessageComponents.html
new file mode 100644
index 0000000000..7d02814189
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/MessageComponents.html
@@ -0,0 +1,351 @@
+
+
+
+
+
+MessageComponents (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.MessageComponents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+MessageComponents
+public MessageComponents(Token messageToken,
+ java.util.List<Token > fields,
+ java.util.List<Token > groups,
+ java.util.List<Token > varData)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Signal.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Signal.html
new file mode 100644
index 0000000000..7cf4ecae53
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Signal.html
@@ -0,0 +1,573 @@
+
+
+
+
+
+Signal (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Signal >
+
+
+uk.co.real_logic.sbe.ir.Signal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+BEGIN_COMPOSITE
+Denotes the beginning of a composite
+
+
+
+BEGIN_ENUM
+Denotes the beginning of an enumeration
+
+
+
+BEGIN_FIELD
+Denotes the beginning of a field
+
+
+
+BEGIN_GROUP
+Denotes the beginning of a repeating group
+
+
+
+BEGIN_MESSAGE
+Denotes the beginning of a message
+
+
+
+BEGIN_SET
+Denotes the beginning of a bitset
+
+
+
+BEGIN_VAR_DATA
+Denotes the beginning of a variable data block
+
+
+
+CHOICE
+Denotes a bit value (choice) of a bitset
+
+
+
+ENCODING
+Denotes the
Token
is an encoding
+
+
+
+END_COMPOSITE
+Denotes the end of a composite
+
+
+
+END_ENUM
+Denotes the end of an enumeration
+
+
+
+END_FIELD
+Denotes the end of a field
+
+
+
+END_GROUP
+Denotes the end of a repeating group
+
+
+
+END_MESSAGE
+Denotes the end of a message
+
+
+
+END_SET
+Denotes the end of a bitset
+
+
+
+END_VAR_DATA
+Denotes the end of a variable data block
+
+
+
+VALID_VALUE
+Denotes a value of an enumeration
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static Signal
+valueOf (java.lang.String name)
+返回带有指定名称的该类型的枚举常量。
+
+
+
+static Signal []
+values ()
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.Builder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.Builder.html
new file mode 100644
index 0000000000..6b534b6f68
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.Builder.html
@@ -0,0 +1,417 @@
+
+
+
+
+
+Token.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Token.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.html
new file mode 100644
index 0000000000..4ac41458e0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/Token.html
@@ -0,0 +1,807 @@
+
+
+
+
+
+Token (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.Token
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Token (Signal signal,
+ java.lang.String name,
+ java.lang.String referencedName,
+ java.lang.String description,
+ int id,
+ int version,
+ int deprecated,
+ int encodedLength,
+ int offset,
+ int componentTokenCount,
+ Encoding encoding)
+Construct an
Token
by providing values for all fields.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.String
+applicableTypeName ()
+Get the name of the type that should be applied in context.
+
+
+
+int
+arrayLength ()
+The number of encoded primitives in this type.
+
+
+
+int
+componentTokenCount ()
+The number of tokens that make up this component.
+
+
+
+void
+componentTokenCount (int componentTokenCount)
+Set the number of tokens this component has.
+
+
+
+int
+deprecated ()
+The version in which this context was deprecated.
+
+
+
+java.lang.String
+description ()
+Description for what the token is to be used for.
+
+
+
+int
+encodedLength ()
+The encodedLength of this token in bytes.
+
+
+
+void
+encodedLength (int encodedLength)
+Set the encoded length for this node.
+
+
+
+Encoding
+encoding ()
+
+
+
+
+int
+id ()
+Return the ID of the token assigned by the specification
+
+
+
+boolean
+isConstantEncoding ()
+
+
+boolean
+isOptionalEncoding ()
+
+
+java.lang.CharSequence
+matchOnLength (java.util.function.Supplier<java.lang.CharSequence> one,
+ java.util.function.Supplier<java.lang.CharSequence> many)
+Match which approach to take based on the length of the token.
+
+
+
+java.lang.String
+name ()
+Return the name of the token
+
+
+
+int
+offset ()
+The offset for this token in the message.
+
+
+
+java.lang.String
+referencedName ()
+Get the name of the type when this is from a reference.
+
+
+
+Signal
+signal ()
+Signal the role of this token.
+
+
+
+java.lang.String
+toString ()
+
+
+int
+version ()
+The version context for this token.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Token
+public Token(Signal signal,
+ java.lang.String name,
+ java.lang.String referencedName,
+ java.lang.String description,
+ int id,
+ int version,
+ int deprecated,
+ int encodedLength,
+ int offset,
+ int componentTokenCount,
+ Encoding encoding)
+Construct an
Token
by providing values for all fields.
+
+参数:
+signal
- for the token role.
+name
- of the token in the message.
+referencedName
- of the type when created from a ref in a composite.
+description
- of what the token is for.
+id
- as the identifier in the message declaration.
+version
- application within the template.
+deprecated
- as of this version.
+encodedLength
- of the component part.
+offset
- in the underlying message as octets.
+componentTokenCount
- number of tokens in this component.
+encoding
- of the primitive field.
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+matchOnLength
+public java.lang.CharSequence matchOnLength(java.util.function.Supplier<java.lang.CharSequence> one,
+ java.util.function.Supplier<java.lang.CharSequence> many)
+Match which approach to take based on the length of the token. If length is zero then an empty
+ String
is returned.
+
+参数:
+one
- to be used when length is one.
+many
- to be used when length is greater than one.
+返回:
+the CharSequence
representing the token depending on the length.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.html
new file mode 100644
index 0000000000..5b6c9500fa
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+ByteOrderCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<ByteOrderCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.ByteOrderCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.html
new file mode 100644
index 0000000000..9b84baf144
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.html
@@ -0,0 +1,1358 @@
+
+
+
+
+
+FrameCodecDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.FrameCodecDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.DirectBuffer
+buffer ()
+
+
+int
+encodedLength ()
+
+
+int
+getNamespaceName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getNamespaceName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getPackageName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getPackageName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticVersion (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticVersion (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+irId ()
+
+
+static int
+irIdEncodingLength ()
+
+
+static int
+irIdEncodingOffset ()
+
+
+static int
+irIdId ()
+
+
+static int
+irIdMaxValue ()
+
+
+static java.lang.String
+irIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irIdMinValue ()
+
+
+static int
+irIdNullValue ()
+
+
+static int
+irIdSinceVersion ()
+
+
+int
+irVersion ()
+
+
+static int
+irVersionEncodingLength ()
+
+
+static int
+irVersionEncodingOffset ()
+
+
+static int
+irVersionId ()
+
+
+static int
+irVersionMaxValue ()
+
+
+static java.lang.String
+irVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irVersionMinValue ()
+
+
+static int
+irVersionNullValue ()
+
+
+static int
+irVersionSinceVersion ()
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+java.lang.String
+namespaceName ()
+
+
+static java.lang.String
+namespaceNameCharacterEncoding ()
+
+
+static int
+namespaceNameHeaderLength ()
+
+
+static int
+namespaceNameId ()
+
+
+int
+namespaceNameLength ()
+
+
+static java.lang.String
+namespaceNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+namespaceNameSinceVersion ()
+
+
+int
+offset ()
+
+
+java.lang.String
+packageName ()
+
+
+static java.lang.String
+packageNameCharacterEncoding ()
+
+
+static int
+packageNameHeaderLength ()
+
+
+static int
+packageNameId ()
+
+
+int
+packageNameLength ()
+
+
+static java.lang.String
+packageNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+packageNameSinceVersion ()
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+int
+schemaVersion ()
+
+
+static int
+schemaVersionEncodingLength ()
+
+
+static int
+schemaVersionEncodingOffset ()
+
+
+static int
+schemaVersionId ()
+
+
+static int
+schemaVersionMaxValue ()
+
+
+static java.lang.String
+schemaVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+schemaVersionMinValue ()
+
+
+static int
+schemaVersionNullValue ()
+
+
+static int
+schemaVersionSinceVersion ()
+
+
+java.lang.String
+semanticVersion ()
+
+
+static java.lang.String
+semanticVersionCharacterEncoding ()
+
+
+static int
+semanticVersionHeaderLength ()
+
+
+static int
+semanticVersionId ()
+
+
+int
+semanticVersionLength ()
+
+
+static java.lang.String
+semanticVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+semanticVersionSinceVersion ()
+
+
+java.lang.String
+toString ()
+
+
+FrameCodecDecoder
+wrap (org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingBlockLength,
+ int actingVersion)
+
+
+void
+wrapNamespaceName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapPackageName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapSemanticVersion (org.agrona.DirectBuffer wrapBuffer)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.html
new file mode 100644
index 0000000000..9a5635dde0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.html
@@ -0,0 +1,1228 @@
+
+
+
+
+
+FrameCodecEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.FrameCodecEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.MutableDirectBuffer
+buffer ()
+
+
+int
+encodedLength ()
+
+
+FrameCodecEncoder
+irId (int value)
+
+
+static int
+irIdEncodingLength ()
+
+
+static int
+irIdEncodingOffset ()
+
+
+static int
+irIdId ()
+
+
+static int
+irIdMaxValue ()
+
+
+static java.lang.String
+irIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irIdMinValue ()
+
+
+static int
+irIdNullValue ()
+
+
+static int
+irIdSinceVersion ()
+
+
+FrameCodecEncoder
+irVersion (int value)
+
+
+static int
+irVersionEncodingLength ()
+
+
+static int
+irVersionEncodingOffset ()
+
+
+static int
+irVersionId ()
+
+
+static int
+irVersionMaxValue ()
+
+
+static java.lang.String
+irVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+irVersionMinValue ()
+
+
+static int
+irVersionNullValue ()
+
+
+static int
+irVersionSinceVersion ()
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+FrameCodecEncoder
+namespaceName (java.lang.String value)
+
+
+static java.lang.String
+namespaceNameCharacterEncoding ()
+
+
+static int
+namespaceNameHeaderLength ()
+
+
+static int
+namespaceNameId ()
+
+
+static java.lang.String
+namespaceNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+offset ()
+
+
+FrameCodecEncoder
+packageName (java.lang.String value)
+
+
+static java.lang.String
+packageNameCharacterEncoding ()
+
+
+static int
+packageNameHeaderLength ()
+
+
+static int
+packageNameId ()
+
+
+static java.lang.String
+packageNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+FrameCodecEncoder
+putNamespaceName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putNamespaceName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putPackageName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putPackageName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putSemanticVersion (byte[] src,
+ int srcOffset,
+ int length)
+
+
+FrameCodecEncoder
+putSemanticVersion (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+FrameCodecEncoder
+schemaVersion (int value)
+
+
+static int
+schemaVersionEncodingLength ()
+
+
+static int
+schemaVersionEncodingOffset ()
+
+
+static int
+schemaVersionId ()
+
+
+static int
+schemaVersionMaxValue ()
+
+
+static java.lang.String
+schemaVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+schemaVersionMinValue ()
+
+
+static int
+schemaVersionNullValue ()
+
+
+static int
+schemaVersionSinceVersion ()
+
+
+FrameCodecEncoder
+semanticVersion (java.lang.String value)
+
+
+static java.lang.String
+semanticVersionCharacterEncoding ()
+
+
+static int
+semanticVersionHeaderLength ()
+
+
+static int
+semanticVersionId ()
+
+
+static java.lang.String
+semanticVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+java.lang.String
+toString ()
+
+
+FrameCodecEncoder
+wrap (org.agrona.MutableDirectBuffer buffer,
+ int offset)
+
+
+FrameCodecEncoder
+wrapAndApplyHeader (org.agrona.MutableDirectBuffer buffer,
+ int offset,
+ MessageHeaderEncoder headerEncoder)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.html
new file mode 100644
index 0000000000..f88d85ef98
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.html
@@ -0,0 +1,819 @@
+
+
+
+
+
+MessageHeaderDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.MessageHeaderDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.html
new file mode 100644
index 0000000000..2caf650101
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.html
@@ -0,0 +1,767 @@
+
+
+
+
+
+MessageHeaderEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.MessageHeaderEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MetaAttribute.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MetaAttribute.html
new file mode 100644
index 0000000000..9e62561354
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/MetaAttribute.html
@@ -0,0 +1,364 @@
+
+
+
+
+
+MetaAttribute (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<MetaAttribute >
+
+
+uk.co.real_logic.sbe.ir.generated.MetaAttribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PresenceCodec.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PresenceCodec.html
new file mode 100644
index 0000000000..4220a79fbd
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PresenceCodec.html
@@ -0,0 +1,393 @@
+
+
+
+
+
+PresenceCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<PresenceCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.PresenceCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.html
new file mode 100644
index 0000000000..f795daef8b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.html
@@ -0,0 +1,501 @@
+
+
+
+
+
+PrimitiveTypeCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<PrimitiveTypeCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.PrimitiveTypeCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/SignalCodec.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/SignalCodec.html
new file mode 100644
index 0000000000..1078b7ff59
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/SignalCodec.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+SignalCodec (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<SignalCodec >
+
+
+uk.co.real_logic.sbe.ir.generated.SignalCodec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+value
+public short value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.html
new file mode 100644
index 0000000000..8d2a08a1a8
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.html
@@ -0,0 +1,3125 @@
+
+
+
+
+
+TokenCodecDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.TokenCodecDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.DirectBuffer
+buffer ()
+
+
+ByteOrderCodec
+byteOrder ()
+
+
+static int
+byteOrderEncodingLength ()
+
+
+static int
+byteOrderEncodingOffset ()
+
+
+static int
+byteOrderId ()
+
+
+static java.lang.String
+byteOrderMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+byteOrderSinceVersion ()
+
+
+java.lang.String
+characterEncoding ()
+
+
+static java.lang.String
+characterEncodingCharacterEncoding ()
+
+
+static int
+characterEncodingHeaderLength ()
+
+
+static int
+characterEncodingId ()
+
+
+int
+characterEncodingLength ()
+
+
+static java.lang.String
+characterEncodingMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+characterEncodingSinceVersion ()
+
+
+int
+componentTokenCount ()
+
+
+static int
+componentTokenCountEncodingLength ()
+
+
+static int
+componentTokenCountEncodingOffset ()
+
+
+static int
+componentTokenCountId ()
+
+
+static int
+componentTokenCountMaxValue ()
+
+
+static java.lang.String
+componentTokenCountMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+componentTokenCountMinValue ()
+
+
+static int
+componentTokenCountNullValue ()
+
+
+static int
+componentTokenCountSinceVersion ()
+
+
+java.lang.String
+constValue ()
+
+
+static java.lang.String
+constValueCharacterEncoding ()
+
+
+static int
+constValueHeaderLength ()
+
+
+static int
+constValueId ()
+
+
+int
+constValueLength ()
+
+
+static java.lang.String
+constValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+constValueSinceVersion ()
+
+
+int
+deprecated ()
+
+
+static int
+deprecatedEncodingLength ()
+
+
+static int
+deprecatedEncodingOffset ()
+
+
+static int
+deprecatedId ()
+
+
+static int
+deprecatedMaxValue ()
+
+
+static java.lang.String
+deprecatedMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+deprecatedMinValue ()
+
+
+static int
+deprecatedNullValue ()
+
+
+static int
+deprecatedSinceVersion ()
+
+
+java.lang.String
+description ()
+
+
+static java.lang.String
+descriptionCharacterEncoding ()
+
+
+static int
+descriptionHeaderLength ()
+
+
+static int
+descriptionId ()
+
+
+int
+descriptionLength ()
+
+
+static java.lang.String
+descriptionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+descriptionSinceVersion ()
+
+
+int
+encodedLength ()
+
+
+java.lang.String
+epoch ()
+
+
+static java.lang.String
+epochCharacterEncoding ()
+
+
+static int
+epochHeaderLength ()
+
+
+static int
+epochId ()
+
+
+int
+epochLength ()
+
+
+static java.lang.String
+epochMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+epochSinceVersion ()
+
+
+int
+fieldId ()
+
+
+static int
+fieldIdEncodingLength ()
+
+
+static int
+fieldIdEncodingOffset ()
+
+
+static int
+fieldIdId ()
+
+
+static int
+fieldIdMaxValue ()
+
+
+static java.lang.String
+fieldIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+fieldIdMinValue ()
+
+
+static int
+fieldIdNullValue ()
+
+
+static int
+fieldIdSinceVersion ()
+
+
+int
+getCharacterEncoding (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getCharacterEncoding (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getConstValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getConstValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getDescription (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getDescription (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getEpoch (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getEpoch (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMaxValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMaxValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMinValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getMinValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getNullValue (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getNullValue (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getReferencedName (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getReferencedName (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticType (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getSemanticType (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+getTimeUnit (byte[] dst,
+ int dstOffset,
+ int length)
+
+
+int
+getTimeUnit (org.agrona.MutableDirectBuffer dst,
+ int dstOffset,
+ int length)
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+java.lang.String
+maxValue ()
+
+
+static java.lang.String
+maxValueCharacterEncoding ()
+
+
+static int
+maxValueHeaderLength ()
+
+
+static int
+maxValueId ()
+
+
+int
+maxValueLength ()
+
+
+static java.lang.String
+maxValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+maxValueSinceVersion ()
+
+
+java.lang.String
+minValue ()
+
+
+static java.lang.String
+minValueCharacterEncoding ()
+
+
+static int
+minValueHeaderLength ()
+
+
+static int
+minValueId ()
+
+
+int
+minValueLength ()
+
+
+static java.lang.String
+minValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+minValueSinceVersion ()
+
+
+java.lang.String
+name ()
+
+
+static java.lang.String
+nameCharacterEncoding ()
+
+
+static int
+nameHeaderLength ()
+
+
+static int
+nameId ()
+
+
+int
+nameLength ()
+
+
+static java.lang.String
+nameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+nameSinceVersion ()
+
+
+java.lang.String
+nullValue ()
+
+
+static java.lang.String
+nullValueCharacterEncoding ()
+
+
+static int
+nullValueHeaderLength ()
+
+
+static int
+nullValueId ()
+
+
+int
+nullValueLength ()
+
+
+static java.lang.String
+nullValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+nullValueSinceVersion ()
+
+
+int
+offset ()
+
+
+PresenceCodec
+presence ()
+
+
+static int
+presenceEncodingLength ()
+
+
+static int
+presenceEncodingOffset ()
+
+
+static int
+presenceId ()
+
+
+static java.lang.String
+presenceMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+presenceSinceVersion ()
+
+
+PrimitiveTypeCodec
+primitiveType ()
+
+
+static int
+primitiveTypeEncodingLength ()
+
+
+static int
+primitiveTypeEncodingOffset ()
+
+
+static int
+primitiveTypeId ()
+
+
+static java.lang.String
+primitiveTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+primitiveTypeSinceVersion ()
+
+
+java.lang.String
+referencedName ()
+
+
+static java.lang.String
+referencedNameCharacterEncoding ()
+
+
+static int
+referencedNameHeaderLength ()
+
+
+static int
+referencedNameId ()
+
+
+int
+referencedNameLength ()
+
+
+static java.lang.String
+referencedNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+referencedNameSinceVersion ()
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+java.lang.String
+semanticType ()
+
+
+static java.lang.String
+semanticTypeCharacterEncoding ()
+
+
+static int
+semanticTypeHeaderLength ()
+
+
+static int
+semanticTypeId ()
+
+
+int
+semanticTypeLength ()
+
+
+static java.lang.String
+semanticTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+semanticTypeSinceVersion ()
+
+
+SignalCodec
+signal ()
+
+
+static int
+signalEncodingLength ()
+
+
+static int
+signalEncodingOffset ()
+
+
+static int
+signalId ()
+
+
+static java.lang.String
+signalMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+signalSinceVersion ()
+
+
+java.lang.String
+timeUnit ()
+
+
+static java.lang.String
+timeUnitCharacterEncoding ()
+
+
+static int
+timeUnitHeaderLength ()
+
+
+static int
+timeUnitId ()
+
+
+int
+timeUnitLength ()
+
+
+static java.lang.String
+timeUnitMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+timeUnitSinceVersion ()
+
+
+int
+tokenOffset ()
+
+
+static int
+tokenOffsetEncodingLength ()
+
+
+static int
+tokenOffsetEncodingOffset ()
+
+
+static int
+tokenOffsetId ()
+
+
+static int
+tokenOffsetMaxValue ()
+
+
+static java.lang.String
+tokenOffsetMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenOffsetMinValue ()
+
+
+static int
+tokenOffsetNullValue ()
+
+
+static int
+tokenOffsetSinceVersion ()
+
+
+int
+tokenSize ()
+
+
+static int
+tokenSizeEncodingLength ()
+
+
+static int
+tokenSizeEncodingOffset ()
+
+
+static int
+tokenSizeId ()
+
+
+static int
+tokenSizeMaxValue ()
+
+
+static java.lang.String
+tokenSizeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenSizeMinValue ()
+
+
+static int
+tokenSizeNullValue ()
+
+
+static int
+tokenSizeSinceVersion ()
+
+
+int
+tokenVersion ()
+
+
+static int
+tokenVersionEncodingLength ()
+
+
+static int
+tokenVersionEncodingOffset ()
+
+
+static int
+tokenVersionId ()
+
+
+static int
+tokenVersionMaxValue ()
+
+
+static java.lang.String
+tokenVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenVersionMinValue ()
+
+
+static int
+tokenVersionNullValue ()
+
+
+static int
+tokenVersionSinceVersion ()
+
+
+java.lang.String
+toString ()
+
+
+TokenCodecDecoder
+wrap (org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingBlockLength,
+ int actingVersion)
+
+
+void
+wrapCharacterEncoding (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapConstValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapDescription (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapEpoch (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapMaxValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapMinValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapNullValue (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapReferencedName (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapSemanticType (org.agrona.DirectBuffer wrapBuffer)
+
+
+void
+wrapTimeUnit (org.agrona.DirectBuffer wrapBuffer)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.html
new file mode 100644
index 0000000000..7bb325574e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.html
@@ -0,0 +1,2683 @@
+
+
+
+
+
+TokenCodecEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.TokenCodecEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.StringBuilder
+appendTo (java.lang.StringBuilder builder)
+
+
+org.agrona.MutableDirectBuffer
+buffer ()
+
+
+TokenCodecEncoder
+byteOrder (ByteOrderCodec value)
+
+
+static int
+byteOrderEncodingLength ()
+
+
+static int
+byteOrderEncodingOffset ()
+
+
+static int
+byteOrderId ()
+
+
+static java.lang.String
+byteOrderMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+byteOrderSinceVersion ()
+
+
+TokenCodecEncoder
+characterEncoding (java.lang.String value)
+
+
+static java.lang.String
+characterEncodingCharacterEncoding ()
+
+
+static int
+characterEncodingHeaderLength ()
+
+
+static int
+characterEncodingId ()
+
+
+static java.lang.String
+characterEncodingMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+componentTokenCount (int value)
+
+
+static int
+componentTokenCountEncodingLength ()
+
+
+static int
+componentTokenCountEncodingOffset ()
+
+
+static int
+componentTokenCountId ()
+
+
+static int
+componentTokenCountMaxValue ()
+
+
+static java.lang.String
+componentTokenCountMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+componentTokenCountMinValue ()
+
+
+static int
+componentTokenCountNullValue ()
+
+
+static int
+componentTokenCountSinceVersion ()
+
+
+TokenCodecEncoder
+constValue (java.lang.String value)
+
+
+static java.lang.String
+constValueCharacterEncoding ()
+
+
+static int
+constValueHeaderLength ()
+
+
+static int
+constValueId ()
+
+
+static java.lang.String
+constValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+deprecated (int value)
+
+
+static int
+deprecatedEncodingLength ()
+
+
+static int
+deprecatedEncodingOffset ()
+
+
+static int
+deprecatedId ()
+
+
+static int
+deprecatedMaxValue ()
+
+
+static java.lang.String
+deprecatedMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+deprecatedMinValue ()
+
+
+static int
+deprecatedNullValue ()
+
+
+static int
+deprecatedSinceVersion ()
+
+
+TokenCodecEncoder
+description (java.lang.String value)
+
+
+static java.lang.String
+descriptionCharacterEncoding ()
+
+
+static int
+descriptionHeaderLength ()
+
+
+static int
+descriptionId ()
+
+
+static java.lang.String
+descriptionMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+encodedLength ()
+
+
+TokenCodecEncoder
+epoch (java.lang.String value)
+
+
+static java.lang.String
+epochCharacterEncoding ()
+
+
+static int
+epochHeaderLength ()
+
+
+static int
+epochId ()
+
+
+static java.lang.String
+epochMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+fieldId (int value)
+
+
+static int
+fieldIdEncodingLength ()
+
+
+static int
+fieldIdEncodingOffset ()
+
+
+static int
+fieldIdId ()
+
+
+static int
+fieldIdMaxValue ()
+
+
+static java.lang.String
+fieldIdMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+fieldIdMinValue ()
+
+
+static int
+fieldIdNullValue ()
+
+
+static int
+fieldIdSinceVersion ()
+
+
+int
+limit ()
+
+
+void
+limit (int limit)
+
+
+TokenCodecEncoder
+maxValue (java.lang.String value)
+
+
+static java.lang.String
+maxValueCharacterEncoding ()
+
+
+static int
+maxValueHeaderLength ()
+
+
+static int
+maxValueId ()
+
+
+static java.lang.String
+maxValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+minValue (java.lang.String value)
+
+
+static java.lang.String
+minValueCharacterEncoding ()
+
+
+static int
+minValueHeaderLength ()
+
+
+static int
+minValueId ()
+
+
+static java.lang.String
+minValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+name (java.lang.String value)
+
+
+static java.lang.String
+nameCharacterEncoding ()
+
+
+static int
+nameHeaderLength ()
+
+
+static int
+nameId ()
+
+
+static java.lang.String
+nameMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+nullValue (java.lang.String value)
+
+
+static java.lang.String
+nullValueCharacterEncoding ()
+
+
+static int
+nullValueHeaderLength ()
+
+
+static int
+nullValueId ()
+
+
+static java.lang.String
+nullValueMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+offset ()
+
+
+TokenCodecEncoder
+presence (PresenceCodec value)
+
+
+static int
+presenceEncodingLength ()
+
+
+static int
+presenceEncodingOffset ()
+
+
+static int
+presenceId ()
+
+
+static java.lang.String
+presenceMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+presenceSinceVersion ()
+
+
+TokenCodecEncoder
+primitiveType (PrimitiveTypeCodec value)
+
+
+static int
+primitiveTypeEncodingLength ()
+
+
+static int
+primitiveTypeEncodingOffset ()
+
+
+static int
+primitiveTypeId ()
+
+
+static java.lang.String
+primitiveTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+primitiveTypeSinceVersion ()
+
+
+TokenCodecEncoder
+putCharacterEncoding (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putCharacterEncoding (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putConstValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putConstValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putDescription (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putDescription (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putEpoch (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putEpoch (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMaxValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMaxValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMinValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putMinValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putNullValue (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putNullValue (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putReferencedName (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putReferencedName (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putSemanticType (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putSemanticType (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putTimeUnit (byte[] src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+putTimeUnit (org.agrona.DirectBuffer src,
+ int srcOffset,
+ int length)
+
+
+TokenCodecEncoder
+referencedName (java.lang.String value)
+
+
+static java.lang.String
+referencedNameCharacterEncoding ()
+
+
+static int
+referencedNameHeaderLength ()
+
+
+static int
+referencedNameId ()
+
+
+static java.lang.String
+referencedNameMetaAttribute (MetaAttribute metaAttribute)
+
+
+int
+sbeBlockLength ()
+
+
+int
+sbeSchemaId ()
+
+
+int
+sbeSchemaVersion ()
+
+
+java.lang.String
+sbeSemanticType ()
+
+
+int
+sbeTemplateId ()
+
+
+TokenCodecEncoder
+semanticType (java.lang.String value)
+
+
+static java.lang.String
+semanticTypeCharacterEncoding ()
+
+
+static int
+semanticTypeHeaderLength ()
+
+
+static int
+semanticTypeId ()
+
+
+static java.lang.String
+semanticTypeMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+signal (SignalCodec value)
+
+
+static int
+signalEncodingLength ()
+
+
+static int
+signalEncodingOffset ()
+
+
+static int
+signalId ()
+
+
+static java.lang.String
+signalMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+signalSinceVersion ()
+
+
+TokenCodecEncoder
+timeUnit (java.lang.String value)
+
+
+static java.lang.String
+timeUnitCharacterEncoding ()
+
+
+static int
+timeUnitHeaderLength ()
+
+
+static int
+timeUnitId ()
+
+
+static java.lang.String
+timeUnitMetaAttribute (MetaAttribute metaAttribute)
+
+
+TokenCodecEncoder
+tokenOffset (int value)
+
+
+static int
+tokenOffsetEncodingLength ()
+
+
+static int
+tokenOffsetEncodingOffset ()
+
+
+static int
+tokenOffsetId ()
+
+
+static int
+tokenOffsetMaxValue ()
+
+
+static java.lang.String
+tokenOffsetMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenOffsetMinValue ()
+
+
+static int
+tokenOffsetNullValue ()
+
+
+static int
+tokenOffsetSinceVersion ()
+
+
+TokenCodecEncoder
+tokenSize (int value)
+
+
+static int
+tokenSizeEncodingLength ()
+
+
+static int
+tokenSizeEncodingOffset ()
+
+
+static int
+tokenSizeId ()
+
+
+static int
+tokenSizeMaxValue ()
+
+
+static java.lang.String
+tokenSizeMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenSizeMinValue ()
+
+
+static int
+tokenSizeNullValue ()
+
+
+static int
+tokenSizeSinceVersion ()
+
+
+TokenCodecEncoder
+tokenVersion (int value)
+
+
+static int
+tokenVersionEncodingLength ()
+
+
+static int
+tokenVersionEncodingOffset ()
+
+
+static int
+tokenVersionId ()
+
+
+static int
+tokenVersionMaxValue ()
+
+
+static java.lang.String
+tokenVersionMetaAttribute (MetaAttribute metaAttribute)
+
+
+static int
+tokenVersionMinValue ()
+
+
+static int
+tokenVersionNullValue ()
+
+
+static int
+tokenVersionSinceVersion ()
+
+
+java.lang.String
+toString ()
+
+
+TokenCodecEncoder
+wrap (org.agrona.MutableDirectBuffer buffer,
+ int offset)
+
+
+TokenCodecEncoder
+wrapAndApplyHeader (org.agrona.MutableDirectBuffer buffer,
+ int offset,
+ MessageHeaderEncoder headerEncoder)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+offset
+protected int offset
+
+
+
+
+
+
+
+limit
+protected int limit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.html
new file mode 100644
index 0000000000..7e717157d0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.html
@@ -0,0 +1,623 @@
+
+
+
+
+
+VarDataEncodingDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.VarDataEncodingDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.html
new file mode 100644
index 0000000000..cf3a9e3962
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.html
@@ -0,0 +1,597 @@
+
+
+
+
+
+VarDataEncodingEncoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.ir.generated.VarDataEncodingEncoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-frame.html
new file mode 100644
index 0000000000..df059eb01d
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-frame.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir.generated (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-summary.html
new file mode 100644
index 0000000000..ba9ae0e044
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-summary.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir.generated (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-tree.html
new file mode 100644
index 0000000000..9f17535c4e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/generated/package-tree.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir.generated 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-frame.html
new file mode 100644
index 0000000000..1de1725a6b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-frame.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-summary.html
new file mode 100644
index 0000000000..ada5efe38d
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-summary.html
@@ -0,0 +1,217 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+Encoding
+
+Optional encoding settings that can be associated with
Token
s.
+
+
+
+Encoding.Builder
+
+Builder to make
Encoding
easier to create.
+
+
+
+GenerationUtil
+
+Common code generation utility functions to be used by the different language specific backends.
+
+
+
+HeaderStructure
+
+Metadata description for a message headerStructure
+
+
+
+Ir
+
+Intermediate representation of SBE messages to be used for the generation of encoders and decoders
+ as stubs in various languages.
+
+
+
+IrDecoder
+
+
+
+IrEncoder
+
+
+
+IrUtil
+
+
+
+MessageComponents
+
+
+
+Token
+
+Class to encapsulate a token of information for the message schema stream.
+
+
+
+Token.Builder
+
+
+
+
+
+
+
+枚举概要
+
+枚举
+说明
+
+
+
+Encoding.Presence
+
+Indicates the presence status of a primitive encoded field in a message.
+
+
+
+Signal
+
+Signal the
Token
role within a stream of tokens.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-tree.html
new file mode 100644
index 0000000000..cc0aef65a0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/ir/package-tree.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+uk.co.real_logic.sbe.ir 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonPrinter.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonPrinter.html
new file mode 100644
index 0000000000..24beba2c61
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonPrinter.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+JsonPrinter (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.json.JsonPrinter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.lang.String
+print (java.nio.ByteBuffer encodedMessage)
+
+
+void
+print (java.nio.ByteBuffer encodedMessage,
+ java.lang.StringBuilder output)
+
+
+void
+print (java.lang.StringBuilder output,
+ org.agrona.concurrent.UnsafeBuffer buffer,
+ int bufferOffset)
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonTokenListener.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonTokenListener.html
new file mode 100644
index 0000000000..240b377451
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/JsonTokenListener.html
@@ -0,0 +1,610 @@
+
+
+
+
+
+JsonTokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.json.JsonTokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+
+
+void
+onBeginGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+
+
+void
+onBeginMessage (Token token)
+Called on beginning the decoding of a message.
+
+
+
+void
+onBitSet (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+
+
+void
+onEncoding (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered.
+
+
+
+void
+onEndComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+
+
+void
+onEndGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+
+
+void
+onEndMessage (Token token)
+Called on end of decoding of a message.
+
+
+
+void
+onEnum (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+
+
+void
+onGroupHeader (Token token,
+ int numInGroup)
+Group encountered.
+
+
+
+void
+onVarData (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+public void onEncoding(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+
+Primitive encoded type encountered. This can be a root block field or field within a composite or group.
+
+ Within a composite the typeToken and fieldToken are the same.
+
+指定者:
+onEncoding
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+typeToken
- of the encoded primitive value.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onEnum
+public void onEnum(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+Enum encoded type encountered.
+
+指定者:
+onEnum
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the enum metadata begins.
+toIndex
- at which the enum metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBitSet
+public void onBitSet(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+BitSet encoded type encountered.
+
+指定者:
+onBitSet
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the bit set metadata begins.
+toIndex
- at which the bit set metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBeginComposite
+public void onBeginComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+Beginning of Composite encoded type encountered.
+
+指定者:
+onBeginComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+onEndComposite
+public void onEndComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+End of Composite encoded type encountered.
+
+指定者:
+onEndComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+
+
+
+
+onBeginGroup
+public void onBeginGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+Beginning of group encoded type encountered.
+
+指定者:
+onBeginGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onEndGroup
+public void onEndGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+End of group encoded type encountered.
+
+指定者:
+onEndGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onVarData
+public void onVarData(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+
+Var data field encountered.
+
+指定者:
+onVarData
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the var data field.
+buffer
- containing the encoded message.
+bufferIndex
- at which the variable data begins.
+length
- of the variable data in bytes.
+typeToken
- of the variable data. Needed to determine character encoding of the variable data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-frame.html
new file mode 100644
index 0000000000..be7c930c58
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-frame.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+uk.co.real_logic.sbe.json (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-summary.html
new file mode 100644
index 0000000000..7456955c70
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-summary.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+uk.co.real_logic.sbe.json (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-tree.html
new file mode 100644
index 0000000000..477244cf17
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/json/package-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+uk.co.real_logic.sbe.json 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/AbstractTokenListener.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/AbstractTokenListener.html
new file mode 100644
index 0000000000..a9c9531b73
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/AbstractTokenListener.html
@@ -0,0 +1,614 @@
+
+
+
+
+
+AbstractTokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.AbstractTokenListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+
+
+void
+onBeginGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+
+
+void
+onBeginMessage (Token token)
+Called on beginning the decoding of a message.
+
+
+
+void
+onBitSet (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+
+
+void
+onEncoding (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered.
+
+
+
+void
+onEndComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+
+
+void
+onEndGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+
+
+void
+onEndMessage (Token token)
+Called on end of decoding of a message.
+
+
+
+void
+onEnum (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+
+
+void
+onGroupHeader (Token token,
+ int numInGroup)
+Group encountered.
+
+
+
+void
+onVarData (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+public void onEncoding(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+
+Primitive encoded type encountered. This can be a root block field or field within a composite or group.
+
+ Within a composite the typeToken and fieldToken are the same.
+
+指定者:
+onEncoding
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+typeToken
- of the encoded primitive value.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onEnum
+public void onEnum(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+Enum encoded type encountered.
+
+指定者:
+onEnum
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the enum metadata begins.
+toIndex
- at which the enum metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBitSet
+public void onBitSet(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+
+BitSet encoded type encountered.
+
+指定者:
+onBitSet
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the bit set metadata begins.
+toIndex
- at which the bit set metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBeginComposite
+public void onBeginComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+Beginning of Composite encoded type encountered.
+
+指定者:
+onBeginComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+onEndComposite
+public void onEndComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+
+End of Composite encoded type encountered.
+
+指定者:
+onEndComposite
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+
+
+
+
+onBeginGroup
+public void onBeginGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+Beginning of group encoded type encountered.
+
+指定者:
+onBeginGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onEndGroup
+public void onEndGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+
+End of group encoded type encountered.
+
+指定者:
+onEndGroup
在接口中 TokenListener
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onVarData
+public void onVarData(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+
+Var data field encountered.
+
+指定者:
+onVarData
在接口中 TokenListener
+参数:
+fieldToken
- in the IR representing the var data field.
+buffer
- containing the encoded message.
+bufferIndex
- at which the variable data begins.
+length
- of the variable data in bytes.
+typeToken
- of the variable data. Needed to determine character encoding of the variable data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.html
new file mode 100644
index 0000000000..91d6510213
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+OtfHeaderDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.OtfHeaderDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+OtfHeaderDecoder (HeaderStructure headerStructure)
+Read the message header structure and cache the meta data for finding the key fields for decoding messages.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+int
+encodedLength ()
+The encodedLength of the message header in bytes.
+
+
+
+int
+getBlockLength (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the block length of the root block in the message.
+
+
+
+int
+getSchemaId (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema id number from the message header.
+
+
+
+int
+getSchemaVersion (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema version number from the message header.
+
+
+
+int
+getTemplateId (org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the template id from the message header.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+getTemplateId
+public int getTemplateId(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the template id from the message header.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the value of the template id.
+
+
+
+
+
+
+
+
+getSchemaId
+public int getSchemaId(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema id number from the message header.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the value of the schema id number.
+
+
+
+
+
+
+
+
+getSchemaVersion
+public int getSchemaVersion(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the schema version number from the message header.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the value of the schema version number.
+
+
+
+
+
+
+
+
+getBlockLength
+public int getBlockLength(org.agrona.DirectBuffer buffer,
+ int bufferOffset)
+Get the block length of the root block in the message.
+
+参数:
+buffer
- from which to read the value.
+bufferOffset
- in the buffer at which the message header begins.
+返回:
+the length of the root block in the coming message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfMessageDecoder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfMessageDecoder.html
new file mode 100644
index 0000000000..44a1346901
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/OtfMessageDecoder.html
@@ -0,0 +1,302 @@
+
+
+
+
+
+OtfMessageDecoder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.OtfMessageDecoder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static int
+decode (org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingVersion,
+ int blockLength,
+ java.util.List<Token > msgTokens,
+ TokenListener listener)
+Decode a message from the provided buffer based on the message schema described with IR
Token
s.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+decode
+public static int decode(org.agrona.DirectBuffer buffer,
+ int offset,
+ int actingVersion,
+ int blockLength,
+ java.util.List<Token > msgTokens,
+ TokenListener listener)
+Decode a message from the provided buffer based on the message schema described with IR
Token
s.
+
+参数:
+buffer
- containing the encoded message.
+offset
- at which the message encoding starts in the buffer.
+actingVersion
- of the encoded message for dealing with extension fields.
+blockLength
- of the root message fields.
+msgTokens
- in IR format describing the message structure.
+listener
- to callback for decoding the primitive values as discovered in the structure.
+返回:
+the index in the underlying buffer after decoding.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/TokenListener.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/TokenListener.html
new file mode 100644
index 0000000000..12282e6c1a
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/TokenListener.html
@@ -0,0 +1,530 @@
+
+
+
+
+
+TokenListener (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 抽象方法
+
+限定符和类型
+方法和说明
+
+
+void
+onBeginComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+
+
+void
+onBeginGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+
+
+void
+onBeginMessage (Token token)
+Called on beginning the decoding of a message.
+
+
+
+void
+onBitSet (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+
+
+void
+onEncoding (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered.
+
+
+
+void
+onEndComposite (Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+
+
+void
+onEndGroup (Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+
+
+void
+onEndMessage (Token token)
+Called on end of decoding of a message.
+
+
+
+void
+onEnum (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+
+
+void
+onGroupHeader (Token token,
+ int numInGroup)
+Group encountered.
+
+
+
+void
+onVarData (Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+onEncoding
+void onEncoding(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ Token typeToken,
+ int actingVersion)
+Primitive encoded type encountered. This can be a root block field or field within a composite or group.
+
+ Within a composite the typeToken and fieldToken are the same.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+typeToken
- of the encoded primitive value.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onEnum
+void onEnum(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+Enum encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the enum metadata begins.
+toIndex
- at which the enum metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBitSet
+void onBitSet(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex,
+ int actingVersion)
+BitSet encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+buffer
- containing the encoded message.
+bufferIndex
- at which the encoded field begins.
+tokens
- describing the message.
+fromIndex
- at which the bit set metadata begins.
+toIndex
- at which the bit set metadata ends.
+actingVersion
- of the encoded message for determining validity of extension fields.
+
+
+
+
+
+
+
+
+onBeginComposite
+void onBeginComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+Beginning of Composite encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+onEndComposite
+void onEndComposite(Token fieldToken,
+ java.util.List<Token > tokens,
+ int fromIndex,
+ int toIndex)
+End of Composite encoded type encountered.
+
+参数:
+fieldToken
- in the IR representing the field of the message root or group.
+tokens
- describing the message.
+fromIndex
- at which the composite metadata begins.
+toIndex
- at which the composite metadata ends.
+
+
+
+
+
+
+
+
+
+
+
+
+onBeginGroup
+void onBeginGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+Beginning of group encoded type encountered.
+
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onEndGroup
+void onEndGroup(Token token,
+ int groupIndex,
+ int numInGroup)
+End of group encoded type encountered.
+
+参数:
+token
- describing the group.
+groupIndex
- index for the repeat count of the group.
+numInGroup
- number of times the group will be repeated.
+
+
+
+
+
+
+
+
+onVarData
+void onVarData(Token fieldToken,
+ org.agrona.DirectBuffer buffer,
+ int bufferIndex,
+ int length,
+ Token typeToken)
+Var data field encountered.
+
+参数:
+fieldToken
- in the IR representing the var data field.
+buffer
- containing the encoded message.
+bufferIndex
- at which the variable data begins.
+length
- of the variable data in bytes.
+typeToken
- of the variable data. Needed to determine character encoding of the variable data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/Types.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/Types.html
new file mode 100644
index 0000000000..188f5e42db
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/Types.html
@@ -0,0 +1,346 @@
+
+
+
+
+
+Types (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.otf.Types
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Types ()
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+appendAsString (java.lang.StringBuilder sb,
+ org.agrona.DirectBuffer buffer,
+ int index,
+ Encoding encoding)
+Append an encoding as a String to a StringBuilder
.
+
+
+
+static int
+getInt (org.agrona.DirectBuffer buffer,
+ int index,
+ PrimitiveType type,
+ java.nio.ByteOrder byteOrder)
+Get an integer value from a buffer at a given index for a
PrimitiveType
.
+
+
+
+static long
+getLong (org.agrona.DirectBuffer buffer,
+ int index,
+ Encoding encoding)
+Get a long value from a buffer at a given index for a given
Encoding
.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Types
+public Types()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+getInt
+public static int getInt(org.agrona.DirectBuffer buffer,
+ int index,
+ PrimitiveType type,
+ java.nio.ByteOrder byteOrder)
+Get an integer value from a buffer at a given index for a
PrimitiveType
.
+
+参数:
+buffer
- from which to read.
+index
- at which he integer should be read.
+type
- of the integer encoded in the buffer.
+byteOrder
- of the integer in the buffer.
+返回:
+the value of the encoded integer.
+
+
+
+
+
+
+
+
+
+
+
+
+appendAsString
+public static void appendAsString(java.lang.StringBuilder sb,
+ org.agrona.DirectBuffer buffer,
+ int index,
+ Encoding encoding)
+Append an encoding as a String to a StringBuilder
.
+
+参数:
+sb
- to append the encoding to.
+buffer
- containing the encoded value.
+index
- at which the encoded value exists.
+encoding
- representing the encoded value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-frame.html
new file mode 100644
index 0000000000..be7d694c90
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-frame.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+uk.co.real_logic.sbe.otf (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-summary.html
new file mode 100644
index 0000000000..c965afaa4a
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-summary.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+uk.co.real_logic.sbe.otf (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+接口概要
+
+接口
+说明
+
+
+
+TokenListener
+
+Callback interface to be implemented by code wanting to decode messages on-the-fly.
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+AbstractTokenListener
+
+Abstract
TokenListener
that can be extended when not all callback methods are required.
+
+
+
+OtfHeaderDecoder
+
+Used to decode a message header while doing on-the-fly decoding of a message stream.
+
+
+
+OtfMessageDecoder
+
+On-the-fly decoder that dynamically decodes messages based on the IR for a schema.
+
+
+
+Types
+
+Utility functions for applying to types to help with on-the-fly (OTF) decoding.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-tree.html
new file mode 100644
index 0000000000..e9a9fa2a18
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/otf/package-tree.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+uk.co.real_logic.sbe.otf 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html
new file mode 100644
index 0000000000..91cd901678
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-frame.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+uk.co.real_logic.sbe (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html
new file mode 100644
index 0000000000..8db1cedc78
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-summary.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+uk.co.real_logic.sbe (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+PrimitiveValue
+
+Class used to encapsulate values for primitives.
+
+
+
+SbeTool
+
+A tool for running the SBE parser, validator, and code generator.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html
new file mode 100644
index 0000000000..8b84e91535
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/package-tree.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+uk.co.real_logic.sbe 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/ValidationUtil.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/ValidationUtil.html
new file mode 100644
index 0000000000..d0c79461e2
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/ValidationUtil.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+ValidationUtil (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.util.ValidationUtil
+
+
+
+
+
+
+
+
+public class ValidationUtil
+extends java.lang.Object
+Various validation utilities used across parser, IR, and generator
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static boolean
+isCppKeyword (java.lang.String token)
+
+
+static boolean
+isCSharpKeyword (java.lang.String token)
+
+
+static boolean
+isGolangKeyword (java.lang.String token)
+
+
+static boolean
+isJavaKeyword (java.lang.String token)
+Is this token a Java keyword?
+
+
+
+static boolean
+isSbeCppName (java.lang.String value)
+Check value for validity of usage as a C++ identifier.
+
+
+
+static boolean
+isSbeCSharpName (java.lang.String value)
+"Check" value for validity of usage as a csharp identifier.
+
+
+
+static boolean
+isSbeGolangName (java.lang.String value)
+"Check" value for validity of usage as a golang identifier.
+
+
+
+static boolean
+isSbeJavaName (java.lang.String value)
+Check string for validity of usage as a Java identifier.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+ValidationUtil
+public ValidationUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-frame.html
new file mode 100644
index 0000000000..6edcc9c651
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-frame.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+uk.co.real_logic.sbe.util (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-summary.html
new file mode 100644
index 0000000000..5cf8f6301e
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-summary.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+uk.co.real_logic.sbe.util (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+ValidationUtil
+
+Various validation utilities used across parser, IR, and generator
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-tree.html
new file mode 100644
index 0000000000..93893b9dc0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/util/package-tree.html
@@ -0,0 +1,136 @@
+
+
+
+
+
+uk.co.real_logic.sbe.util 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/CompositeType.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/CompositeType.html
new file mode 100644
index 0000000000..a625b8f166
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/CompositeType.html
@@ -0,0 +1,562 @@
+
+
+
+
+
+CompositeType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+CompositeType (org.w3c.dom.Node node)
+
+
+CompositeType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName,
+ java.util.List<java.lang.String> compositesPath)
+Construct a new compositeType from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+checkForValidOffsets (org.w3c.dom.Node node)
+Check the composite for any specified offsets and validate they are correctly specified.
+
+
+
+void
+checkForWellFormedGroupSizeEncoding (org.w3c.dom.Node node)
+Check the composite for being a well formed group encodedLength encoding.
+
+
+
+void
+checkForWellFormedMessageHeader (org.w3c.dom.Node node)
+Check the composite for being a well formed message headerStructure encoding.
+
+
+
+void
+checkForWellFormedVariableLengthDataEncoding (org.w3c.dom.Node node)
+Check the composite for being a well formed variable length data encoding.
+
+
+
+int
+encodedLength ()
+The encodedLength (in octets) of the list of EncodedDataTypes
+
+
+
+Type
+getType (java.lang.String name)
+Return the EncodedDataType within this composite with the given name
+
+
+
+java.util.List<Type >
+getTypeList ()
+Return list of the
Type
s that compose this composite
+
+
+
+boolean
+isVariableLength ()
+
+
+void
+makeDataFieldCompositeType ()
+Make this composite type, if it has a varData member, variable length
+ by making the EncodedDataType with the name "varData" be variable length.
+
+
+
+java.lang.String
+toString ()
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+CompositeType
+public CompositeType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName,
+ java.util.List<java.lang.String> compositesPath)
+ throws javax.xml.xpath.XPathExpressionException
+Construct a new compositeType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for this node.
+referencedName
- of the type when created from a ref in a composite.
+compositesPath
- with the path of composites that represents the levels of composition.
+抛出:
+javax.xml.xpath.XPathExpressionException
- if the XPath is invalid.
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+makeDataFieldCompositeType
+public void makeDataFieldCompositeType()
+Make this composite type, if it has a varData member, variable length
+ by making the EncodedDataType with the name "varData" be variable length.
+
+
+
+
+
+
+
+checkForWellFormedGroupSizeEncoding
+public void checkForWellFormedGroupSizeEncoding(org.w3c.dom.Node node)
+Check the composite for being a well formed group encodedLength encoding. This means
+ that there are the fields "blockLength" and "numInGroup" present.
+
+参数:
+node
- of the XML for this composite
+
+
+
+
+
+
+
+
+checkForWellFormedVariableLengthDataEncoding
+public void checkForWellFormedVariableLengthDataEncoding(org.w3c.dom.Node node)
+Check the composite for being a well formed variable length data encoding. This means
+ that there are the fields "length" and "varData" present.
+
+参数:
+node
- of the XML for this composite
+
+
+
+
+
+
+
+
+checkForWellFormedMessageHeader
+public void checkForWellFormedMessageHeader(org.w3c.dom.Node node)
+Check the composite for being a well formed message headerStructure encoding. This means
+ that there are the fields "blockLength", "templateId" and "version" present.
+
+参数:
+node
- of the XML for this composite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EncodedDataType.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EncodedDataType.html
new file mode 100644
index 0000000000..13da2afe64
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EncodedDataType.html
@@ -0,0 +1,616 @@
+
+
+
+
+
+EncodedDataType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+EncodedDataType (org.w3c.dom.Node node)
+Construct a new encodedDataType from XML Schema.
+
+
+
+EncodedDataType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new encodedDataType from XML Schema.
+
+
+
+EncodedDataType (java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ java.lang.String semanticType,
+ PrimitiveType primitiveType,
+ int length,
+ boolean varLen)
+Construct a new EncodedDataType with direct values.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+EncodedDataType
+public EncodedDataType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new encodedDataType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for this node.
+referencedName
- of the type when created from a ref in a composite.
+
+
+
+
+
+
+
+
+EncodedDataType
+public EncodedDataType(java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ java.lang.String semanticType,
+ PrimitiveType primitiveType,
+ int length,
+ boolean varLen)
+Construct a new EncodedDataType with direct values. Does not handle constant values.
+
+参数:
+name
- of the type
+presence
- of the type
+description
- of the type or null
+semanticType
- of the type or null
+primitiveType
- of the EncodedDataType
+length
- of the EncodedDataType
+varLen
- of the EncodedDataType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.ValidValue.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.ValidValue.html
new file mode 100644
index 0000000000..2b641ae636
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.ValidValue.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+EnumType.ValidValue (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.EnumType.ValidValue
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+ValidValue (org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a ValidValue given the XML node and the encodingType.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+ValidValue
+public ValidValue(org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a ValidValue given the XML node and the encodingType.
+
+参数:
+node
- that contains the validValue
+encodingType
- for the enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.html
new file mode 100644
index 0000000000..df07bf5eea
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/EnumType.html
@@ -0,0 +1,524 @@
+
+
+
+
+
+EnumType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+嵌套类概要
+
+嵌套类
+
+限定符和类型
+类和说明
+
+
+static class
+EnumType.ValidValue
+Class to hold valid values for EnumType
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static java.lang.String
+ENUM_TYPE
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+EnumType (org.w3c.dom.Node node)
+
+
+EnumType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new enumType from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+EnumType
+public EnumType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+ throws javax.xml.xpath.XPathExpressionException
+Construct a new enumType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for the node.
+referencedName
- of the type when created from a ref in a composite.
+抛出:
+javax.xml.xpath.XPathExpressionException
- if the XPath is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ErrorHandler.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ErrorHandler.html
new file mode 100644
index 0000000000..2a49ab4e65
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ErrorHandler.html
@@ -0,0 +1,404 @@
+
+
+
+
+
+ErrorHandler (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.ErrorHandler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+void
+checkIfShouldExit ()
+Check if the parser should exit.
+
+
+
+void
+error (java.lang.String msg)
+Record a message signifying an error condition.
+
+
+
+int
+errorCount ()
+The count of errors encountered.
+
+
+
+java.lang.String
+toString ()
+
+
+void
+warning (java.lang.String msg)
+Record a message signifying an warning condition.
+
+
+
+int
+warningCount ()
+The count of warnings encountered.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.Builder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.Builder.html
new file mode 100644
index 0000000000..e80e639f93
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.Builder.html
@@ -0,0 +1,469 @@
+
+
+
+
+
+Field.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Field.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.html
new file mode 100644
index 0000000000..124a38a6c0
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Field.html
@@ -0,0 +1,650 @@
+
+
+
+
+
+Field (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Field
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static int
+INVALID_ID
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Field (java.lang.String name,
+ java.lang.String description,
+ int id,
+ Type type,
+ int offset,
+ java.lang.String semanticType,
+ Presence presence,
+ java.lang.String valueRef,
+ int blockLength,
+ CompositeType dimensionType,
+ boolean variableLength,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String epoch,
+ java.lang.String timeUnit)
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Field
+public Field(java.lang.String name,
+ java.lang.String description,
+ int id,
+ Type type,
+ int offset,
+ java.lang.String semanticType,
+ Presence presence,
+ java.lang.String valueRef,
+ int blockLength,
+ CompositeType dimensionType,
+ boolean variableLength,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String epoch,
+ java.lang.String timeUnit)
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+id
+public int id()
+
+
+
+
+
+
+
+type
+public Type type()
+
+
+
+
+
+
+
+offset
+public int offset()
+
+
+
+
+
+
+
+blockLength
+public int blockLength()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+deprecated
+public int deprecated()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/IrGenerator.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/IrGenerator.html
new file mode 100644
index 0000000000..4a7b0dcd55
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/IrGenerator.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+IrGenerator (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.IrGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+IrGenerator
+public IrGenerator()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Message.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Message.html
new file mode 100644
index 0000000000..be7e0020dd
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Message.html
@@ -0,0 +1,456 @@
+
+
+
+
+
+Message (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Message
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Message (org.w3c.dom.Node messageNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+Construct a new message from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+int
+blockLength ()
+Return the encodedLength of the
Message
in bytes including any padding.
+
+
+
+int
+deprecated ()
+Version in which message was deprecated.
+
+
+
+java.lang.String
+description ()
+The description of the message (if set) or null
+
+
+
+java.util.List<Field >
+fields ()
+Return the list of fields in the message
+
+
+
+int
+id ()
+Return the template schemaId of the message
+
+
+
+java.lang.String
+name ()
+Return the name of the message
+
+
+
+java.lang.String
+semanticType ()
+The semanticType of the message (if set) or null
+
+
+
+int
+sinceVersion ()
+The version since this was added to the template.
+
+
+
+java.lang.String
+toString ()
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Message
+public Message(org.w3c.dom.Node messageNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+ throws javax.xml.xpath.XPathExpressionException
+Construct a new message from XML Schema.
+
+参数:
+messageNode
- from the XML Schema Parsing
+typeByNameMap
- holding type information for message
+抛出:
+javax.xml.xpath.XPathExpressionException
- on invalid XPath
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+blockLength
+public int blockLength()
+Return the encodedLength of the
Message
in bytes including any padding.
+
+返回:
+the encodedLength of the Message
in bytes including any padding.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/MessageSchema.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/MessageSchema.html
new file mode 100644
index 0000000000..d50a73978b
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/MessageSchema.html
@@ -0,0 +1,506 @@
+
+
+
+
+
+MessageSchema (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.MessageSchema
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+MessageSchema (org.w3c.dom.Node schemaNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap,
+ java.util.Map<java.lang.Long,Message > messageByIdMap)
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+java.nio.ByteOrder
+byteOrder ()
+Return the byte order specified by the messageSchema
+
+
+
+java.lang.String
+description ()
+The description of the schema.
+
+
+
+Message
+getMessage (long messageId)
+Return a given
Message
object with the given messageId.
+
+
+
+Type
+getType (java.lang.String typeName)
+Get the
Type
for a given name.
+
+
+
+int
+id ()
+The id number of the schema.
+
+
+
+CompositeType
+messageHeader ()
+The Schema headerType for message headers.
+
+
+
+java.util.Collection<Message >
+messages ()
+Get the
Collection
of
Message
s for this Schema.
+
+
+
+java.lang.String
+packageName ()
+The package name for the schema.
+
+
+
+java.lang.String
+semanticVersion ()
+The semantic version number of the schema.
+
+
+
+int
+version ()
+The version number of the schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+MessageSchema
+public MessageSchema(org.w3c.dom.Node schemaNode,
+ java.util.Map<java.lang.String,Type > typeByNameMap,
+ java.util.Map<java.lang.Long,Message > messageByIdMap)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.Builder.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.Builder.html
new file mode 100644
index 0000000000..d4ecbefaec
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.Builder.html
@@ -0,0 +1,491 @@
+
+
+
+
+
+ParserOptions.Builder (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.ParserOptions.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.html
new file mode 100644
index 0000000000..a70e171f27
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/ParserOptions.html
@@ -0,0 +1,399 @@
+
+
+
+
+
+ParserOptions (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.ParserOptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Presence.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Presence.html
new file mode 100644
index 0000000000..4529d39205
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Presence.html
@@ -0,0 +1,406 @@
+
+
+
+
+
+Presence (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Presence >
+
+
+uk.co.real_logic.sbe.xml.Presence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+枚举常量概要
+
+枚举常量
+
+枚举常量和说明
+
+
+CONSTANT
+The field value is constant and held in the schema and not passed on the wire.
+
+
+
+OPTIONAL
+The field is optional and an optional value must be provided in the schema.
+
+
+
+REQUIRED
+The field must be present in the message encoding.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 实例方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static Presence
+get (java.lang.String name)
+Lookup Presence name and return enum.
+
+
+
+java.lang.String
+value ()
+The value as a String of the presence.
+
+
+
+static Presence
+valueOf (java.lang.String name)
+返回带有指定名称的该类型的枚举常量。
+
+
+
+static Presence []
+values ()
+按照声明该枚举类型的常量的顺序, 返回
+包含这些常量的数组。
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Enum
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+从类继承的方法 java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+枚举常量 |
+字段 |
+方法
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.Choice.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.Choice.html
new file mode 100644
index 0000000000..9d8ba60c11
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.Choice.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+SetType.Choice (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.SetType.Choice
+
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Choice (org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a Choice given the XML node and the encodingType
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Choice
+public Choice(org.w3c.dom.Node node,
+ PrimitiveType encodingType)
+Construct a Choice given the XML node and the encodingType
+
+参数:
+node
- that contains the validValue
+encodingType
- for the enum
+
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+deprecated
+public int deprecated()
+Version in which
SetType.Choice
was deprecated. Only valid if greater than zero.
+
+返回:
+version in which the SetType.Choice
was deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.html
new file mode 100644
index 0000000000..6a4d336326
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/SetType.html
@@ -0,0 +1,508 @@
+
+
+
+
+
+SetType (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+嵌套类概要
+
+嵌套类
+
+限定符和类型
+类和说明
+
+
+static class
+SetType.Choice
+Holder for valid values for EnumType
+
+
+
+
+
+
+
+
+
+
+字段概要
+
+字段
+
+限定符和类型
+字段和说明
+
+
+static java.lang.String
+SET_TYPE
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+SetType (org.w3c.dom.Node node)
+
+
+SetType (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new SetType from XML Schema.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+
+
+
+
+SetType
+public SetType(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+ throws javax.xml.xpath.XPathExpressionException,
+ java.lang.IllegalArgumentException
+Construct a new SetType from XML Schema.
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- for the node.
+referencedName
- of the type when created from a ref in a composite.
+抛出:
+javax.xml.xpath.XPathExpressionException
- on invalid XPath.
+java.lang.IllegalArgumentException
- on illegal encoding type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Type.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Type.html
new file mode 100644
index 0000000000..3673565387
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/Type.html
@@ -0,0 +1,524 @@
+
+
+
+
+
+Type (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.Type
+
+
+
+
+
+
+
+直接已知子类:
+CompositeType , EncodedDataType , EnumType , SetType
+
+
+
+public abstract class Type
+extends java.lang.Object
+An SBE type. One of encodedDataType, compositeType, enumType, or setType per the SBE spec.
+
+
+
+
+
+
+
+
+
+
+
+构造器概要
+
+构造器
+
+构造器和说明
+
+
+Type (org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new Type from XML Schema.
+
+
+
+Type (java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String semanticType)
+Construct a new Type from direct values.
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 实例方法 抽象方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+int
+deprecated ()
+Version in which type was deprecated.
+
+
+
+java.lang.String
+description ()
+The description of the Type (if set) or null
+
+
+
+abstract int
+encodedLength ()
+The encodedLength (in octets) of the Type.
+
+
+
+abstract boolean
+isVariableLength ()
+
+
+java.lang.String
+name ()
+Return the name of the type
+
+
+
+int
+offsetAttribute ()
+Return the offset attribute of the
Type
from the schema
+
+
+
+void
+offsetAttribute (int offsetAttribute)
+Set the offset attribute of the
Type
from the schema
+
+
+
+Presence
+presence ()
+Return the presence of the type
+
+
+
+java.lang.String
+referencedName ()
+Get the name of the type field is from a reference.
+
+
+
+java.lang.String
+semanticType ()
+The semanticType of the Type
+
+
+
+int
+sinceVersion ()
+The version since this was added to the template.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+Type
+public Type(org.w3c.dom.Node node,
+ java.lang.String givenName,
+ java.lang.String referencedName)
+Construct a new Type from XML Schema. Called by subclasses to mostly set common fields
+
+参数:
+node
- from the XML Schema Parsing
+givenName
- of this node, if null then the attributed name will be used.
+referencedName
- of the type when created from a ref in a composite.
+
+
+
+
+
+
+
+
+Type
+public Type(java.lang.String name,
+ Presence presence,
+ java.lang.String description,
+ int sinceVersion,
+ int deprecated,
+ java.lang.String semanticType)
+Construct a new Type from direct values.
+
+参数:
+name
- of the type
+presence
- of the type
+description
- of the type or null
+sinceVersion
- for the type
+deprecated
- version in which this was deprecated.
+semanticType
- of the type or null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+概要:
+嵌套 |
+字段 |
+构造器 |
+方法
+
+
+详细资料:
+字段 |
+构造器 |
+方法
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/XmlSchemaParser.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/XmlSchemaParser.html
new file mode 100644
index 0000000000..9f01e7ed8a
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/XmlSchemaParser.html
@@ -0,0 +1,693 @@
+
+
+
+
+
+XmlSchemaParser (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+uk.co.real_logic.sbe.xml.XmlSchemaParser
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+方法概要
+
+所有方法 静态方法 具体方法
+
+限定符和类型
+方法和说明
+
+
+static void
+checkForValidName (org.w3c.dom.Node node,
+ java.lang.String name)
+Check name against validity for C++ and Java naming.
+
+
+
+static java.util.Map<java.lang.Long,Message >
+findMessages (org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+Scan XML for all message definitions and save in map
+
+
+
+static java.util.Map<java.lang.String,Type >
+findTypes (org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath)
+Scan XML for all types (encodedDataType, compositeType, enumType, and setType) and save in map
+
+
+
+static java.lang.String
+getAttributeValue (org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that throws an exception when the attribute is not set.
+
+
+
+static java.lang.String
+getAttributeValue (org.w3c.dom.Node elementNode,
+ java.lang.String attrName,
+ java.lang.String defValue)
+Helper function that uses a default value when value not set.
+
+
+
+static java.lang.String
+getAttributeValueOrNull (org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that hides the null return from NamedNodeMap.getNamedItem(String)
+
+
+
+static java.nio.ByteOrder
+getByteOrder (java.lang.String byteOrderName)
+Helper function to convert a schema byteOrderName into a ByteOrder
+
+
+
+static void
+handleError (org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle an error condition as consequence of parsing.
+
+
+
+static void
+handleWarning (org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle a warning condition as a consequence of parsing.
+
+
+
+static MessageSchema
+parse (java.io.InputStream in,
+ ParserOptions options)
+Take an InputStream
and parse it generating map of template ID to Message objects, types, and schema.
+
+
+
+static void
+validate (java.lang.String xsdFilename,
+ java.io.InputStream in,
+ ParserOptions options)
+Validate the document against a given schema.
+
+
+
+
+
+
+
+从类继承的方法 java.lang.Object
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+构造器详细资料
+
+
+
+
+
+XmlSchemaParser
+public XmlSchemaParser()
+
+
+
+
+
+
+
+
+
+方法详细资料
+
+
+
+
+
+validate
+public static void validate(java.lang.String xsdFilename,
+ java.io.InputStream in,
+ ParserOptions options)
+ throws java.lang.Exception
+Validate the document against a given schema. Error will be written to System.err
+
+参数:
+xsdFilename
- schema to validate against.
+in
- document to be validated.
+options
- to be applied during parsing.
+抛出:
+java.lang.Exception
- if an error occurs when parsing the document or schema.
+
+
+
+
+
+
+
+
+
+
+
+
+findTypes
+public static java.util.Map<java.lang.String,Type > findTypes(org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath)
+ throws java.lang.Exception
+Scan XML for all types (encodedDataType, compositeType, enumType, and setType) and save in map
+
+参数:
+document
- for the XML parsing
+xPath
- for XPath expression reuse
+返回:
+Map
of name String
to Type
+抛出:
+java.lang.Exception
- on parsing error.
+
+
+
+
+
+
+
+
+findMessages
+public static java.util.Map<java.lang.Long,Message > findMessages(org.w3c.dom.Document document,
+ javax.xml.xpath.XPath xPath,
+ java.util.Map<java.lang.String,Type > typeByNameMap)
+ throws java.lang.Exception
+Scan XML for all message definitions and save in map
+
+参数:
+document
- for the XML parsing
+xPath
- for XPath expression reuse
+typeByNameMap
- to use for Type objects
+返回:
+Map
of schemaId to Message
+抛出:
+java.lang.Exception
- on parsing error.
+
+
+
+
+
+
+
+
+handleError
+public static void handleError(org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle an error condition as consequence of parsing.
+
+参数:
+node
- that is the context of the warning.
+msg
- associated with the error.
+
+
+
+
+
+
+
+
+handleWarning
+public static void handleWarning(org.w3c.dom.Node node,
+ java.lang.String msg)
+Handle a warning condition as a consequence of parsing.
+
+参数:
+node
- as the context for the warning.
+msg
- associated with the warning.
+
+
+
+
+
+
+
+
+getAttributeValue
+public static java.lang.String getAttributeValue(org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that throws an exception when the attribute is not set.
+
+参数:
+elementNode
- that should have the attribute
+attrName
- that is to be looked up
+返回:
+value of the attribute
+抛出:
+java.lang.IllegalArgumentException
- if the attribute is not present
+
+
+
+
+
+
+
+
+getAttributeValue
+public static java.lang.String getAttributeValue(org.w3c.dom.Node elementNode,
+ java.lang.String attrName,
+ java.lang.String defValue)
+Helper function that uses a default value when value not set.
+
+参数:
+elementNode
- that should have the attribute
+attrName
- that is to be looked up
+defValue
- String to return if not set
+返回:
+value of the attribute or defValue
+
+
+
+
+
+
+
+
+getAttributeValueOrNull
+public static java.lang.String getAttributeValueOrNull(org.w3c.dom.Node elementNode,
+ java.lang.String attrName)
+Helper function that hides the null return from NamedNodeMap.getNamedItem(String)
+
+参数:
+elementNode
- that could be null
+attrName
- that is to be looked up
+返回:
+null or value of the attribute
+
+
+
+
+
+
+
+
+
+
+
+
+checkForValidName
+public static void checkForValidName(org.w3c.dom.Node node,
+ java.lang.String name)
+Check name against validity for C++ and Java naming. Warning if not valid.
+
+参数:
+node
- to have the name checked.
+name
- of the node to be checked.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-frame.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-frame.html
new file mode 100644
index 0000000000..0cf6af4d71
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-frame.html
@@ -0,0 +1,39 @@
+
+
+
+
+
+uk.co.real_logic.sbe.xml (Simple Binary Encoding)
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-summary.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-summary.html
new file mode 100644
index 0000000000..5010dcaa5d
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-summary.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+uk.co.real_logic.sbe.xml (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
+
+
+类概要
+
+类
+说明
+
+
+
+CompositeType
+
+SBE compositeType.
+
+
+
+EncodedDataType
+
+SBE encodedDataType
+
+
+
+EnumType
+
+SBE enumType
+
+
+
+EnumType.ValidValue
+
+Class to hold valid values for EnumType
+
+
+
+ErrorHandler
+
+Class to hold error handling state while parsing an XML message schema.
+
+
+
+Field
+
+Holder for Field (or Group or Data) information
+
+
+
+Field.Builder
+
+
+
+IrGenerator
+
+Class to hold the state while generating the
Ir
.
+
+
+
+Message
+
+An SBE message containing a list of
Field
objects and SBE message attributes.
+
+
+
+MessageSchema
+
+Message schema composite for schema attributes, messageHeader, and reference for multiple
Message
objects.
+
+
+
+ParserOptions
+
+Class to hold the values of the parsing options.
+
+
+
+ParserOptions.Builder
+
+
+
+SetType
+
+SBE setType representing a bitset of options.
+
+
+
+SetType.Choice
+
+Holder for valid values for EnumType
+
+
+
+Type
+
+An SBE type.
+
+
+
+XmlSchemaParser
+
+Encapsulate the XML Schema parsing for SBE so that other representations may be
+ used to generate independent representations.
+
+
+
+
+
+
+
+枚举概要
+
+枚举
+说明
+
+
+
+Presence
+
+Presence attribute values for a
Type
applied to a
Field
.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-tree.html b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-tree.html
new file mode 100644
index 0000000000..49e4d9bfcc
--- /dev/null
+++ b/sbe-tool/build/docs/javadoc/uk/co/real_logic/sbe/xml/package-tree.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+uk.co.real_logic.sbe.xml 类分层结构 (Simple Binary Encoding)
+
+
+
+
+
+
+
+您的浏览器已禁用 JavaScript。
+
+
+
+
+
+
+
+
类分层结构
+
+
枚举分层结构
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved.
+
+
diff --git a/sbe-tool/build/generated/baseline/BooleanType.java b/sbe-tool/build/generated/baseline/BooleanType.java
new file mode 100644
index 0000000000..e1555c9201
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/BooleanType.java
@@ -0,0 +1,42 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum BooleanType
+{
+ F((short)0),
+
+ T((short)1),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ BooleanType(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static BooleanType get(final short value)
+ {
+ switch (value)
+ {
+ case 0: return F;
+ case 1: return T;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/CarDecoder.java b/sbe-tool/build/generated/baseline/CarDecoder.java
new file mode 100644
index 0000000000..b859e06599
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/CarDecoder.java
@@ -0,0 +1,1604 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarDecoder
+{
+ public static final int BLOCK_LENGTH = 45;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarDecoder parentMessage = this;
+ private DirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 CarDecoder 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public long serialNumber()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public int modelYear()
+ {
+ return (buffer.getShort(offset + 8, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public BooleanType available()
+ {
+ return BooleanType.get(((short)(buffer.getByte(offset + 10) & 0xFF)));
+ }
+
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 11;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public Model code()
+ {
+ return Model.get(buffer.getByte(offset + 11));
+ }
+
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int someNumbersNullValue()
+ {
+ return -2147483648;
+ }
+
+ public static int someNumbersMinValue()
+ {
+ return -2147483647;
+ }
+
+ public static int someNumbersMaxValue()
+ {
+ return 2147483647;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public int someNumbers(final int index)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 4);
+
+ return buffer.getInt(pos, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public byte vehicleCode(final int index)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 32 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "ASCII";
+ }
+
+ public int getVehicleCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 6;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 32, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String vehicleCode()
+ {
+ final byte[] dst = new byte[6];
+ buffer.getBytes(this.offset + 32, dst, 0, 6);
+
+ int end = 0;
+ for (; end < 6 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getVehicleCode(final Appendable value)
+ {
+ for (int i = 0; i < 6 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 32 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasDecoder extras = new OptionalExtrasDecoder();
+
+ public OptionalExtrasDecoder extras()
+ {
+ extras.wrap(buffer, offset + 38);
+ return extras;
+ }
+
+ public static int engineId()
+ {
+ return 8;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineDecoder engine = new EngineDecoder();
+
+ public EngineDecoder engine()
+ {
+ engine.wrap(buffer, offset + 39);
+ return engine;
+ }
+
+ private final FuelFiguresDecoder fuelFigures = new FuelFiguresDecoder(this);
+
+ public static long fuelFiguresDecoderId()
+ {
+ return 9;
+ }
+
+ public static int fuelFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public FuelFiguresDecoder fuelFigures()
+ {
+ fuelFigures.wrap(buffer);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 3;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ FuelFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)((short)(buffer.getByte(limit + 2) & 0xFF));
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public FuelFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 10;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public int speed()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int mpgId()
+ {
+ return 11;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float mpg()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='speed', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("speed=");
+ builder.append(speed());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='mpg', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mpg=");
+ builder.append(mpg());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ private final PerformanceFiguresDecoder performanceFigures = new PerformanceFiguresDecoder(this);
+
+ public static long performanceFiguresDecoderId()
+ {
+ return 12;
+ }
+
+ public static int performanceFiguresDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public PerformanceFiguresDecoder performanceFigures()
+ {
+ performanceFigures.wrap(buffer);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 3;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+ private final AccelerationDecoder acceleration;
+
+ PerformanceFiguresDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationDecoder(parentMessage);
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)((short)(buffer.getByte(limit + 2) & 0xFF));
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public PerformanceFiguresDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 13;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)90;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)110;
+ }
+
+ public short octaneRating()
+ {
+ return ((short)(buffer.getByte(offset + 0) & 0xFF));
+ }
+
+
+ public static long accelerationDecoderId()
+ {
+ return 14;
+ }
+
+ public static int accelerationDecoderSinceVersion()
+ {
+ return 0;
+ }
+
+ public AccelerationDecoder acceleration()
+ {
+ acceleration.wrap(buffer);
+ return acceleration;
+ }
+
+ public static class AccelerationDecoder
+ implements Iterable, java.util.Iterator
+ {
+ public static final int HEADER_SIZE = 3;
+ private final CarDecoder parentMessage;
+ private DirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private int blockLength;
+
+ AccelerationDecoder(final CarDecoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final DirectBuffer buffer)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ index = -1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ blockLength = (int)(buffer.getShort(limit + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ count = (int)((short)(buffer.getByte(limit + 2) & 0xFF));
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ 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 + 1) < count;
+ }
+
+ public AccelerationDecoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + blockLength);
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 15;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public int mph()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int secondsId()
+ {
+ return 16;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public float seconds()
+ {
+ return buffer.getFloat(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='mph', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint16', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("mph=");
+ builder.append(mph());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='seconds', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='float', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=FLOAT, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("seconds=");
+ builder.append(seconds());
+ builder.append(')');
+ return builder;
+ }
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_FIELD, name='octaneRating', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='Ron', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=90, maxValue=110, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("octaneRating=");
+ builder.append(octaneRating());
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='acceleration', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=6, offset=1, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("acceleration=[");
+ AccelerationDecoder acceleration = acceleration();
+ if (acceleration.count() > 0)
+ {
+ while (acceleration.hasNext())
+ {
+ acceleration.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append(')');
+ return builder;
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 17;
+ }
+
+ public static int manufacturerSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 1;
+ }
+
+ public int manufacturerLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)((short)(buffer.getByte(limit) & 0xFF));
+ }
+
+ public int getManufacturer(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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 getManufacturer(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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 wrapManufacturer(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((short)(buffer.getByte(limit) & 0xFF));
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String manufacturer()
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int modelId()
+ {
+ return 18;
+ }
+
+ public static int modelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 1;
+ }
+
+ public int modelLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)((short)(buffer.getByte(limit) & 0xFF));
+ }
+
+ public int getModel(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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 getModel(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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 wrapModel(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((short)(buffer.getByte(limit) & 0xFF));
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String model()
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+ public static int activationCodeId()
+ {
+ return 19;
+ }
+
+ public static int activationCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static String activationCodeCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String activationCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int activationCodeHeaderLength()
+ {
+ return 1;
+ }
+
+ public int activationCodeLength()
+ {
+ final int limit = parentMessage.limit();
+ return (int)((short)(buffer.getByte(limit) & 0xFF));
+ }
+
+ public int getActivationCode(final MutableDirectBuffer dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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 getActivationCode(final byte[] dst, final int dstOffset, final int length)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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 wrapActivationCode(final DirectBuffer wrapBuffer)
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((short)(buffer.getByte(limit) & 0xFF));
+ parentMessage.limit(limit + headerLength + dataLength);
+ wrapBuffer.wrap(buffer, limit + headerLength, dataLength);
+ }
+
+ public String activationCode()
+ {
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ final int dataLength = (int)((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);
+
+ final String value;
+ try
+ {
+ value = new String(tmp, "UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return value;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[Car](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("):");
+ //Token{signal=BEGIN_FIELD, name='serialNumber', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='uint64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("serialNumber=");
+ builder.append(serialNumber());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='modelYear', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='ModelYear', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("modelYear=");
+ builder.append(modelYear());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='available', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=10, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("available=");
+ builder.append(available());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='code', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=1, offset=11, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_ENUM, name='Model', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=11, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("code=");
+ builder.append(code());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='someNumbers', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='someNumbers', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=20, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("someNumbers=");
+ builder.append('[');
+ if (someNumbersLength() > 0)
+ {
+ for (int i = 0; i < someNumbersLength(); i++)
+ {
+ builder.append(someNumbers(i));
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='vehicleCode', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=6, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='VehicleCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("vehicleCode=");
+ for (int i = 0; i < vehicleCodeLength() && vehicleCode(i) > 0; i++)
+ {
+ builder.append((char)vehicleCode(i));
+ }
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='extras', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_SET, name='OptionalExtras', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=38, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("extras=");
+ builder.append(extras());
+ builder.append('|');
+ //Token{signal=BEGIN_FIELD, name='engine', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=6, offset=39, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='Engine', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=6, offset=39, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("engine=");
+ engine().appendTo(builder);
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='fuelFigures', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=6, offset=45, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("fuelFigures=[");
+ FuelFiguresDecoder fuelFigures = fuelFigures();
+ if (fuelFigures.count() > 0)
+ {
+ while (fuelFigures.hasNext())
+ {
+ fuelFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_GROUP, name='performanceFigures', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=1, offset=-1, componentTokenCount=21, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("performanceFigures=[");
+ PerformanceFiguresDecoder performanceFigures = performanceFigures();
+ if (performanceFigures.count() > 0)
+ {
+ while (performanceFigures.hasNext())
+ {
+ performanceFigures.next().appendTo(builder);
+ builder.append(',');
+ }
+ builder.setLength(builder.length() - 1);
+ }
+ builder.append(']');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='manufacturer', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("manufacturer=");
+ builder.append('\'' + manufacturer() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='model', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("model=");
+ builder.append('\'' + model() + '\'');
+ builder.append('|');
+ //Token{signal=BEGIN_VAR_DATA, name='activationCode', referencedName='null', description='null', id=19, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}}
+ builder.append("activationCode=");
+ builder.append('\'' + activationCode() + '\'');
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/CarEncoder.java b/sbe-tool/build/generated/baseline/CarEncoder.java
new file mode 100644
index 0000000000..e420950106
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/CarEncoder.java
@@ -0,0 +1,1327 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+
+/**
+ * Description of a basic Car
+ */
+@SuppressWarnings("all")
+public class CarEncoder
+{
+ public static final int BLOCK_LENGTH = 45;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final CarEncoder parentMessage = this;
+ private MutableDirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public CarEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public CarEncoder wrapAndApplyHeader(
+ final MutableDirectBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int serialNumberId()
+ {
+ return 1;
+ }
+
+ public static int serialNumberSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int serialNumberEncodingLength()
+ {
+ return 8;
+ }
+
+ public static String serialNumberMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static long serialNumberNullValue()
+ {
+ return 0xffffffffffffffffL;
+ }
+
+ public static long serialNumberMinValue()
+ {
+ return 0x0L;
+ }
+
+ public static long serialNumberMaxValue()
+ {
+ return 0xfffffffffffffffeL;
+ }
+
+ public CarEncoder serialNumber(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int modelYearId()
+ {
+ return 2;
+ }
+
+ public static int modelYearSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int modelYearEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int modelYearEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String modelYearMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelYearNullValue()
+ {
+ return 65535;
+ }
+
+ public static int modelYearMinValue()
+ {
+ return 0;
+ }
+
+ public static int modelYearMaxValue()
+ {
+ return 65534;
+ }
+
+ public CarEncoder modelYear(final int value)
+ {
+ buffer.putShort(offset + 8, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int availableId()
+ {
+ return 3;
+ }
+
+ public static int availableSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int availableEncodingOffset()
+ {
+ return 10;
+ }
+
+ public static int availableEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String availableMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder available(final BooleanType value)
+ {
+ buffer.putByte(offset + 10, (byte)value.value());
+ return this;
+ }
+
+ public static int codeId()
+ {
+ return 4;
+ }
+
+ public static int codeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int codeEncodingOffset()
+ {
+ return 11;
+ }
+
+ public static int codeEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String codeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public CarEncoder code(final Model value)
+ {
+ buffer.putByte(offset + 11, value.value());
+ return this;
+ }
+
+ public static int someNumbersId()
+ {
+ return 5;
+ }
+
+ public static int someNumbersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int someNumbersEncodingOffset()
+ {
+ return 12;
+ }
+
+ public static int someNumbersEncodingLength()
+ {
+ return 20;
+ }
+
+ public static String someNumbersMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int someNumbersNullValue()
+ {
+ return -2147483648;
+ }
+
+ public static int someNumbersMinValue()
+ {
+ return -2147483647;
+ }
+
+ public static int someNumbersMaxValue()
+ {
+ return 2147483647;
+ }
+
+ public static int someNumbersLength()
+ {
+ return 5;
+ }
+
+ public CarEncoder someNumbers(final int index, final int value)
+ {
+ if (index < 0 || index >= 5)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 12 + (index * 4);
+ buffer.putInt(pos, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+
+ return this;
+ }
+
+ public static int vehicleCodeId()
+ {
+ return 6;
+ }
+
+ public static int vehicleCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int vehicleCodeEncodingOffset()
+ {
+ return 32;
+ }
+
+ public static int vehicleCodeEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String vehicleCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static byte vehicleCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte vehicleCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte vehicleCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int vehicleCodeLength()
+ {
+ return 6;
+ }
+
+ public CarEncoder vehicleCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 6)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 32 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String vehicleCodeCharacterEncoding()
+ {
+ return "ASCII";
+ }
+
+ public CarEncoder putVehicleCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 6;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 32, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final String src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 32, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 32 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public CarEncoder vehicleCode(final CharSequence src)
+ {
+ final int length = 6;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 32 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 32 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int extrasId()
+ {
+ return 7;
+ }
+
+ public static int extrasSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int extrasEncodingOffset()
+ {
+ return 38;
+ }
+
+ public static int extrasEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String extrasMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OptionalExtrasEncoder extras = new OptionalExtrasEncoder();
+
+ public OptionalExtrasEncoder extras()
+ {
+ extras.wrap(buffer, offset + 38);
+ return extras;
+ }
+
+ public static int engineId()
+ {
+ return 8;
+ }
+
+ public static int engineSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int engineEncodingOffset()
+ {
+ return 39;
+ }
+
+ public static int engineEncodingLength()
+ {
+ return 6;
+ }
+
+ public static String engineMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final EngineEncoder engine = new EngineEncoder();
+
+ public EngineEncoder engine()
+ {
+ engine.wrap(buffer, offset + 39);
+ return engine;
+ }
+
+ private final FuelFiguresEncoder fuelFigures = new FuelFiguresEncoder(this);
+
+ public static long fuelFiguresId()
+ {
+ return 9;
+ }
+
+ public FuelFiguresEncoder fuelFiguresCount(final int count)
+ {
+ fuelFigures.wrap(buffer, count);
+ return fuelFigures;
+ }
+
+ public static class FuelFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 3;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ FuelFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 254)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putByte(limit + 2, (byte)(short)count);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public FuelFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int speedId()
+ {
+ return 10;
+ }
+
+ public static int speedSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int speedEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String speedMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int speedNullValue()
+ {
+ return 65535;
+ }
+
+ public static int speedMinValue()
+ {
+ return 0;
+ }
+
+ public static int speedMaxValue()
+ {
+ return 65534;
+ }
+
+ public FuelFiguresEncoder speed(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int mpgId()
+ {
+ return 11;
+ }
+
+ public static int mpgSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mpgEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int mpgEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String mpgMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float mpgNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float mpgMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float mpgMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public FuelFiguresEncoder mpg(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+
+ private final PerformanceFiguresEncoder performanceFigures = new PerformanceFiguresEncoder(this);
+
+ public static long performanceFiguresId()
+ {
+ return 12;
+ }
+
+ public PerformanceFiguresEncoder performanceFiguresCount(final int count)
+ {
+ performanceFigures.wrap(buffer, count);
+ return performanceFigures;
+ }
+
+ public static class PerformanceFiguresEncoder
+ {
+ public static final int HEADER_SIZE = 3;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+ private final AccelerationEncoder acceleration;
+
+ PerformanceFiguresEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ acceleration = new AccelerationEncoder(parentMessage);
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 254)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)1, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putByte(limit + 2, (byte)(short)count);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 1;
+ }
+
+ public PerformanceFiguresEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int octaneRatingId()
+ {
+ return 13;
+ }
+
+ public static int octaneRatingSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int octaneRatingEncodingLength()
+ {
+ return 1;
+ }
+
+ public static String octaneRatingMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static short octaneRatingNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short octaneRatingMinValue()
+ {
+ return (short)90;
+ }
+
+ public static short octaneRatingMaxValue()
+ {
+ return (short)110;
+ }
+
+ public PerformanceFiguresEncoder octaneRating(final short value)
+ {
+ buffer.putByte(offset + 0, (byte)value);
+ return this;
+ }
+
+
+ public static long accelerationId()
+ {
+ return 14;
+ }
+
+ public AccelerationEncoder accelerationCount(final int count)
+ {
+ acceleration.wrap(buffer, count);
+ return acceleration;
+ }
+
+ public static class AccelerationEncoder
+ {
+ public static final int HEADER_SIZE = 3;
+ private final CarEncoder parentMessage;
+ private MutableDirectBuffer buffer;
+ private int count;
+ private int index;
+ private int offset;
+
+ AccelerationEncoder(final CarEncoder parentMessage)
+ {
+ this.parentMessage = parentMessage;
+ }
+
+ public void wrap(final MutableDirectBuffer buffer, final int count)
+ {
+ if (count < 0 || count > 254)
+ {
+ throw new IllegalArgumentException("count outside allowed range: count=" + count);
+ }
+
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+
+ index = -1;
+ this.count = count;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + HEADER_SIZE);
+ buffer.putShort(limit + 0, (short)(int)6, java.nio.ByteOrder.LITTLE_ENDIAN);
+ buffer.putByte(limit + 2, (byte)(short)count);
+ }
+
+ public static int sbeHeaderSize()
+ {
+ return HEADER_SIZE;
+ }
+
+ public static int sbeBlockLength()
+ {
+ return 6;
+ }
+
+ public AccelerationEncoder next()
+ {
+ if (index + 1 >= count)
+ {
+ throw new java.util.NoSuchElementException();
+ }
+
+ offset = parentMessage.limit();
+ parentMessage.limit(offset + sbeBlockLength());
+ ++index;
+
+ return this;
+ }
+
+ public static int mphId()
+ {
+ return 15;
+ }
+
+ public static int mphSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int mphEncodingLength()
+ {
+ return 2;
+ }
+
+ public static String mphMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int mphNullValue()
+ {
+ return 65535;
+ }
+
+ public static int mphMinValue()
+ {
+ return 0;
+ }
+
+ public static int mphMaxValue()
+ {
+ return 65534;
+ }
+
+ public AccelerationEncoder mph(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int secondsId()
+ {
+ return 16;
+ }
+
+ public static int secondsSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int secondsEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int secondsEncodingLength()
+ {
+ return 4;
+ }
+
+ public static String secondsMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static float secondsNullValue()
+ {
+ return Float.NaN;
+ }
+
+ public static float secondsMinValue()
+ {
+ return 1.401298464324817E-45f;
+ }
+
+ public static float secondsMaxValue()
+ {
+ return 3.4028234663852886E38f;
+ }
+
+ public AccelerationEncoder seconds(final float value)
+ {
+ buffer.putFloat(offset + 2, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ }
+ }
+
+ public static int manufacturerId()
+ {
+ return 17;
+ }
+
+ public static String manufacturerCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String manufacturerMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int manufacturerHeaderLength()
+ {
+ return 1;
+ }
+
+ public CarEncoder putManufacturer(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putManufacturer(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder manufacturer(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int modelId()
+ {
+ return 18;
+ }
+
+ public static String modelCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String modelMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int modelHeaderLength()
+ {
+ return 1;
+ }
+
+ public CarEncoder putModel(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putModel(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder model(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+ public static int activationCodeId()
+ {
+ return 19;
+ }
+
+ public static String activationCodeCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public static String activationCodeMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "unix";
+ case TIME_UNIT: return "nanosecond";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ public static int activationCodeHeaderLength()
+ {
+ return 1;
+ }
+
+ public CarEncoder putActivationCode(final DirectBuffer src, final int srcOffset, final int length)
+ {
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder putActivationCode(final byte[] src, final int srcOffset, final int length)
+ {
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, src, srcOffset, length);
+
+ return this;
+ }
+
+ public CarEncoder activationCode(final String value)
+ {
+ final byte[] bytes;
+ try
+ {
+ bytes = null == value || value.isEmpty() ? org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes("UTF-8");
+ }
+ catch (final java.io.UnsupportedEncodingException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ final int length = bytes.length;
+ if (length > 254)
+ {
+ throw new IllegalStateException("length > maxValue for type: " + length);
+ }
+
+ final int headerLength = 1;
+ final int limit = parentMessage.limit();
+ parentMessage.limit(limit + headerLength + length);
+ buffer.putByte(limit, (byte)length);
+ buffer.putBytes(limit + headerLength, bytes, 0, length);
+
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ CarDecoder writer = new CarDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/EngineDecoder.java b/sbe-tool/build/generated/baseline/EngineDecoder.java
new file mode 100644
index 0000000000..0852274e7d
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/EngineDecoder.java
@@ -0,0 +1,344 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class EngineDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 6;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public EngineDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacitySinceVersion()
+ {
+ return 0;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public int capacity()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int numCylindersSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short numCylinders()
+ {
+ return ((short)(buffer.getByte(offset + 2) & 0xFF));
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public byte manufacturerCode(final int index)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+
+ return buffer.getByte(pos);
+ }
+
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public int getManufacturerCode(final byte[] dst, final int dstOffset)
+ {
+ final int length = 3;
+ if (dstOffset < 0 || dstOffset > (dst.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + dstOffset);
+ }
+
+ buffer.getBytes(this.offset + 3, dst, dstOffset, length);
+
+ return length;
+ }
+
+ public String manufacturerCode()
+ {
+ final byte[] dst = new byte[3];
+ buffer.getBytes(this.offset + 3, dst, 0, 3);
+
+ int end = 0;
+ for (; end < 3 && dst[end] != 0; ++end);
+
+ return new String(dst, 0, end, java.nio.charset.StandardCharsets.US_ASCII);
+ }
+
+
+ public void getManufacturerCode(final Appendable value)
+ {
+ for (int i = 0; i < 3 ; ++i)
+ {
+ final int c = buffer.getByte(this.offset + 3 + i) & 0xFF;
+ if (c == 0)
+ {
+ break;
+ }
+ try
+ {
+ value.append(c > 127 ? '?' : (char)c);
+ }
+ catch (final java.io.IOException e)
+ {
+ throw new java.io.UncheckedIOException(e);
+ }
+ }
+ }
+
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int fuelSinceVersion()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='capacity', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("capacity=");
+ builder.append(capacity());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numCylinders', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numCylinders=");
+ builder.append(numCylinders());
+ builder.append('|');
+ //Token{signal=ENCODING, name='maxRpm', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=3, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=9000, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=ENCODING, name='manufacturerCode', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=3, offset=3, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("manufacturerCode=");
+ for (int i = 0; i < manufacturerCodeLength() && manufacturerCode(i) > 0; i++)
+ {
+ builder.append((char)manufacturerCode(i));
+ }
+ builder.append('|');
+ //Token{signal=ENCODING, name='fuel', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=0, offset=6, componentTokenCount=1, encoding=Encoding{presence=CONSTANT, primitiveType=CHAR, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=Petrol, characterEncoding='US-ASCII', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/EngineEncoder.java b/sbe-tool/build/generated/baseline/EngineEncoder.java
new file mode 100644
index 0000000000..4809ab5b55
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/EngineEncoder.java
@@ -0,0 +1,314 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+
+@SuppressWarnings("all")
+public class EngineEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 6;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public EngineEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int capacityEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int capacityEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int capacityNullValue()
+ {
+ return 65535;
+ }
+
+ public static int capacityMinValue()
+ {
+ return 0;
+ }
+
+ public static int capacityMaxValue()
+ {
+ return 65534;
+ }
+
+ public EngineEncoder capacity(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numCylindersEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numCylindersEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short numCylindersNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numCylindersMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numCylindersMaxValue()
+ {
+ return (short)254;
+ }
+
+ public EngineEncoder numCylinders(final short value)
+ {
+ buffer.putByte(offset + 2, (byte)value);
+ return this;
+ }
+
+
+ public static int maxRpmEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int maxRpmEncodingLength()
+ {
+ return 0;
+ }
+
+ public static int maxRpmNullValue()
+ {
+ return 65535;
+ }
+
+ public static int maxRpmMinValue()
+ {
+ return 0;
+ }
+
+ public static int maxRpmMaxValue()
+ {
+ return 65534;
+ }
+
+ public int maxRpm()
+ {
+ return 9000;
+ }
+
+ public static int manufacturerCodeEncodingOffset()
+ {
+ return 3;
+ }
+
+ public static int manufacturerCodeEncodingLength()
+ {
+ return 3;
+ }
+
+ public static byte manufacturerCodeNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte manufacturerCodeMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte manufacturerCodeMaxValue()
+ {
+ return (byte)126;
+ }
+
+ public static int manufacturerCodeLength()
+ {
+ return 3;
+ }
+
+ public EngineEncoder manufacturerCode(final int index, final byte value)
+ {
+ if (index < 0 || index >= 3)
+ {
+ throw new IndexOutOfBoundsException("index out of range: index=" + index);
+ }
+
+ final int pos = this.offset + 3 + (index * 1);
+ buffer.putByte(pos, value);
+
+ return this;
+ }
+
+ public static String manufacturerCodeCharacterEncoding()
+ {
+ return "US-ASCII";
+ }
+
+ public EngineEncoder putManufacturerCode(final byte[] src, final int srcOffset)
+ {
+ final int length = 3;
+ if (srcOffset < 0 || srcOffset > (src.length - length))
+ {
+ throw new IndexOutOfBoundsException("Copy will go out of range: offset=" + srcOffset);
+ }
+
+ buffer.putBytes(this.offset + 3, src, srcOffset, length);
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final String src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("String too large for copy: byte length=" + srcLength);
+ }
+
+ buffer.putStringWithoutLengthAscii(this.offset + 3, src);
+
+ for (int start = srcLength; start < length; ++start)
+ {
+ buffer.putByte(this.offset + 3 + start, (byte)0);
+ }
+
+ return this;
+ }
+
+ public EngineEncoder manufacturerCode(final CharSequence src)
+ {
+ final int length = 3;
+ final int srcLength = null == src ? 0 : src.length();
+ if (srcLength > length)
+ {
+ throw new IndexOutOfBoundsException("CharSequence too large for copy: byte length=" + srcLength);
+ }
+
+ for (int i = 0; i < srcLength; ++i)
+ {
+ final char charValue = src.charAt(i);
+ final byte byteValue = charValue > 127 ? (byte)'?' : (byte)charValue;
+ buffer.putByte(this.offset + 3 + i, byteValue);
+ }
+
+ for (int i = srcLength; i < length; ++i)
+ {
+ buffer.putByte(this.offset + 3 + i, (byte)0);
+ }
+
+ return this;
+ }
+
+ public static int fuelEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int fuelEncodingLength()
+ {
+ return 0;
+ }
+
+ public static byte fuelNullValue()
+ {
+ return (byte)0;
+ }
+
+ public static byte fuelMinValue()
+ {
+ return (byte)32;
+ }
+
+ public static byte fuelMaxValue()
+ {
+ return (byte)126;
+ }
+
+ private static final byte[] FUEL_VALUE = { 80, 101, 116, 114, 111, 108 };
+
+ public static int fuelLength()
+ {
+ return 6;
+ }
+
+ public byte fuel(final int index)
+ {
+ return FUEL_VALUE[index];
+ }
+
+ public int getFuel(final byte[] dst, final int offset, final int length)
+ {
+ final int bytesCopied = Math.min(length, 6);
+ System.arraycopy(FUEL_VALUE, 0, dst, offset, bytesCopied);
+
+ return bytesCopied;
+ }
+
+ public String fuel()
+ {
+ return "Petrol";
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ EngineDecoder writer = new EngineDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/GroupSizeEncodingDecoder.java b/sbe-tool/build/generated/baseline/GroupSizeEncodingDecoder.java
new file mode 100644
index 0000000000..1e5ada5f7f
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/GroupSizeEncodingDecoder.java
@@ -0,0 +1,147 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 3;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public GroupSizeEncodingDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int numInGroupSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short numInGroupNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numInGroupMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numInGroupMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short numInGroup()
+ {
+ return ((short)(buffer.getByte(offset + 2) & 0xFF));
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='numInGroup', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("numInGroup=");
+ builder.append(numInGroup());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/GroupSizeEncodingEncoder.java b/sbe-tool/build/generated/baseline/GroupSizeEncodingEncoder.java
new file mode 100644
index 0000000000..c12aaf6621
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/GroupSizeEncodingEncoder.java
@@ -0,0 +1,132 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+
+/**
+ * Repeating group dimensions
+ */
+@SuppressWarnings("all")
+public class GroupSizeEncodingEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 3;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public GroupSizeEncodingEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public GroupSizeEncodingEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int numInGroupEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int numInGroupEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short numInGroupNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short numInGroupMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short numInGroupMaxValue()
+ {
+ return (short)254;
+ }
+
+ public GroupSizeEncodingEncoder numInGroup(final short value)
+ {
+ buffer.putByte(offset + 2, (byte)value);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ GroupSizeEncodingDecoder writer = new GroupSizeEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/MessageHeaderDecoder.java b/sbe-tool/build/generated/baseline/MessageHeaderDecoder.java
new file mode 100644
index 0000000000..9652ffc17b
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/MessageHeaderDecoder.java
@@ -0,0 +1,227 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public MessageHeaderDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int templateId()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int schemaId()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public int version()
+ {
+ return (buffer.getShort(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='templateId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("templateId=");
+ builder.append(templateId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='schemaId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("schemaId=");
+ builder.append(schemaId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='version', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("version=");
+ builder.append(version());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/MessageHeaderEncoder.java b/sbe-tool/build/generated/baseline/MessageHeaderEncoder.java
new file mode 100644
index 0000000000..707781b2ad
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/MessageHeaderEncoder.java
@@ -0,0 +1,196 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public MessageHeaderEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder templateId(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder schemaId(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder version(final int value)
+ {
+ buffer.putShort(offset + 6, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MessageHeaderDecoder writer = new MessageHeaderDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/MetaAttribute.java b/sbe-tool/build/generated/baseline/MetaAttribute.java
new file mode 100644
index 0000000000..2d3a703ac7
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/MetaAttribute.java
@@ -0,0 +1,10 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum MetaAttribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+}
diff --git a/sbe-tool/build/generated/baseline/Model.java b/sbe-tool/build/generated/baseline/Model.java
new file mode 100644
index 0000000000..20e1374e67
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/Model.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+public enum Model
+{
+ A((byte)65),
+
+ B((byte)66),
+
+ C((byte)67),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((byte)0);
+
+ private final byte value;
+
+ Model(final byte value)
+ {
+ this.value = value;
+ }
+
+ public byte value()
+ {
+ return value;
+ }
+
+ public static Model get(final byte value)
+ {
+ switch (value)
+ {
+ case 65: return A;
+ case 66: return B;
+ case 67: return C;
+ }
+
+ if ((byte)0 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/OptionalExtrasDecoder.java b/sbe-tool/build/generated/baseline/OptionalExtrasDecoder.java
new file mode 100644
index 0000000000..0a2a98d9a1
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/OptionalExtrasDecoder.java
@@ -0,0 +1,128 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class OptionalExtrasDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public OptionalExtrasDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getByte(offset);
+ }
+
+ public boolean sunRoof()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 0));
+ }
+
+ public static boolean sunRoof(final byte value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean sportsPack()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 1));
+ }
+
+ public static boolean sportsPack(final byte value)
+ {
+ return 0 != (value & (1 << 1));
+ }
+
+ public boolean cruiseControl()
+ {
+ return 0 != (buffer.getByte(offset) & (1 << 2));
+ }
+
+ public static boolean cruiseControl(final byte value)
+ {
+ return 0 != (value & (1 << 2));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (sunRoof())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sunRoof");
+ atLeastOne = true;
+ }
+ if (sportsPack())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("sportsPack");
+ atLeastOne = true;
+ }
+ if (cruiseControl())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("cruiseControl");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/OptionalExtrasEncoder.java b/sbe-tool/build/generated/baseline/OptionalExtrasEncoder.java
new file mode 100644
index 0000000000..743339175a
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/OptionalExtrasEncoder.java
@@ -0,0 +1,97 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+
+@SuppressWarnings("all")
+public class OptionalExtrasEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public OptionalExtrasEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public OptionalExtrasEncoder clear()
+ {
+ buffer.putByte(offset, (byte)(short)0);
+ return this;
+ }
+
+ public OptionalExtrasEncoder sunRoof(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sunRoof(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 0) : bits & ~(1 << 0));
+ }
+
+ public OptionalExtrasEncoder sportsPack(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte sportsPack(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 1) : bits & ~(1 << 1));
+ }
+
+ public OptionalExtrasEncoder cruiseControl(final boolean value)
+ {
+ byte bits = buffer.getByte(offset);
+ bits = (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ buffer.putByte(offset, bits);
+ return this;
+ }
+
+ public static byte cruiseControl(final byte bits, final boolean value)
+ {
+ return (byte)(value ? bits | (1 << 2) : bits & ~(1 << 2));
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/VarStringEncodingDecoder.java b/sbe-tool/build/generated/baseline/VarStringEncodingDecoder.java
new file mode 100644
index 0000000000..6be68e79a0
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/VarStringEncodingDecoder.java
@@ -0,0 +1,136 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class VarStringEncodingDecoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public VarStringEncodingDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int lengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short lengthNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short lengthMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short lengthMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short length()
+ {
+ return ((short)(buffer.getByte(offset + 0) & 0xFF));
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static int varDataSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='length', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("length=");
+ builder.append(length());
+ builder.append('|');
+ //Token{signal=ENCODING, name='varData', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=-1, offset=1, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='UTF-8', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/baseline/VarStringEncodingEncoder.java b/sbe-tool/build/generated/baseline/VarStringEncodingEncoder.java
new file mode 100644
index 0000000000..0f02ced64d
--- /dev/null
+++ b/sbe-tool/build/generated/baseline/VarStringEncodingEncoder.java
@@ -0,0 +1,122 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package baseline;
+
+import org.agrona.MutableDirectBuffer;
+
+@SuppressWarnings("all")
+public class VarStringEncodingEncoder
+{
+ public static final int SCHEMA_ID = 1;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = -1;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public VarStringEncodingEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int lengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int lengthEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short lengthNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short lengthMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short lengthMaxValue()
+ {
+ return (short)254;
+ }
+
+ public VarStringEncodingEncoder length(final short value)
+ {
+ buffer.putByte(offset + 0, (byte)value);
+ return this;
+ }
+
+
+ public static int varDataEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int varDataEncodingLength()
+ {
+ return -1;
+ }
+
+ public static short varDataNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short varDataMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short varDataMaxValue()
+ {
+ return (short)254;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ VarStringEncodingDecoder writer = new VarStringEncodingDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/EnumOne.java b/sbe-tool/build/generated/composite/elements/EnumOne.java
new file mode 100644
index 0000000000..c12f208655
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/EnumOne.java
@@ -0,0 +1,45 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+/**
+ * enum as uint8
+ */
+public enum EnumOne
+{
+ Value1((short)1),
+
+ Value10((short)10),
+
+ /**
+ * To be used to represent not present or null.
+ */
+ NULL_VAL((short)255);
+
+ private final short value;
+
+ EnumOne(final short value)
+ {
+ this.value = value;
+ }
+
+ public short value()
+ {
+ return value;
+ }
+
+ public static EnumOne get(final short value)
+ {
+ switch (value)
+ {
+ case 1: return Value1;
+ case 10: return Value10;
+ }
+
+ if ((short)255 == value)
+ {
+ return NULL_VAL;
+ }
+
+ throw new IllegalArgumentException("Unknown value: " + value);
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/InnerDecoder.java b/sbe-tool/build/generated/composite/elements/InnerDecoder.java
new file mode 100644
index 0000000000..a9cf629062
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/InnerDecoder.java
@@ -0,0 +1,144 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class InnerDecoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 16;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public InnerDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int firstEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int firstEncodingLength()
+ {
+ return 8;
+ }
+
+ public static int firstSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long firstNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long firstMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long firstMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long first()
+ {
+ return buffer.getLong(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public static int secondEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int secondEncodingLength()
+ {
+ return 8;
+ }
+
+ public static int secondSinceVersion()
+ {
+ return 0;
+ }
+
+ public static long secondNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long secondMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long secondMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public long second()
+ {
+ return buffer.getLong(offset + 8, java.nio.ByteOrder.LITTLE_ENDIAN);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='first', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("first=");
+ builder.append(first());
+ builder.append('|');
+ //Token{signal=ENCODING, name='second', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("second=");
+ builder.append(second());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/InnerEncoder.java b/sbe-tool/build/generated/composite/elements/InnerEncoder.java
new file mode 100644
index 0000000000..f50ca4855b
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/InnerEncoder.java
@@ -0,0 +1,129 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.MutableDirectBuffer;
+
+@SuppressWarnings("all")
+public class InnerEncoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 16;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public InnerEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int firstEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int firstEncodingLength()
+ {
+ return 8;
+ }
+
+ public static long firstNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long firstMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long firstMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public InnerEncoder first(final long value)
+ {
+ buffer.putLong(offset + 0, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int secondEncodingOffset()
+ {
+ return 8;
+ }
+
+ public static int secondEncodingLength()
+ {
+ return 8;
+ }
+
+ public static long secondNullValue()
+ {
+ return -9223372036854775808L;
+ }
+
+ public static long secondMinValue()
+ {
+ return -9223372036854775807L;
+ }
+
+ public static long secondMaxValue()
+ {
+ return 9223372036854775807L;
+ }
+
+ public InnerEncoder second(final long value)
+ {
+ buffer.putLong(offset + 8, value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ InnerDecoder writer = new InnerDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/MessageHeaderDecoder.java b/sbe-tool/build/generated/composite/elements/MessageHeaderDecoder.java
new file mode 100644
index 0000000000..fb51736aca
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/MessageHeaderDecoder.java
@@ -0,0 +1,227 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.DirectBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderDecoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public MessageHeaderDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public int blockLength()
+ {
+ return (buffer.getShort(offset + 0, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int templateId()
+ {
+ return (buffer.getShort(offset + 2, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public int schemaId()
+ {
+ return (buffer.getShort(offset + 4, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public int version()
+ {
+ return (buffer.getShort(offset + 6, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF);
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=ENCODING, name='blockLength', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("blockLength=");
+ builder.append(blockLength());
+ builder.append('|');
+ //Token{signal=ENCODING, name='templateId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=2, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("templateId=");
+ builder.append(templateId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='schemaId', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=4, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("schemaId=");
+ builder.append(schemaId());
+ builder.append('|');
+ //Token{signal=ENCODING, name='version', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=2, offset=6, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT16, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("version=");
+ builder.append(version());
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/MessageHeaderEncoder.java b/sbe-tool/build/generated/composite/elements/MessageHeaderEncoder.java
new file mode 100644
index 0000000000..f28df744ec
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/MessageHeaderEncoder.java
@@ -0,0 +1,196 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.MutableDirectBuffer;
+
+/**
+ * Message identifiers and length of message root
+ */
+@SuppressWarnings("all")
+public class MessageHeaderEncoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 8;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public MessageHeaderEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int blockLengthEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int blockLengthEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int blockLengthNullValue()
+ {
+ return 65535;
+ }
+
+ public static int blockLengthMinValue()
+ {
+ return 0;
+ }
+
+ public static int blockLengthMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder blockLength(final int value)
+ {
+ buffer.putShort(offset + 0, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int templateIdEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int templateIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int templateIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int templateIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int templateIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder templateId(final int value)
+ {
+ buffer.putShort(offset + 2, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int schemaIdEncodingOffset()
+ {
+ return 4;
+ }
+
+ public static int schemaIdEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int schemaIdNullValue()
+ {
+ return 65535;
+ }
+
+ public static int schemaIdMinValue()
+ {
+ return 0;
+ }
+
+ public static int schemaIdMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder schemaId(final int value)
+ {
+ buffer.putShort(offset + 4, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public static int versionEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int versionEncodingLength()
+ {
+ return 2;
+ }
+
+ public static int versionNullValue()
+ {
+ return 65535;
+ }
+
+ public static int versionMinValue()
+ {
+ return 0;
+ }
+
+ public static int versionMaxValue()
+ {
+ return 65534;
+ }
+
+ public MessageHeaderEncoder version(final int value)
+ {
+ buffer.putShort(offset + 6, (short)value, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MessageHeaderDecoder writer = new MessageHeaderDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/MetaAttribute.java b/sbe-tool/build/generated/composite/elements/MetaAttribute.java
new file mode 100644
index 0000000000..44d75934a1
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/MetaAttribute.java
@@ -0,0 +1,10 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+public enum MetaAttribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+}
diff --git a/sbe-tool/build/generated/composite/elements/MsgDecoder.java b/sbe-tool/build/generated/composite/elements/MsgDecoder.java
new file mode 100644
index 0000000000..934f0ab4e2
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/MsgDecoder.java
@@ -0,0 +1,167 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class MsgDecoder
+{
+ public static final int BLOCK_LENGTH = 22;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MsgDecoder parentMessage = this;
+ private DirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+ protected int actingBlockLength;
+ protected 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 MsgDecoder 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 int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int structureId()
+ {
+ return 42;
+ }
+
+ public static int structureSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int structureEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int structureEncodingLength()
+ {
+ return 22;
+ }
+
+ public static String structureMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OuterDecoder structure = new OuterDecoder();
+
+ public OuterDecoder structure()
+ {
+ structure.wrap(buffer, offset + 0);
+ return structure;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ final int originalLimit = limit();
+ limit(offset + actingBlockLength);
+ builder.append("[Msg](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("):");
+ //Token{signal=BEGIN_FIELD, name='structure', referencedName='null', description='null', id=42, version=0, deprecated=0, encodedLength=22, offset=0, componentTokenCount=18, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ //Token{signal=BEGIN_COMPOSITE, name='outer', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=22, offset=0, componentTokenCount=16, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("structure=");
+ structure().appendTo(builder);
+
+ limit(originalLimit);
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/MsgEncoder.java b/sbe-tool/build/generated/composite/elements/MsgEncoder.java
new file mode 100644
index 0000000000..93e4feee67
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/MsgEncoder.java
@@ -0,0 +1,150 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.MutableDirectBuffer;
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class MsgEncoder
+{
+ public static final int BLOCK_LENGTH = 22;
+ public static final int TEMPLATE_ID = 1;
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private final MsgEncoder parentMessage = this;
+ private MutableDirectBuffer buffer;
+ protected int offset;
+ protected int limit;
+
+ 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 MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public MsgEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+ limit(offset + BLOCK_LENGTH);
+
+ return this;
+ }
+
+ public MsgEncoder wrapAndApplyHeader(
+ final MutableDirectBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder)
+ {
+ headerEncoder
+ .wrap(buffer, offset)
+ .blockLength(BLOCK_LENGTH)
+ .templateId(TEMPLATE_ID)
+ .schemaId(SCHEMA_ID)
+ .version(SCHEMA_VERSION);
+
+ return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH);
+ }
+
+ public int encodedLength()
+ {
+ return limit - offset;
+ }
+
+ public int limit()
+ {
+ return limit;
+ }
+
+ public void limit(final int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static int structureId()
+ {
+ return 42;
+ }
+
+ public static int structureSinceVersion()
+ {
+ return 0;
+ }
+
+ public static int structureEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int structureEncodingLength()
+ {
+ return 22;
+ }
+
+ public static String structureMetaAttribute(final MetaAttribute metaAttribute)
+ {
+ switch (metaAttribute)
+ {
+ case EPOCH: return "";
+ case TIME_UNIT: return "";
+ case SEMANTIC_TYPE: return "";
+ case PRESENCE: return "required";
+ }
+
+ return "";
+ }
+
+ private final OuterEncoder structure = new OuterEncoder();
+
+ public OuterEncoder structure()
+ {
+ structure.wrap(buffer, offset + 0);
+ return structure;
+ }
+
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ MsgDecoder writer = new MsgDecoder();
+ writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/OuterDecoder.java b/sbe-tool/build/generated/composite/elements/OuterDecoder.java
new file mode 100644
index 0000000000..3e8e07ff63
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/OuterDecoder.java
@@ -0,0 +1,188 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.DirectBuffer;
+
+@SuppressWarnings("all")
+public class OuterDecoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 22;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public OuterDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int enumOneEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int enumOneEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int enumOneSinceVersion()
+ {
+ return 0;
+ }
+
+ public EnumOne enumOne()
+ {
+ return EnumOne.get(((short)(buffer.getByte(offset + 0) & 0xFF)));
+ }
+
+
+ public static int zerothEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int zerothEncodingLength()
+ {
+ return 1;
+ }
+
+ public static int zerothSinceVersion()
+ {
+ return 0;
+ }
+
+ public static short zerothNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short zerothMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short zerothMaxValue()
+ {
+ return (short)254;
+ }
+
+ public short zeroth()
+ {
+ return ((short)(buffer.getByte(offset + 1) & 0xFF));
+ }
+
+
+ public static int setOneEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int setOneEncodingLength()
+ {
+ return 4;
+ }
+
+ public static int setOneSinceVersion()
+ {
+ return 0;
+ }
+
+ private final SetOneDecoder setOne = new SetOneDecoder();
+
+ /**
+ * set as uint32
+ *
+ * @return SetOneDecoder : set as uint32
+ */
+ public SetOneDecoder setOne()
+ {
+ setOne.wrap(buffer, offset + 2);
+ return setOne;
+ }
+
+ public static int innerEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int innerEncodingLength()
+ {
+ return 16;
+ }
+
+ public static int innerSinceVersion()
+ {
+ return 0;
+ }
+
+ private final InnerDecoder inner = new InnerDecoder();
+
+ public InnerDecoder inner()
+ {
+ inner.wrap(buffer, offset + 6);
+ return inner;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('(');
+ //Token{signal=BEGIN_ENUM, name='enumOne', referencedName='null', description='enum as uint8', id=-1, version=0, deprecated=0, encodedLength=1, offset=0, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("enumOne=");
+ builder.append(enumOne());
+ builder.append('|');
+ //Token{signal=ENCODING, name='zeroth', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=1, offset=1, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=UINT8, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("zeroth=");
+ builder.append(zeroth());
+ builder.append('|');
+ //Token{signal=BEGIN_SET, name='setOne', referencedName='null', description='set as uint32', id=-1, version=0, deprecated=0, encodedLength=4, offset=2, componentTokenCount=5, encoding=Encoding{presence=REQUIRED, primitiveType=UINT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='int'}}
+ builder.append("setOne=");
+ builder.append(setOne());
+ builder.append('|');
+ //Token{signal=BEGIN_COMPOSITE, name='inner', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=16, offset=6, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}}
+ builder.append("inner=");
+ inner().appendTo(builder);
+ builder.append(')');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/OuterEncoder.java b/sbe-tool/build/generated/composite/elements/OuterEncoder.java
new file mode 100644
index 0000000000..538c599773
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/OuterEncoder.java
@@ -0,0 +1,154 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.MutableDirectBuffer;
+
+@SuppressWarnings("all")
+public class OuterEncoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 22;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public OuterEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public static int enumOneEncodingOffset()
+ {
+ return 0;
+ }
+
+ public static int enumOneEncodingLength()
+ {
+ return 1;
+ }
+
+ public OuterEncoder enumOne(final EnumOne value)
+ {
+ buffer.putByte(offset + 0, (byte)value.value());
+ return this;
+ }
+
+ public static int zerothEncodingOffset()
+ {
+ return 1;
+ }
+
+ public static int zerothEncodingLength()
+ {
+ return 1;
+ }
+
+ public static short zerothNullValue()
+ {
+ return (short)255;
+ }
+
+ public static short zerothMinValue()
+ {
+ return (short)0;
+ }
+
+ public static short zerothMaxValue()
+ {
+ return (short)254;
+ }
+
+ public OuterEncoder zeroth(final short value)
+ {
+ buffer.putByte(offset + 1, (byte)value);
+ return this;
+ }
+
+
+ public static int setOneEncodingOffset()
+ {
+ return 2;
+ }
+
+ public static int setOneEncodingLength()
+ {
+ return 4;
+ }
+
+ private final SetOneEncoder setOne = new SetOneEncoder();
+
+ /**
+ * set as uint32
+ *
+ * @return SetOneEncoder : set as uint32
+ */
+ public SetOneEncoder setOne()
+ {
+ setOne.wrap(buffer, offset + 2);
+ return setOne;
+ }
+
+ public static int innerEncodingOffset()
+ {
+ return 6;
+ }
+
+ public static int innerEncodingLength()
+ {
+ return 16;
+ }
+
+ private final InnerEncoder inner = new InnerEncoder();
+
+ public InnerEncoder inner()
+ {
+ inner.wrap(buffer, offset + 6);
+ return inner;
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ OuterDecoder writer = new OuterDecoder();
+ writer.wrap(buffer, offset);
+
+ return writer.appendTo(builder);
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/SetOneDecoder.java b/sbe-tool/build/generated/composite/elements/SetOneDecoder.java
new file mode 100644
index 0000000000..aa4a74371f
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/SetOneDecoder.java
@@ -0,0 +1,131 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.DirectBuffer;
+
+/**
+ * set as uint32
+ */
+@SuppressWarnings("all")
+public class SetOneDecoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private DirectBuffer buffer;
+
+ public SetOneDecoder wrap(final DirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public DirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public boolean isEmpty()
+ {
+ return 0 == buffer.getInt(offset);
+ }
+
+ public boolean bit0()
+ {
+ return 0 != (buffer.getInt(offset, java.nio.ByteOrder.LITTLE_ENDIAN) & (1 << 0));
+ }
+
+ public static boolean bit0(final int value)
+ {
+ return 0 != (value & (1 << 0));
+ }
+
+ public boolean bit16()
+ {
+ return 0 != (buffer.getInt(offset, java.nio.ByteOrder.LITTLE_ENDIAN) & (1 << 16));
+ }
+
+ public static boolean bit16(final int value)
+ {
+ return 0 != (value & (1 << 16));
+ }
+
+ public boolean bit26()
+ {
+ return 0 != (buffer.getInt(offset, java.nio.ByteOrder.LITTLE_ENDIAN) & (1 << 26));
+ }
+
+ public static boolean bit26(final int value)
+ {
+ return 0 != (value & (1 << 26));
+ }
+
+ public String toString()
+ {
+ return appendTo(new StringBuilder(100)).toString();
+ }
+
+ public StringBuilder appendTo(final StringBuilder builder)
+ {
+ builder.append('{');
+ boolean atLeastOne = false;
+ if (bit0())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("bit0");
+ atLeastOne = true;
+ }
+ if (bit16())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("bit16");
+ atLeastOne = true;
+ }
+ if (bit26())
+ {
+ if (atLeastOne)
+ {
+ builder.append(',');
+ }
+ builder.append("bit26");
+ atLeastOne = true;
+ }
+ builder.append('}');
+
+ return builder;
+ }
+}
diff --git a/sbe-tool/build/generated/composite/elements/SetOneEncoder.java b/sbe-tool/build/generated/composite/elements/SetOneEncoder.java
new file mode 100644
index 0000000000..4ce5bbfd31
--- /dev/null
+++ b/sbe-tool/build/generated/composite/elements/SetOneEncoder.java
@@ -0,0 +1,100 @@
+/* Generated SBE (Simple Binary Encoding) message codec */
+package composite.elements;
+
+import org.agrona.MutableDirectBuffer;
+
+/**
+ * set as uint32
+ */
+@SuppressWarnings("all")
+public class SetOneEncoder
+{
+ public static final int SCHEMA_ID = 3;
+ public static final int SCHEMA_VERSION = 0;
+ public static final int ENCODED_LENGTH = 4;
+ public static final java.nio.ByteOrder BYTE_ORDER = java.nio.ByteOrder.LITTLE_ENDIAN;
+
+ private int offset;
+ private MutableDirectBuffer buffer;
+
+ public SetOneEncoder wrap(final MutableDirectBuffer buffer, final int offset)
+ {
+ if (buffer != this.buffer)
+ {
+ this.buffer = buffer;
+ }
+ this.offset = offset;
+
+ return this;
+ }
+
+ public MutableDirectBuffer buffer()
+ {
+ return buffer;
+ }
+
+ public int offset()
+ {
+ return offset;
+ }
+
+ public int encodedLength()
+ {
+ return ENCODED_LENGTH;
+ }
+
+ public int sbeSchemaId()
+ {
+ return SCHEMA_ID;
+ }
+
+ public int sbeSchemaVersion()
+ {
+ return SCHEMA_VERSION;
+ }
+
+ public SetOneEncoder clear()
+ {
+ buffer.putInt(offset, (int)0L, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ public SetOneEncoder bit0(final boolean value)
+ {
+ int bits = buffer.getInt(offset, java.nio.ByteOrder.LITTLE_ENDIAN);
+ bits = value ? bits | (1 << 0) : bits & ~(1 << 0);
+ buffer.putInt(offset, bits, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ public static int bit0(final int bits, final boolean value)
+ {
+ return value ? bits | (1 << 0) : bits & ~(1 << 0);
+ }
+
+ public SetOneEncoder bit16(final boolean value)
+ {
+ int bits = buffer.getInt(offset, java.nio.ByteOrder.LITTLE_ENDIAN);
+ bits = value ? bits | (1 << 16) : bits & ~(1 << 16);
+ buffer.putInt(offset, bits, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ public static int bit16(final int bits, final boolean value)
+ {
+ return value ? bits | (1 << 16) : bits & ~(1 << 16);
+ }
+
+ public SetOneEncoder bit26(final boolean value)
+ {
+ int bits = buffer.getInt(offset, java.nio.ByteOrder.LITTLE_ENDIAN);
+ bits = value ? bits | (1 << 26) : bits & ~(1 << 26);
+ buffer.putInt(offset, bits, java.nio.ByteOrder.LITTLE_ENDIAN);
+ return this;
+ }
+
+ public static int bit26(final int bits, final boolean value)
+ {
+ return value ? bits | (1 << 26) : bits & ~(1 << 26);
+ }
+}
diff --git a/sbe-tool/build/generated/cpp/cpp/Encoding.h b/sbe-tool/build/generated/cpp/cpp/Encoding.h
new file mode 100644
index 0000000000..09315e65ac
--- /dev/null
+++ b/sbe-tool/build/generated/cpp/cpp/Encoding.h
@@ -0,0 +1,593 @@
+/*
+ * Copyright 2013-2019 Real Logic Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef _OTF_ENCODING_H
+#define _OTF_ENCODING_H
+
+#include
+#include
+
+#if defined(WIN32) || defined(_WIN32)
+# define SBE_OTF_BSWAP_16(v) _byteswap_ushort(v)
+# define SBE_OTF_BSWAP_32(v) _byteswap_ulong(v)
+# define SBE_OTF_BSWAP_64(v) _byteswap_uint64(v)
+#else // assuming gcc/clang
+# define SBE_OTF_BSWAP_16(v) __builtin_bswap16(v)
+# define SBE_OTF_BSWAP_32(v) __builtin_bswap32(v)
+# define SBE_OTF_BSWAP_64(v) __builtin_bswap64(v)
+#endif
+
+#if defined(WIN32) || defined(_WIN32)
+# define SBE_OTF_BYTE_ORDER_16(o,v) ((o == ByteOrder::SBE_LITTLE_ENDIAN) ? (v) : SBE_OTF_BSWAP_16(v))
+# define SBE_OTF_BYTE_ORDER_32(o,v) ((o == ByteOrder::SBE_LITTLE_ENDIAN) ? (v) : SBE_OTF_BSWAP_32(v))
+# define SBE_OTF_BYTE_ORDER_64(o,v) ((o == ByteOrder::SBE_LITTLE_ENDIAN) ? (v) : SBE_OTF_BSWAP_64(v))
+#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+# define SBE_OTF_BYTE_ORDER_16(o,v) ((o == ByteOrder::SBE_LITTLE_ENDIAN) ? (v) : SBE_OTF_BSWAP_16(v))
+# define SBE_OTF_BYTE_ORDER_32(o,v) ((o == ByteOrder::SBE_LITTLE_ENDIAN) ? (v) : SBE_OTF_BSWAP_32(v))
+# define SBE_OTF_BYTE_ORDER_64(o,v) ((o == ByteOrder::SBE_LITTLE_ENDIAN) ? (v) : SBE_OTF_BSWAP_64(v))
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+# define SBE_OTF_BYTE_ORDER_16(o,v) ((o == ByteOrder::SBE_BIG_ENDIAN) ? (v) : SBE_OTF_BSWAP_16(v))
+# define SBE_OTF_BYTE_ORDER_32(o,v) ((o == ByteOrder::SBE_BIG_ENDIAN) ? (v) : SBE_OTF_BSWAP_32(v))
+# define SBE_OTF_BYTE_ORDER_64(o,v) ((o == ByteOrder::SBE_BIG_ENDIAN) ? (v) : SBE_OTF_BSWAP_64(v))
+#else
+ #error "Byte Ordering of platform not determined. Set __BYTE_ORDER__ manually before including this file."
+#endif
+
+namespace sbe {
+namespace otf {
+
+/// Constants used for representing byte order
+enum class ByteOrder : int
+{
+ /// little endian byte order
+ SBE_LITTLE_ENDIAN = 0,
+ /// big endian byte order
+ SBE_BIG_ENDIAN = 1
+};
+
+typedef union sbe_float_as_uint_u
+{
+ float fp_value;
+ std::uint32_t uint_value;
+}
+sbe_float_as_uint_t;
+
+typedef union sbe_double_as_uint_u
+{
+ double fp_value;
+ std::uint64_t uint_value;
+}
+sbe_double_as_uint_t;
+
+/// Constants used for representing primitive types
+enum class PrimitiveType : int
+{
+ /// Type is undefined or unknown
+ NONE = 0,
+ /// Type is a signed character
+ CHAR = 1,
+ /// Type is a signed 8-bit value
+ INT8 = 2,
+ /// Type is a signed 16-bit value
+ INT16 = 3,
+ /// Type is a signed 32-bit value
+ INT32 = 4,
+ /// Type is a signed 64-bit value
+ INT64 = 5,
+ /// Type is a unsigned 8-bit value
+ UINT8 = 6,
+ /// Type is a unsigned 16-bit value
+ UINT16 = 7,
+ /// Type is a unsigned 32-bit value
+ UINT32 = 8,
+ /// Type is a unsigned 64-bit value
+ UINT64 = 9,
+ /// Type is a 32-bit floating point value
+ FLOAT = 10,
+ /// Type is a 64-bit double floating point value
+ DOUBLE = 11
+};
+
+/// Constants used for representing Presence
+enum class Presence : int
+{
+ /// Field or encoding presence is required
+ SBE_REQUIRED = 0,
+ /// Field or encoding presence is optional
+ SBE_OPTIONAL = 1,
+ /// Field or encoding presence is constant and not encoded
+ SBE_CONSTANT = 2
+};
+
+inline std::size_t lengthOfType(PrimitiveType type)
+{
+ switch (type)
+ {
+ case PrimitiveType::CHAR:
+ return 1;
+
+ case PrimitiveType::INT8:
+ return 1;
+
+ case PrimitiveType::INT16:
+ return 2;
+
+ case PrimitiveType::INT32:
+ return 4;
+
+ case PrimitiveType::INT64:
+ return 8;
+
+ case PrimitiveType::UINT8:
+ return 1;
+
+ case PrimitiveType::UINT16:
+ return 2;
+
+ case PrimitiveType::UINT32:
+ return 4;
+
+ case PrimitiveType::UINT64:
+ return 8;
+
+ case PrimitiveType::FLOAT:
+ return 4;
+
+ case PrimitiveType::DOUBLE:
+ return 8;
+
+ default:
+ return 0;
+ }
+}
+
+class PrimitiveValue
+{
+public:
+ PrimitiveValue(PrimitiveType type, std::size_t valueLength, const char *value) :
+ m_type(type)
+ {
+ if (0 == valueLength)
+ {
+ m_type = PrimitiveType::NONE;
+ m_size = 0;
+ return;
+ }
+
+ switch (type)
+ {
+ case PrimitiveType::CHAR:
+ {
+ if (valueLength > 1)
+ {
+ m_arrayValue = std::string(value, valueLength);
+ m_size = valueLength;
+ }
+ else
+ {
+ m_value.asInt = *(char *) value;
+ m_size = 1;
+ }
+ break;
+ }
+
+ case PrimitiveType::INT8:
+ {
+ std::int8_t temp;
+ std::memcpy(&temp, value, sizeof(std::int8_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::int8_t);
+ break;
+ }
+
+ case PrimitiveType::INT16:
+ {
+ std::int16_t temp;
+ std::memcpy(&temp, value, sizeof(std::int16_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::int16_t);
+ break;
+ }
+
+ case PrimitiveType::INT32:
+ {
+ std::int32_t temp;
+ std::memcpy(&temp, value, sizeof(std::int32_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::int32_t);
+ break;
+ }
+
+ case PrimitiveType::INT64:
+ {
+ std::int64_t temp;
+ std::memcpy(&temp, value, sizeof(std::int64_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::int64_t);
+ break;
+ }
+
+ case PrimitiveType::UINT8:
+ {
+ std::uint8_t temp;
+ std::memcpy(&temp, value, sizeof(std::uint8_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::uint8_t);
+ break;
+ }
+
+ case PrimitiveType::UINT16:
+ {
+ std::uint16_t temp;
+ std::memcpy(&temp, value, sizeof(std::uint16_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::uint16_t);
+ break;
+ }
+
+ case PrimitiveType::UINT32:
+ {
+ std::uint32_t temp;
+ std::memcpy(&temp, value, sizeof(std::uint32_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::uint32_t);
+ break;
+ }
+
+ case PrimitiveType::UINT64:
+ {
+ std::uint64_t temp;
+ std::memcpy(&temp, value, sizeof(std::uint64_t));
+ m_value.asInt = temp;
+ m_size = sizeof(std::uint64_t);
+ break;
+ }
+
+ case PrimitiveType::FLOAT:
+ {
+ float temp;
+ std::memcpy(&temp, value, sizeof(float));
+ m_value.asDouble = temp;
+ m_size = sizeof(float);
+ break;
+ }
+
+ case PrimitiveType::DOUBLE:
+ {
+ double temp;
+ std::memcpy(&temp, value, sizeof(double));
+ m_value.asDouble = temp;
+ m_size = sizeof(double);
+ break;
+ }
+
+ default:
+ {
+ m_type = PrimitiveType::NONE;
+ m_size = 0;
+ break;
+ }
+ }
+ }
+
+ inline std::int64_t getAsInt() const
+ {
+ return m_value.asInt;
+ }
+
+ inline std::uint64_t getAsUInt() const
+ {
+ return m_value.asUInt;
+ }
+
+ inline double getAsDouble() const
+ {
+ return m_value.asDouble;
+ }
+
+ inline const char *getArray() const
+ {
+ return m_arrayValue.c_str(); // in C++11 data() and c_str() are equivalent and are null terminated after length
+ }
+
+ inline std::size_t size() const
+ {
+ return m_size;
+ }
+
+ inline PrimitiveType primitiveType() const
+ {
+ return m_type;
+ }
+
+private:
+ PrimitiveType m_type;
+ std::size_t m_size;
+ union
+ {
+ std::int64_t asInt;
+ std::uint64_t asUInt;
+ double asDouble;
+ } m_value;
+ std::string m_arrayValue; // use this to store all the types, not just char arrays
+};
+
+class Encoding
+{
+public:
+ Encoding(
+ PrimitiveType type,
+ Presence presence,
+ ByteOrder byteOrder,
+ PrimitiveValue minValue,
+ PrimitiveValue maxValue,
+ PrimitiveValue nullValue,
+ PrimitiveValue constValue,
+ std::string characterEncoding,
+ std::string epoch,
+ std::string timeUnit,
+ std::string semanticType)
+ :
+ m_presence(presence),
+ m_primitiveType(type),
+ m_byteOrder(byteOrder),
+ m_minValue(std::move(minValue)),
+ m_maxValue(std::move(maxValue)),
+ m_nullValue(std::move(nullValue)),
+ m_constValue(std::move(constValue)),
+ m_characterEncoding(std::move(characterEncoding)),
+ m_epoch(std::move(epoch)),
+ m_timeUnit(std::move(timeUnit)),
+ m_semanticType(std::move(semanticType))
+ {
+ }
+
+ static inline char getChar(const char *buffer)
+ {
+ return *(char *)buffer;
+ }
+
+ static inline std::int8_t getInt8(const char *buffer)
+ {
+ std::int8_t value;
+ std::memcpy(&value, buffer, sizeof(std::int8_t));
+
+ return value;
+ }
+
+ static inline std::int16_t getInt16(const char *buffer, const ByteOrder byteOrder)
+ {
+ std::int16_t value;
+ std::memcpy(&value, buffer, sizeof(std::int16_t));
+
+ return SBE_OTF_BYTE_ORDER_16(byteOrder, value);
+ }
+
+ static inline std::int32_t getInt32(const char *buffer, const ByteOrder byteOrder)
+ {
+ std::int32_t value;
+ std::memcpy(&value, buffer, sizeof(std::int32_t));
+
+ return SBE_OTF_BYTE_ORDER_32(byteOrder, value);
+ }
+
+ static inline std::int64_t getInt64(const char *buffer, const ByteOrder byteOrder)
+ {
+ std::int64_t value;
+ std::memcpy(&value, buffer, sizeof(std::int64_t));
+
+ return SBE_OTF_BYTE_ORDER_64(byteOrder, value);
+ }
+
+ static inline std::uint8_t getUInt8(const char *buffer)
+ {
+ std::uint8_t value;
+ std::memcpy(&value, buffer, sizeof(std::uint8_t));
+
+ return value;
+ }
+
+ static inline std::uint16_t getUInt16(const char *buffer, const ByteOrder byteOrder)
+ {
+ std::uint16_t value;
+ std::memcpy(&value, buffer, sizeof(std::uint16_t));
+
+ return SBE_OTF_BYTE_ORDER_16(byteOrder, value);
+ }
+
+ static inline std::uint32_t getUInt32(const char *buffer, const ByteOrder byteOrder)
+ {
+ std::uint32_t value;
+ std::memcpy(&value, buffer, sizeof(std::uint32_t));
+
+ return SBE_OTF_BYTE_ORDER_32(byteOrder, value);
+ }
+
+ static inline std::uint64_t getUInt64(const char *buffer, const ByteOrder byteOrder)
+ {
+ std::uint64_t value;
+ std::memcpy(&value, buffer, sizeof(std::uint64_t));
+
+ return SBE_OTF_BYTE_ORDER_64(byteOrder, value);
+ }
+
+ static inline float getFloat(const char *buffer, const ByteOrder byteOrder)
+ {
+ sbe_float_as_uint_t value;
+ std::memcpy(&value, buffer, sizeof(float));
+ value.uint_value = SBE_OTF_BYTE_ORDER_32(byteOrder, value.uint_value);
+
+ return value.fp_value;
+ }
+
+ static inline double getDouble(const char *buffer, const ByteOrder byteOrder)
+ {
+ sbe_double_as_uint_t value;
+ std::memcpy(&value, buffer, sizeof(double));
+ value.uint_value = SBE_OTF_BYTE_ORDER_64(byteOrder, value.uint_value);
+
+ return value.fp_value;
+ }
+
+ static inline std::int64_t getInt(const PrimitiveType type, const ByteOrder byteOrder, const char *buffer)
+ {
+ switch (type)
+ {
+ case PrimitiveType::CHAR:
+ return getChar(buffer);
+
+ case PrimitiveType::INT8:
+ return getInt8(buffer);
+
+ case PrimitiveType::INT16:
+ return getInt16(buffer, byteOrder);
+
+ case PrimitiveType::INT32:
+ return getInt32(buffer, byteOrder);
+
+ case PrimitiveType::INT64:
+ return getInt64(buffer, byteOrder);
+
+ default:
+ throw std::runtime_error("incorrect type for Encoding::getInt");
+ }
+ }
+
+ static inline std::uint64_t getUInt(const PrimitiveType type, const ByteOrder byteOrder, const char *buffer)
+ {
+ switch (type)
+ {
+ case PrimitiveType::UINT8:
+ return getUInt8(buffer);
+
+ case PrimitiveType::UINT16:
+ return getUInt16(buffer, byteOrder);
+
+ case PrimitiveType::UINT32:
+ return getUInt32(buffer, byteOrder);
+
+ case PrimitiveType::UINT64:
+ return getUInt64(buffer, byteOrder);
+
+ default:
+ throw std::runtime_error("incorrect type for Encoding::getUInt");
+ }
+ }
+
+ static inline double getDouble(const PrimitiveType type, const ByteOrder byteOrder, const char *buffer)
+ {
+ if (type == PrimitiveType::FLOAT)
+ {
+ return getFloat(buffer, byteOrder);
+ }
+ else if (type == PrimitiveType::DOUBLE)
+ {
+ return getDouble(buffer, byteOrder);
+ }
+ else
+ {
+ throw std::runtime_error("incorrect type for Encoding::getDouble");
+ }
+ }
+
+ inline Presence presence() const
+ {
+ return m_presence;
+ }
+
+ inline ByteOrder byteOrder() const
+ {
+ return m_byteOrder;
+ }
+
+ inline PrimitiveType primitiveType() const
+ {
+ return m_primitiveType;
+ }
+
+ inline std::int64_t getAsInt(const char *buffer) const
+ {
+ return getInt(m_primitiveType, m_byteOrder, buffer);
+ }
+
+ inline std::uint64_t getAsUInt(const char *buffer) const
+ {
+ return getUInt(m_primitiveType, m_byteOrder, buffer);
+ }
+
+ inline double getAsDouble(const char *buffer) const
+ {
+ return getDouble(m_primitiveType, m_byteOrder, buffer);
+ }
+
+ inline const PrimitiveValue& minValue() const
+ {
+ return m_minValue;
+ }
+
+ inline const PrimitiveValue& maxValue() const
+ {
+ return m_maxValue;
+ }
+
+ inline const PrimitiveValue& nullValue() const
+ {
+ return m_nullValue;
+ }
+
+ inline const PrimitiveValue& constValue() const
+ {
+ return m_constValue;
+ }
+
+ inline const std::string& characterEncoding() const
+ {
+ return m_characterEncoding;
+ }
+
+ inline const std::string& epoch() const
+ {
+ return m_epoch;
+ }
+
+ inline const std::string& timeUnit() const
+ {
+ return m_timeUnit;
+ }
+
+ inline const std::string& semanticType() const
+ {
+ return m_semanticType;
+ }
+
+private:
+ const Presence m_presence;
+ const PrimitiveType m_primitiveType;
+ const ByteOrder m_byteOrder;
+
+ const PrimitiveValue m_minValue;
+ const PrimitiveValue m_maxValue;
+ const PrimitiveValue m_nullValue;
+ const PrimitiveValue m_constValue;
+
+ const std::string m_characterEncoding;
+ const std::string m_epoch;
+ const std::string m_timeUnit;
+ const std::string m_semanticType;
+};
+
+}}
+
+#endif
diff --git a/sbe-tool/build/generated/cpp/cpp/IrDecoder.h b/sbe-tool/build/generated/cpp/cpp/IrDecoder.h
new file mode 100644
index 0000000000..29e23ee873
--- /dev/null
+++ b/sbe-tool/build/generated/cpp/cpp/IrDecoder.h
@@ -0,0 +1,328 @@
+/*
+ * Copyright 2013-2019 Real Logic Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef _OTF_IRDECODER_H
+#define _OTF_IRDECODER_H
+
+#if defined(WIN32) || defined(_WIN32)
+#include
+#include
+#include
+#define fileno _fileno
+#define read _read
+#define stat _stat64
+#else
+#include
+#include
+#include
+#include
+#endif /* WIN32 */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "uk_co_real_logic_sbe_ir_generated/TokenCodec.h"
+#include "uk_co_real_logic_sbe_ir_generated/FrameCodec.h"
+#include "Token.h"
+
+using namespace sbe::otf;
+
+namespace sbe {
+namespace otf {
+
+class IrDecoder
+{
+public:
+ IrDecoder() :
+ m_length(0)
+ {
+ }
+
+ int decode(char *buffer, std::uint64_t length)
+ {
+ m_length = length;
+ return decodeIr();
+ }
+
+ int decode(const char *filename)
+ {
+ long fileSize = getFileSize(filename);
+
+ if (fileSize < 0)
+ {
+ return -1;
+ }
+
+ m_length = static_cast(fileSize);
+ if (m_length == 0)
+ {
+ return -1;
+ }
+ std::unique_ptr buffer(new char[m_length]);
+ m_buffer = std::move(buffer);
+
+ if (readFileIntoBuffer(m_buffer.get(), filename, m_length) < 0)
+ {
+ return -1;
+ }
+
+ return decode(m_buffer.get(), m_length);
+ }
+
+ std::shared_ptr> header()
+ {
+ return m_headerTokens;
+ }
+
+ std::vector>> messages()
+ {
+ return m_messages;
+ }
+
+ std::shared_ptr> message(int id, int version)
+ {
+ std::shared_ptr> result;
+
+ std::for_each(m_messages.begin(), m_messages.end(),
+ [&](std::shared_ptr> tokens)
+ {
+ Token& token = tokens->at(0);
+
+ if (token.signal() == Signal::BEGIN_MESSAGE && token.fieldId() == id && token.tokenVersion() == version)
+ {
+ result = tokens;
+ }
+ });
+
+ return result;
+ }
+
+ std::shared_ptr> message(int id)
+ {
+ std::shared_ptr> result;
+
+ std::for_each(m_messages.begin(), m_messages.end(),
+ [&](std::shared_ptr> tokens)
+ {
+ Token& token = tokens->at(0);
+
+ if (token.signal() == Signal::BEGIN_MESSAGE && token.fieldId() == id)
+ {
+ result = tokens;
+ }
+ });
+
+ return result;
+ }
+
+protected:
+ // OS specifics
+ static long getFileSize(const char *filename)
+ {
+ struct stat fileStat;
+
+ if (::stat(filename, &fileStat) != 0)
+ {
+ return -1;
+ }
+
+ return fileStat.st_size;
+ }
+
+ static int readFileIntoBuffer(char *buffer, const char *filename, std::uint64_t length)
+ {
+ FILE *fptr = ::fopen(filename, "rb");
+ std::uint64_t remaining = length;
+
+ if (nullptr == fptr)
+ {
+ return -1;
+ }
+
+ int fd = fileno(fptr);
+ while (remaining > 0)
+ {
+ long sz = ::read(fd, buffer + (length - remaining), (4098 < remaining) ? 4098 : remaining);
+ remaining -= sz;
+ if (sz < 0)
+ {
+ break;
+ }
+ }
+
+ fclose(fptr);
+
+ return (remaining == 0) ? 0 : -1;
+ }
+
+private:
+ std::shared_ptr> m_headerTokens;
+ std::vector>> m_messages;
+ std::unique_ptr m_buffer;
+ std::uint64_t m_length;
+ int m_id;
+
+ int decodeIr()
+ {
+ using namespace uk::co::real_logic::sbe::ir::generated;
+
+ FrameCodec frame;
+ std::uint64_t offset = 0;
+ char tmp[256];
+
+ frame.wrapForDecode(m_buffer.get(), offset, frame.sbeBlockLength(), frame.sbeSchemaVersion(), m_length);
+
+ frame.getPackageName(tmp, sizeof(tmp));
+
+ if (frame.irVersion() != 0)
+ {
+ return -1;
+ }
+
+ frame.getNamespaceName(tmp, sizeof(tmp));
+ frame.getSemanticVersion(tmp, sizeof(tmp));
+
+ offset += frame.encodedLength();
+
+ m_headerTokens.reset(new std::vector());
+
+ std::uint64_t headerLength = readHeader(offset);
+
+ m_id = frame.irId();
+
+ offset += headerLength;
+
+ while (offset < m_length)
+ {
+ offset += readMessage(offset);
+ }
+
+ return 0;
+ }
+
+ std::uint64_t decodeAndAddToken(std::shared_ptr>& tokens, std::uint64_t offset)
+ {
+ using namespace uk::co::real_logic::sbe::ir::generated;
+
+ TokenCodec tokenCodec;
+ tokenCodec.wrapForDecode(m_buffer.get(), offset, tokenCodec.sbeBlockLength(), tokenCodec.sbeSchemaVersion(), m_length);
+
+ Signal signal = static_cast(tokenCodec.signal());
+ PrimitiveType type = static_cast(tokenCodec.primitiveType());
+ Presence presence = static_cast(tokenCodec.presence());
+ ByteOrder byteOrder = static_cast(tokenCodec.byteOrder());
+ std::int32_t tokenOffset = tokenCodec.tokenOffset();
+ std::int32_t tokenSize = tokenCodec.tokenSize();
+ std::int32_t id = tokenCodec.fieldId();
+ std::int32_t version = tokenCodec.tokenVersion();
+ std::int32_t componentTokenCount = tokenCodec.componentTokenCount();
+ char tmpBuffer[256];
+ std::uint64_t tmpLen = 0;
+
+ tmpLen = tokenCodec.getName(tmpBuffer, sizeof(tmpBuffer));
+ std::string name(tmpBuffer, static_cast(tmpLen));
+
+ tmpLen = tokenCodec.getConstValue(tmpBuffer, sizeof(tmpBuffer));
+ PrimitiveValue constValue(type, tmpLen, tmpBuffer);
+
+ tmpLen = tokenCodec.getMinValue(tmpBuffer, sizeof(tmpBuffer));
+ PrimitiveValue minValue(type, tmpLen, tmpBuffer);
+
+ tmpLen = tokenCodec.getMaxValue(tmpBuffer, sizeof(tmpBuffer));
+ PrimitiveValue maxValue(type, tmpLen, tmpBuffer);
+
+ tmpLen = tokenCodec.getNullValue(tmpBuffer, sizeof(tmpBuffer));
+ PrimitiveValue nullValue(type, tmpLen, tmpBuffer);
+
+ tmpLen = tokenCodec.getCharacterEncoding(tmpBuffer, sizeof(tmpBuffer));
+ std::string characterEncoding(tmpBuffer, tmpLen);
+
+ tmpLen = tokenCodec.getEpoch(tmpBuffer, sizeof(tmpBuffer));
+ std::string epoch(tmpBuffer, tmpLen);
+
+ tmpLen = tokenCodec.getTimeUnit(tmpBuffer, sizeof(tmpBuffer));
+ std::string timeUnit(tmpBuffer, tmpLen);
+
+ tmpLen = tokenCodec.getSemanticType(tmpBuffer, sizeof(tmpBuffer));
+ std::string semanticType(tmpBuffer, tmpLen);
+
+ tmpLen = tokenCodec.getDescription(tmpBuffer, sizeof(tmpBuffer));
+ std::string description(tmpBuffer, tmpLen);
+
+ tmpLen = tokenCodec.getReferencedName(tmpBuffer, sizeof(tmpBuffer));
+ std::string referencedName(tmpBuffer, tmpLen);
+
+ Encoding encoding(
+ type, presence, byteOrder, minValue, maxValue, nullValue, constValue,
+ characterEncoding, epoch, timeUnit, semanticType);
+
+ Token token(
+ tokenOffset, id, version, tokenSize, componentTokenCount, signal, name, description, encoding);
+
+ tokens->push_back(token);
+
+ return tokenCodec.encodedLength();
+ }
+
+ std::uint64_t readHeader(std::uint64_t offset)
+ {
+ std::uint64_t size = 0;
+
+ while (offset + size < m_length)
+ {
+ size += decodeAndAddToken(m_headerTokens, offset + size);
+
+ Token& token = m_headerTokens->back();
+
+ if (token.signal() == Signal::END_COMPOSITE)
+ {
+ break;
+ }
+ }
+
+ return size;
+ }
+
+ std::uint64_t readMessage(std::uint64_t offset)
+ {
+ std::uint64_t size = 0;
+
+ std::shared_ptr> tokensForMessage(new std::vector());
+
+ while (offset + size < m_length)
+ {
+ size += decodeAndAddToken(tokensForMessage, offset + size);
+
+ Token& token = tokensForMessage->back();
+
+ if (token.signal() == Signal::END_MESSAGE)
+ {
+ break;
+ }
+ }
+
+ m_messages.push_back(tokensForMessage);
+
+ return size;
+ }
+};
+
+}}
+
+#endif
diff --git a/sbe-tool/build/generated/cpp/cpp/OtfHeaderDecoder.h b/sbe-tool/build/generated/cpp/cpp/OtfHeaderDecoder.h
new file mode 100644
index 0000000000..3dda594c0f
--- /dev/null
+++ b/sbe-tool/build/generated/cpp/cpp/OtfHeaderDecoder.h
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2013-2019 Real Logic Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef _OTF_HEADERDECODER_H
+#define _OTF_HEADERDECODER_H
+
+#include
+#include
+#include
+#include
+#include
+
+#include "Token.h"
+
+namespace sbe {
+namespace otf {
+
+class OtfHeaderDecoder
+{
+public:
+ explicit OtfHeaderDecoder(const std::shared_ptr>& tokens)
+ {
+ m_encodedLength = tokens->at(0).encodedLength();
+
+ Token* blockLengthToken = nullptr;
+ Token* templateIdToken = nullptr;
+ Token* schemaIdToken = nullptr;
+ Token* versionToken = nullptr;
+
+ std::for_each(tokens->begin(), tokens->end(), [&](Token& token)
+ {
+ const std::string& name = token.name();
+
+ if (name == "blockLength")
+ {
+ blockLengthToken = &token;
+ }
+ else if (name == "templateId")
+ {
+ templateIdToken = &token;
+ }
+ else if (name == "schemaId")
+ {
+ schemaIdToken = &token;
+ }
+ else if (name == "version")
+ {
+ versionToken = &token;
+ }
+ });
+
+ if (nullptr == blockLengthToken)
+ {
+ throw std::runtime_error("blockLength token not found");
+ }
+
+ m_blockLengthOffset = blockLengthToken->offset();
+ m_blockLengthType = blockLengthToken->encoding().primitiveType();
+ m_blockLengthByteOrder = blockLengthToken->encoding().byteOrder();
+
+ if (nullptr == templateIdToken)
+ {
+ throw std::runtime_error("templateId token not found");
+ }
+
+ m_templateIdOffset = templateIdToken->offset();
+ m_templateIdType = templateIdToken->encoding().primitiveType();
+ m_templateIdByteOrder = templateIdToken->encoding().byteOrder();
+
+ if (nullptr == schemaIdToken)
+ {
+ throw std::runtime_error("schemaId token not found");
+ }
+
+ m_schemaIdOffset = schemaIdToken->offset();
+ m_schemaIdType = schemaIdToken->encoding().primitiveType();
+ m_schemaIdByteOrder = schemaIdToken->encoding().byteOrder();
+
+ if (nullptr == versionToken)
+ {
+ throw std::runtime_error("version token not found");
+ }
+
+ m_schemaVersionOffset = versionToken->offset();
+ m_schemaVersionType = versionToken->encoding().primitiveType();
+ m_schemaVersionByteOrder = versionToken->encoding().byteOrder();
+ }
+
+ inline std::uint32_t encodedLength() const
+ {
+ return static_cast(m_encodedLength);
+ }
+
+ /*
+ * All elements must be unsigned integers according to Specification
+ */
+
+ std::uint64_t getTemplateId(const char *headerBuffer) const
+ {
+ return Encoding::getUInt(m_templateIdType, m_templateIdByteOrder, headerBuffer + m_templateIdOffset);
+ }
+
+ std::uint64_t getSchemaId(const char *headerBuffer) const
+ {
+ return Encoding::getUInt(m_schemaIdType, m_schemaIdByteOrder, headerBuffer + m_schemaIdOffset);
+ }
+
+ std::uint64_t getSchemaVersion(const char *headerBuffer) const
+ {
+ return Encoding::getUInt(m_schemaVersionType, m_schemaVersionByteOrder, headerBuffer + m_schemaVersionOffset);
+ }
+
+ std::uint64_t getBlockLength(const char *headerBuffer) const
+ {
+ return Encoding::getUInt(m_blockLengthType, m_blockLengthByteOrder, headerBuffer + m_blockLengthOffset);
+ }
+
+private:
+ std::int32_t m_encodedLength;
+ std::int32_t m_blockLengthOffset;
+ std::int32_t m_templateIdOffset;
+ std::int32_t m_schemaIdOffset;
+ std::int32_t m_schemaVersionOffset;
+ PrimitiveType m_blockLengthType;
+ PrimitiveType m_templateIdType;
+ PrimitiveType m_schemaIdType;
+ PrimitiveType m_schemaVersionType;
+ ByteOrder m_blockLengthByteOrder;
+ ByteOrder m_templateIdByteOrder;
+ ByteOrder m_schemaIdByteOrder;
+ ByteOrder m_schemaVersionByteOrder;
+};
+
+}}
+
+#endif
diff --git a/sbe-tool/build/generated/cpp/cpp/OtfMessageDecoder.h b/sbe-tool/build/generated/cpp/cpp/OtfMessageDecoder.h
new file mode 100644
index 0000000000..eda967a262
--- /dev/null
+++ b/sbe-tool/build/generated/cpp/cpp/OtfMessageDecoder.h
@@ -0,0 +1,417 @@
+/*
+ * Copyright 2013-2019 Real Logic Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef _OTF_MESSAGEDECODER_H
+#define _OTF_MESSAGEDECODER_H
+
+#include
+#include
+
+#include "Token.h"
+
+using namespace sbe::otf;
+
+namespace sbe {
+namespace otf {
+namespace OtfMessageDecoder {
+
+typedef std::function on_begin_message_t;
+
+typedef std::function on_end_message_t;
+
+typedef std::function on_encoding_t;
+
+typedef std::function& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex,
+ std::uint64_t actingVersion)> on_enum_t;
+
+typedef std::function& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex,
+ std::uint64_t actingVersion)> on_bit_set_t;
+
+typedef std::function& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex)> on_begin_composite_t;
+
+typedef std::function& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex)> on_end_composite_t;
+
+typedef std::function on_group_header_t;
+
+typedef std::function on_begin_group_t;
+
+typedef std::function on_end_group_t;
+
+typedef std::function on_var_data_t;
+
+class BasicTokenListener
+{
+public:
+ virtual void onBeginMessage(Token& token) {}
+
+ virtual void onEndMessage(Token& token) {}
+
+ virtual void onEncoding(
+ Token& fieldToken,
+ const char *buffer,
+ Token& typeToken,
+ std::uint64_t actingVersion) {}
+
+ virtual void onEnum(
+ Token& fieldToken,
+ const char *buffer,
+ std::vector& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex,
+ std::uint64_t actingVersion) {}
+
+ virtual void onBitSet(
+ Token& fieldToken,
+ const char *buffer,
+ std::vector& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex,
+ std::uint64_t actingVersion) {}
+
+ virtual void onBeginComposite(
+ Token& fieldToken,
+ std::vector& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex) {}
+
+ virtual void onEndComposite(
+ Token& fieldToken,
+ std::vector& tokens,
+ std::size_t fromIndex,
+ std::size_t toIndex) {}
+
+ virtual void onGroupHeader(
+ Token& token,
+ std::uint64_t numInGroup) {}
+
+ virtual void onBeginGroup(
+ Token& token,
+ std::uint64_t groupIndex,
+ std::uint64_t numInGroup) {}
+
+ virtual void onEndGroup(
+ Token& token,
+ std::uint64_t groupIndex,
+ std::uint64_t numInGroup) {}
+
+ virtual void onVarData(
+ Token& fieldToken,
+ const char *buffer,
+ std::uint64_t length,
+ Token& typeToken) {}
+};
+
+template
+static void decodeComposite(
+ Token& fieldToken,
+ const char *buffer,
+ std::size_t bufferIndex,
+ std::size_t length,
+ std::shared_ptr> tokens,
+ size_t tokenIndex,
+ size_t toIndex,
+ std::uint64_t actingVersion,
+ TokenListener& listener)
+{
+ listener.onBeginComposite(fieldToken, *tokens.get(), tokenIndex, toIndex);
+
+ for (size_t i = tokenIndex + 1; i < toIndex;)
+ {
+ Token &token = tokens->at(i);
+ const size_t nextFieldIndex = i + token.componentTokenCount();
+
+ const std::size_t offset = static_cast(token.offset());
+
+ switch (token.signal())
+ {
+ case Signal::BEGIN_COMPOSITE:
+ decodeComposite(fieldToken, buffer, bufferIndex + offset, length, tokens, i, nextFieldIndex - 1, actingVersion, listener);
+ break;
+
+ case Signal::BEGIN_ENUM:
+ listener.onEnum(fieldToken, buffer + bufferIndex + offset, *tokens.get(), i, nextFieldIndex - 1, actingVersion);
+ break;
+
+ case Signal::BEGIN_SET:
+ listener.onBitSet(fieldToken, buffer + bufferIndex + offset, *tokens.get(), i, nextFieldIndex - 1, actingVersion);
+ break;
+
+ case Signal::ENCODING:
+ listener.onEncoding(token, buffer + bufferIndex + offset, token, actingVersion);
+ break;
+
+ default:
+ throw std::runtime_error("incorrect signal type in decodeComposite");
+ }
+
+ i += token.componentTokenCount();
+ }
+
+ listener.onEndComposite(fieldToken, *tokens.get(), tokenIndex, toIndex);
+}
+
+template
+static size_t decodeFields(
+ const char *buffer,
+ std::size_t bufferIndex,
+ std::size_t length,
+ std::uint64_t actingVersion,
+ std::shared_ptr> tokens,
+ size_t tokenIndex,
+ const size_t numTokens,
+ TokenListener& listener)
+{
+ while (tokenIndex < numTokens)
+ {
+ Token& fieldToken = tokens->at(tokenIndex);
+ if (Signal::BEGIN_FIELD != fieldToken.signal())
+ {
+ break;
+ }
+
+ const size_t nextFieldIndex = tokenIndex + fieldToken.componentTokenCount();
+ tokenIndex++;
+
+ Token& typeToken = tokens->at(tokenIndex);
+ const std::size_t offset = bufferIndex + typeToken.offset();
+
+ switch (typeToken.signal())
+ {
+ case Signal::BEGIN_COMPOSITE:
+ decodeComposite(
+ fieldToken, buffer, offset, length, tokens, tokenIndex, nextFieldIndex - 2, actingVersion, listener);
+ break;
+
+ case Signal::BEGIN_ENUM:
+ listener.onEnum(fieldToken, buffer + offset, *tokens.get(), tokenIndex, nextFieldIndex - 2, actingVersion);
+ break;
+
+ case Signal::BEGIN_SET:
+ listener.onBitSet(fieldToken, buffer + offset, *tokens.get(), tokenIndex, nextFieldIndex - 2, actingVersion);
+ break;
+
+ case Signal::ENCODING:
+ listener.onEncoding(fieldToken, buffer + offset, typeToken, actingVersion);
+ break;
+
+ default:
+ throw std::runtime_error("incorrect signal type in decodeFields");
+ }
+
+ tokenIndex = nextFieldIndex;
+ }
+
+ return tokenIndex;
+}
+
+template
+std::size_t decodeData(
+ const char *buffer,
+ std::size_t bufferIndex,
+ const std::size_t length,
+ const std::shared_ptr>& tokens,
+ std::size_t tokenIndex,
+ const std::size_t numTokens,
+ std::uint64_t actingVersion,
+ TokenListener& listener)
+{
+ while (tokenIndex < numTokens)
+ {
+ Token& token = tokens->at(tokenIndex);
+ if (Signal::BEGIN_VAR_DATA != token.signal())
+ {
+ break;
+ }
+
+ const bool isPresent = token.tokenVersion() <= static_cast(actingVersion);
+
+ Token& lengthToken = tokens->at(tokenIndex + 2);
+ Token& dataToken = tokens->at(tokenIndex + 3);
+
+ if ((bufferIndex + dataToken.offset()) > length)
+ {
+ throw std::runtime_error("length too short for data length field");
+ }
+
+ // TODO: is length always unsigned according to spec?
+ std::uint64_t dataLength = isPresent ?
+ lengthToken.encoding().getAsUInt(buffer + bufferIndex + lengthToken.offset()) : 0;
+
+ if (isPresent)
+ {
+ bufferIndex += dataToken.offset();
+ }
+
+ if ((bufferIndex + dataLength) > length)
+ {
+ throw std::runtime_error("length too short for data field");
+ }
+
+ listener.onVarData(token, buffer + bufferIndex, dataLength, dataToken);
+
+ bufferIndex += dataLength;
+ tokenIndex += token.componentTokenCount();
+ }
+
+ return bufferIndex;
+}
+
+template
+std::pair decodeGroups(
+ const char *buffer,
+ std::size_t bufferIndex,
+ const std::size_t length,
+ std::uint64_t actingVersion,
+ std::shared_ptr> tokens,
+ size_t tokenIndex,
+ const size_t numTokens,
+ TokenListener& listener)
+{
+ while (tokenIndex < numTokens)
+ {
+ Token& token = tokens->at(tokenIndex);
+ if (Signal::BEGIN_GROUP != token.signal())
+ {
+ break;
+ }
+
+ const bool isPresent = token.tokenVersion() <= static_cast(actingVersion);
+
+ Token& dimensionsTypeComposite = tokens->at(tokenIndex + 1);
+ std::size_t dimensionsLength = static_cast(dimensionsTypeComposite.encodedLength());
+
+ if ((bufferIndex + dimensionsLength) > length)
+ {
+ throw std::runtime_error("length too short for group dimensions");
+ }
+
+ Token& blockLengthToken = tokens->at(tokenIndex + 2);
+ Token& numInGroupToken = tokens->at(tokenIndex + 3);
+
+ std::uint64_t blockLength = isPresent ?
+ blockLengthToken.encoding().getAsUInt(buffer + bufferIndex + blockLengthToken.offset()) : 0;
+ std::uint64_t numInGroup = isPresent ?
+ numInGroupToken.encoding().getAsUInt(buffer + bufferIndex + numInGroupToken.offset()) : 0;
+
+ if (isPresent)
+ {
+ bufferIndex += dimensionsLength;
+ }
+
+ size_t beginFieldsIndex = tokenIndex + dimensionsTypeComposite.componentTokenCount() + 1;
+
+ listener.onGroupHeader(token, numInGroup);
+
+ for (std::uint64_t i = 0; i < numInGroup; i++)
+ {
+ listener.onBeginGroup(token, i, numInGroup);
+
+ if ((bufferIndex + blockLength) > length)
+ {
+ throw std::runtime_error("length too short for group blockLength");
+ }
+
+ size_t afterFieldsIndex = decodeFields(
+ buffer, bufferIndex, length, actingVersion, tokens, beginFieldsIndex, numTokens, listener);
+ bufferIndex += blockLength;
+
+ std::pair groupsResult = decodeGroups(
+ buffer, bufferIndex, length, actingVersion, tokens, afterFieldsIndex, numTokens, listener);
+
+ bufferIndex = decodeData(
+ buffer, groupsResult.first, length, tokens, groupsResult.second, numTokens, actingVersion, listener);
+
+ listener.onEndGroup(token, i, numInGroup);
+ }
+
+ tokenIndex += token.componentTokenCount();
+ }
+
+ return std::pair(bufferIndex, tokenIndex);
+}
+
+/**
+ * Entry point for decoder.
+ */
+template
+std::size_t decode(
+ const char *buffer,
+ const std::size_t length,
+ std::uint64_t actingVersion,
+ size_t blockLength,
+ std::shared_ptr> msgTokens,
+ TokenListener& listener)
+{
+ listener.onBeginMessage(msgTokens->at(0));
+
+ if (length < blockLength)
+ {
+ throw std::runtime_error("length too short for message blockLength");
+ }
+
+ size_t numTokens = msgTokens->size();
+ const size_t tokenIndex = decodeFields(buffer, 0, length, actingVersion, msgTokens, 1, numTokens, listener);
+
+ size_t bufferIndex = blockLength;
+
+ std::pair groupResult = decodeGroups(
+ buffer, bufferIndex, length, actingVersion, msgTokens, tokenIndex, numTokens, listener);
+
+ bufferIndex = decodeData(
+ buffer, groupResult.first, length, msgTokens, groupResult.second, numTokens, actingVersion, listener);
+
+ listener.onEndMessage(msgTokens->at(numTokens - 1));
+
+ return bufferIndex;
+}
+
+
+}}}
+
+#endif
diff --git a/sbe-tool/build/generated/cpp/cpp/Token.h b/sbe-tool/build/generated/cpp/cpp/Token.h
new file mode 100644
index 0000000000..6d93b6173b
--- /dev/null
+++ b/sbe-tool/build/generated/cpp/cpp/Token.h
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2013-2019 Real Logic Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef _OTF_TOKEN_H
+#define _OTF_TOKEN_H
+
+#include
+#include
+
+#include "Encoding.h"
+
+namespace sbe {
+namespace otf {
+
+/// Constants used for holding Token signals
+enum class Signal : int
+{
+ /// Begins a message. Is followed by a number of tokens in the message and terminated by an end message.
+ BEGIN_MESSAGE = 1,
+ /// Ends a message.
+ END_MESSAGE = 2,
+ /// Begins a composite. Is followed by a number of tokens in the composite and terminated by an end composite.
+ BEGIN_COMPOSITE = 3,
+ /// Ends a composite.
+ END_COMPOSITE = 4,
+ /// Begins a field. Is followed by a number of tokens in the field and terminated by an end field.
+ BEGIN_FIELD = 5,
+ /// Ends a field.
+ END_FIELD = 6,
+ /// Begins a repeating group. Is followed by a number of tokens in the group and terminated by an end group.
+ BEGIN_GROUP = 7,
+ /// Ends a repeating group.
+ END_GROUP = 8,
+ /// Begins an enumeration. Is followed by a number of tokens in the enumeration and terminated by an end enum.
+ BEGIN_ENUM = 9,
+ /// Indicates a valid value for an enumeration. Must appear between a begin/end enum pair.
+ VALID_VALUE = 10,
+ /// Ends an enumeration.
+ END_ENUM = 11,
+ /// Begins a bit set. Is followed by a number of tokens in the set and terminated by an end set
+ BEGIN_SET = 12,
+ /// Indicates a bit value in the bit set. Must appear between a begin/end set pair.
+ CHOICE = 13,
+ /// Ends a bit set.
+ END_SET = 14,
+ /// Begins a variable length data element. Is followed by a number of tokens in the element and terminated by an end var data.
+ BEGIN_VAR_DATA = 15,
+ /// Ends a variable length data element.
+ END_VAR_DATA = 16,
+ /// Indicates an encoding of a primitive element.
+ ENCODING = 17
+};
+
+/*
+ * Hold the state for a single token in the IR
+ */
+class Token
+{
+public:
+ Token(
+ std::int32_t offset,
+ std::int32_t fieldId,
+ std::int32_t version,
+ std::int32_t encodedLength,
+ std::int32_t componentTokenCount,
+ Signal signal,
+ std::string name,
+ std::string description,
+ Encoding encoding)
+ :
+ m_offset(offset),
+ m_fieldId(fieldId),
+ m_version(version),
+ m_encodedLength(encodedLength),
+ m_componentTokenCount(componentTokenCount),
+ m_signal(signal),
+ m_name(std::move(name)),
+ m_description(std::move(description)),
+ m_encoding(std::move(encoding))
+ {
+ }
+
+ inline Signal signal() const
+ {
+ return m_signal;
+ }
+
+ inline const std::string& name() const
+ {
+ return m_name;
+ }
+
+ inline const std::string& description() const
+ {
+ return m_description;
+ }
+
+ inline std::int32_t fieldId() const
+ {
+ return m_fieldId;
+ }
+
+ inline std::int32_t tokenVersion() const
+ {
+ return m_version;
+ }
+
+ inline const Encoding& encoding() const
+ {
+ return m_encoding;
+ }
+
+ inline std::int32_t encodedLength() const
+ {
+ return m_encodedLength;
+ }
+
+ inline std::int32_t offset() const
+ {
+ return m_offset;
+ }
+
+ inline std::int32_t componentTokenCount() const
+ {
+ return m_componentTokenCount;
+ }
+
+ inline bool isConstantEncoding() const
+ {
+ return m_encoding.presence() == Presence::SBE_CONSTANT;
+ }
+
+private:
+ const std::int32_t m_offset;
+ const std::int32_t m_fieldId;
+ const std::int32_t m_version;
+ const std::int32_t m_encodedLength;
+ const std::int32_t m_componentTokenCount;
+ const Signal m_signal;
+ const std::string m_name;
+ const std::string m_description;
+ const Encoding m_encoding;
+};
+
+}}
+
+#endif
diff --git a/sbe-tool/build/generated/cpp/cpp/sbe.h b/sbe-tool/build/generated/cpp/cpp/sbe.h
new file mode 100644
index 0000000000..246d3047e9
--- /dev/null
+++ b/sbe-tool/build/generated/cpp/cpp/sbe.h
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2013-2019 Real Logic Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef _SBE_H_
+#define _SBE_H_
+
+#if !defined(__STDC_LIMIT_MACROS)
+ #define __STDC_LIMIT_MACROS 1
+#endif
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace sbe
+{
+
+/*
+ * Define some byte ordering macros
+ */
+#if defined(WIN32) || defined(_WIN32)
+ #define SBE_BIG_ENDIAN_ENCODE_16(v) _byteswap_ushort(v)
+ #define SBE_BIG_ENDIAN_ENCODE_32(v) _byteswap_ulong(v)
+ #define SBE_BIG_ENDIAN_ENCODE_64(v) _byteswap_uint64(v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_16(v) (v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_32(v) (v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_64(v) (v)
+#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ #define SBE_BIG_ENDIAN_ENCODE_16(v) __builtin_bswap16(v)
+ #define SBE_BIG_ENDIAN_ENCODE_32(v) __builtin_bswap32(v)
+ #define SBE_BIG_ENDIAN_ENCODE_64(v) __builtin_bswap64(v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_16(v) (v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_32(v) (v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_64(v) (v)
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ #define SBE_LITTLE_ENDIAN_ENCODE_16(v) __builtin_bswap16(v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_32(v) __builtin_bswap32(v)
+ #define SBE_LITTLE_ENDIAN_ENCODE_64(v) __builtin_bswap64(v)
+ #define SBE_BIG_ENDIAN_ENCODE_16(v) (v)
+ #define SBE_BIG_ENDIAN_ENCODE_32(v) (v)
+ #define SBE_BIG_ENDIAN_ENCODE_64(v) (v)
+#else
+ #error "Byte Ordering of platform not determined. Set __BYTE_ORDER__ manually before including this file."
+#endif
+
+#if defined(SBE_NO_BOUNDS_CHECK)
+ #define SBE_BOUNDS_CHECK_EXPECT(exp,c) (false)
+#elif defined(_MSC_VER)
+ #define SBE_BOUNDS_CHECK_EXPECT(exp,c) (exp)
+#else
+ #define SBE_BOUNDS_CHECK_EXPECT(exp,c) (__builtin_expect(exp,c))
+#endif
+
+#define SBE_NULLVALUE_INT8 (std::numeric_limits::min)()
+#define SBE_NULLVALUE_INT16 (std::numeric_limits::min)()
+#define SBE_NULLVALUE_INT32 (std::numeric_limits::min)()
+#define SBE_NULLVALUE_INT64 (std::numeric_limits::min)()
+#define SBE_NULLVALUE_UINT8 (std::numeric_limits::max)()
+#define SBE_NULLVALUE_UINT16 (std::numeric_limits::max)()
+#define SBE_NULLVALUE_UINT32 (std::numeric_limits::max)()
+#define SBE_NULLVALUE_UINT64 (std::numeric_limits::max)()
+
+typedef union sbe_float_as_uint_u
+{
+ float fp_value;
+ std::uint32_t uint_value;
+}
+sbe_float_as_uint_t;
+
+typedef union sbe_double_as_uint_u
+{
+ double fp_value;
+ std::uint64_t uint_value;
+}
+sbe_double_as_uint_t;
+
+namespace MetaAttribute
+{
+
+enum Attribute
+{
+ EPOCH,
+ TIME_UNIT,
+ SEMANTIC_TYPE,
+ PRESENCE
+};
+
+}
+}
+
+#endif
diff --git a/sbe-tool/build/libs/sbe-tool-1.12.0-javadoc.jar b/sbe-tool/build/libs/sbe-tool-1.12.0-javadoc.jar
new file mode 100644
index 0000000000..505ebdaa51
Binary files /dev/null and b/sbe-tool/build/libs/sbe-tool-1.12.0-javadoc.jar differ
diff --git a/sbe-tool/build/libs/sbe-tool-1.12.0-sources.jar b/sbe-tool/build/libs/sbe-tool-1.12.0-sources.jar
new file mode 100644
index 0000000000..cd58f95750
Binary files /dev/null and b/sbe-tool/build/libs/sbe-tool-1.12.0-sources.jar differ
diff --git a/sbe-tool/build/libs/sbe-tool-1.12.0.jar b/sbe-tool/build/libs/sbe-tool-1.12.0.jar
new file mode 100644
index 0000000000..f2a6a11395
Binary files /dev/null and b/sbe-tool/build/libs/sbe-tool-1.12.0.jar differ
diff --git a/sbe-tool/build/poms/pom-default.xml b/sbe-tool/build/poms/pom-default.xml
new file mode 100644
index 0000000000..9e7e3e0ff0
--- /dev/null
+++ b/sbe-tool/build/poms/pom-default.xml
@@ -0,0 +1,80 @@
+
+
+ 4.0.0
+ uk.co.real-logic
+ sbe-tool
+ 1.12.0
+ sbe
+ FIX/SBE - OSI layer 6 presentation for encoding and decoding application messages in binary format for low-latency applications
+ https://github.com/real-logic/simple-binary-encoding
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ tmontgomery
+ Todd L. Montgomery
+ tmont@nard.net
+ https://github.com/tmontgomery
+
+
+ mjpt777
+ Martin Thompson
+ mjpt777@gmail.com
+ https://github.com/mjpt777
+
+
+ odeheurles
+ Olivier Deheurles
+ olivier@weareadaptive.com
+ https://github.com/odeheurles
+
+
+ RichardWarburton
+ Richard Warburton
+ richard.warburton@gmail.com
+ https://github.com/RichardWarburton
+
+
+ BillSegall
+ Bill Segall
+ bill.segall@gmail.com
+ https://github.com/BillSegall
+
+
+
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ scm:git:github.com/real-logic/simple-binary-encoding.git
+ github.com/real-logic/simple-binary-encoding.git
+
+
+
+ org.agrona
+ agrona
+ 0.9.31
+ compile
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.mockito
+ mockito-core
+ 2.23.4
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ 1.3
+ test
+
+
+
diff --git a/sbe-tool/build/reports/checkstyle/generated.html b/sbe-tool/build/reports/checkstyle/generated.html
new file mode 100644
index 0000000000..e0e1d9aca1
--- /dev/null
+++ b/sbe-tool/build/reports/checkstyle/generated.html
@@ -0,0 +1,359 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+27 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/BooleanType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/CarDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/CarEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/EngineDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/EngineEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/GroupSizeEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/GroupSizeEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/Model.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/OptionalExtrasDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/OptionalExtrasEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/VarStringEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/baseline/VarStringEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/EnumOne.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/InnerDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/InnerEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/MsgDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/MsgEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/OuterDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/OuterEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/SetOneDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/generated/composite/elements/SetOneEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-tool/build/reports/checkstyle/generated.xml b/sbe-tool/build/reports/checkstyle/generated.xml
new file mode 100644
index 0000000000..58b9c9824f
--- /dev/null
+++ b/sbe-tool/build/reports/checkstyle/generated.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/checkstyle/main.html b/sbe-tool/build/reports/checkstyle/main.html
new file mode 100644
index 0000000000..0ba4b79de4
--- /dev/null
+++ b/sbe-tool/build/reports/checkstyle/main.html
@@ -0,0 +1,809 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+72 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/PrimitiveType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/PrimitiveValue.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/SbeTool.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/codec/java/GroupOrder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/codec/java/MethodSelector.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/CodeGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/Generators.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/NamedToken.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/TargetCodeGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharp.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/Rust.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustCodecType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/SplitCompositeTokens.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Encoding.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/GenerationUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/HeaderStructure.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Ir.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/MessageComponents.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Signal.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Token.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MetaAttribute.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/PresenceCodec.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/SignalCodec.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/json/JsonPrinter.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/json/JsonTokenListener.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/AbstractTokenListener.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/OtfMessageDecoder.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/TokenListener.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/Types.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/util/ValidationUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/CompositeType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/EncodedDataType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/EnumType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/ErrorHandler.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Field.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/IrGenerator.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Message.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/MessageSchema.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/ParserOptions.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Presence.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/SetType.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Type.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/XmlSchemaParser.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-tool/build/reports/checkstyle/main.xml b/sbe-tool/build/reports/checkstyle/main.xml
new file mode 100644
index 0000000000..18c9cc63a4
--- /dev/null
+++ b/sbe-tool/build/reports/checkstyle/main.xml
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/checkstyle/test.html b/sbe-tool/build/reports/checkstyle/test.html
new file mode 100644
index 0000000000..fdb08280ff
--- /dev/null
+++ b/sbe-tool/build/reports/checkstyle/test.html
@@ -0,0 +1,469 @@
+
+
+
+
+
+
+
+
+
+
+CheckStyle Audit
+
+
+
+Designed for use with CheckStyle and Ant .
+
+
+
+Summary
+
+
+Files Errors
+
+
+38 0
+
+
+
+Files
+
+
+
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/EncodedCarTestBase.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/TargetCodeGeneratorTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/TestTargetLanguage.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/TestUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/codec/java/TypesTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/csharp/Issue567GroupSizeTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/CompositeElementsGenerationTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/ConstantCharArrayTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/GenerateFixBinaryTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/JavaGeneratorTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/PackageOutputManagerTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/ReflectionUtil.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/SchemaExtensionTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/java/ToStringTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManagerTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/rust/RustGeneratorTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/rust/RustTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/rust/RustUtilTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/generation/rust/SingleStringOutputManager.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/BasicXmlIrGenerationTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/CompositeElementsIrTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/CompositeOffsetsTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/CompositeRefsTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/EncodedIrTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/GroupWithDataIrTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/ir/ValueRefsTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/json/JsonPrinterTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/BasicSchemaFileTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/CompositeElementsTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/CompositeTypeTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/CyclicReferencesTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/EmbeddedLengthAndCountFileTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/EncodedDataTypeTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/EnumTypeTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/ErrorHandlerTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/GroupWithDataTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/OffsetFileTest.java
+
+
+Error Description Line
+
+
+Back to top
+File /Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/test/java/uk/co/real_logic/sbe/xml/SetTypeTest.java
+
+
+Error Description Line
+
+
+Back to top
+
+
+
diff --git a/sbe-tool/build/reports/checkstyle/test.xml b/sbe-tool/build/reports/checkstyle/test.xml
new file mode 100644
index 0000000000..ae9038ecb9
--- /dev/null
+++ b/sbe-tool/build/reports/checkstyle/test.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.TargetCodeGeneratorTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.TargetCodeGeneratorTest.html
new file mode 100644
index 0000000000..4867c73993
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.TargetCodeGeneratorTest.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.TargetCodeGeneratorTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.TargetCodeGeneratorTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldLoadAndInstatiateNonStandardTargetLanguage
+0.416s
+passed
+
+
+shouldThrowOnNoTargetLanguage
+0.001s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.codec.java.TypesTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.codec.java.TypesTest.html
new file mode 100644
index 0000000000..c3f6b04fb5
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.codec.java.TypesTest.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.codec.java.TypesTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.codec.java.TypesTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldSetBitInByte
+0s
+passed
+
+
+shouldSetBitInInt
+0s
+passed
+
+
+shouldSetBitInShort
+0s
+passed
+
+
+shouldTestBitInByte
+0s
+passed
+
+
+shouldTestBitInInt
+0s
+passed
+
+
+shouldTestBitInShort
+0s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest.html
new file mode 100644
index 0000000000..ab3e23ada2
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateWhenUsingATypeThatIsConstrainedToFitInAnIntAsTheGroupSize
+0.008s
+passed
+
+
+shouldThrowWhenUsingATypeThatIsNotConstrainedToFitInAnIntAsTheGroupSize
+0.015s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest.html
new file mode 100644
index 0000000000..f4f7a962ae
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldDecodeCorrectly
+0.002s
+passed
+
+
+shouldDisplayCorrectly
+0.001s
+passed
+
+
+shouldEncodeCorrectly
+0.001s
+passed
+
+
+shouldOtfDecodeCorrectly
+0.047s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest.html
new file mode 100644
index 0000000000..865ebec904
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateConstCharArrayMethods
+0.003s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest.html
new file mode 100644
index 0000000000..5c6abe37f0
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateAndEncodeIr
+0.226s
+passed
+
+
+shouldGenerateValidJava
+2.459s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.JavaGeneratorTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.JavaGeneratorTest.html
new file mode 100644
index 0000000000..9e2e595c32
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.JavaGeneratorTest.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.JavaGeneratorTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.JavaGeneratorTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateBasicMessage
+0.112s
+passed
+
+
+shouldGenerateBitSetCodecs
+0.221s
+passed
+
+
+shouldGenerateCharEnumStub
+0.055s
+passed
+
+
+shouldGenerateChoiceSetStub
+0.055s
+passed
+
+
+shouldGenerateCompositeDecoder
+0.082s
+passed
+
+
+shouldGenerateCompositeDecoding
+0.242s
+passed
+
+
+shouldGenerateCompositeEncoder
+0.053s
+passed
+
+
+shouldGenerateEnumCodecs
+0.184s
+passed
+
+
+shouldGenerateGetFixedLengthStringUsingAppendable
+0.191s
+passed
+
+
+shouldGenerateGetString
+0.294s
+passed
+
+
+shouldGenerateGetVariableStringUsingAppendable
+0.207s
+passed
+
+
+shouldGenerateMessageHeaderDecoderStub
+0.047s
+passed
+
+
+shouldGenerateMessageHeaderStub
+0.077s
+passed
+
+
+shouldGeneratePutCharSequence
+0.205s
+passed
+
+
+shouldGenerateReadOnlyMessage
+0.196s
+passed
+
+
+shouldGenerateRepeatingGroupDecoder
+0.233s
+passed
+
+
+shouldGenerateUint8EnumStub
+0.069s
+passed
+
+
+shouldGenerateVarDataCodecs
+0.316s
+passed
+
+
+shouldValidateMissingMutableBufferClass
+0.009s
+passed
+
+
+shouldValidateMissingReadOnlyBufferClass
+0.006s
+passed
+
+
+shouldValidateNotImplementedMutableBufferClass
+0.006s
+passed
+
+
+shouldValidateNotImplementedReadOnlyBufferClass
+0.012s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest.html
new file mode 100644
index 0000000000..df44523c10
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldCreateFileWithinPackage
+0.003s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.SchemaExtensionTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.SchemaExtensionTest.html
new file mode 100644
index 0000000000..da98ee0e11
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.SchemaExtensionTest.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.SchemaExtensionTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.SchemaExtensionTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+testMessage1
+0.516s
+passed
+
+
+testMessage2
+0.387s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.ToStringTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.ToStringTest.html
new file mode 100644
index 0000000000..4dd01d9fae
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.java.ToStringTest.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.java.ToStringTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.java.ToStringTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+emptyMessagePrinted
+0.004s
+passed
+
+
+exampleMessagePrinted
+0s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest.html
new file mode 100644
index 0000000000..366a988256
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+nullDirectoryParamThrowsNPE
+0.001s
+passed
+
+
+nullPackageParamThrowsNpe
+0.001s
+passed
+
+
+shouldCreateFileUponConstruction
+0.007s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustGeneratorTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustGeneratorTest.html
new file mode 100644
index 0000000000..afc3411c6b
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustGeneratorTest.html
@@ -0,0 +1,136 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.rust.RustGeneratorTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.rust.RustGeneratorTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+checkValidRustFromAllExampleSchema
+-
+ignored
+
+
+constantEnumFields
+-
+ignored
+
+
+constantFieldsCase
+-
+ignored
+
+
+fullGenerateBasicTypes
+0.009s
+passed
+
+
+fullGenerateBroadUseCase
+-
+ignored
+
+
+generateBasicEnum
+0.008s
+passed
+
+
+generateSharedImports
+0.020s
+passed
+
+
+nullIrTossesNpe
+0.001s
+passed
+
+
+nullOutputManagerTossesNpe
+0.001s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustTest.html
new file mode 100644
index 0000000000..d157938a5a
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustTest.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.rust.RustTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.rust.RustTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+happyPathRustGeneratorThatThrowsNoExceptions
+0.017s
+passed
+
+
+nullIRParamShouldTossNPE
+0.008s
+passed
+
+
+nullOutputDirParamShouldTossNPE
+0.001s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustUtilTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustUtilTest.html
new file mode 100644
index 0000000000..6eec4ff94e
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.generation.rust.RustUtilTest.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.generation.rust.RustUtilTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.generation.rust.RustUtilTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+emptyParamToEightBitCharacterThrowsIAE
+0s
+passed
+
+
+generateRustLiteralNullPrimitiveTypeParam
+0s
+passed
+
+
+generateRustLiteralNullValueParam
+0s
+passed
+
+
+generateRustLiteralsHappyPaths
+0s
+passed
+
+
+happyPathEightBitCharacter
+0s
+passed
+
+
+methodNameCasing
+0s
+passed
+
+
+nullParamToEightBitCharacterThrowsNPE
+0s
+passed
+
+
+tooManyCharactersParamToEightBitCharacterThrowsIAE
+0s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest.html
new file mode 100644
index 0000000000..ea7f7f48c7
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateCorrectIrForBasicMessage
+0.005s
+passed
+
+
+shouldGenerateCorrectIrForMessageHeader
+0.007s
+passed
+
+
+shouldGenerateCorrectIrForMessageWithRepeatingGroupWithEmbeddedDimensions
+0.009s
+passed
+
+
+shouldGenerateCorrectIrForMessageWithRepeatingGroupWithEmbeddedDimensionsDefaultDimensionType
+0.009s
+passed
+
+
+shouldGenerateCorrectIrForMessageWithVariableLengthField
+0.005s
+passed
+
+
+shouldGenerateCorrectIrForMessageWithVariableLengthFieldWithEmbeddedLength
+0.007s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeElementsIrTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeElementsIrTest.html
new file mode 100644
index 0000000000..e7bb4ca52c
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeElementsIrTest.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.CompositeElementsIrTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.CompositeElementsIrTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateCorrectIrForCompositeElementsSchema
+0.012s
+passed
+
+
+shouldGenerateCorrectIrForCompositeElementsWithOffsetsSchemaRc4
+0.023s
+passed
+
+
+shouldGenerateCorrectIrForCompositeWithRefSchema
+0.105s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeOffsetsTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeOffsetsTest.html
new file mode 100644
index 0000000000..55eb1c5b69
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeOffsetsTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.CompositeOffsetsTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.CompositeOffsetsTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateCorrectOffsetsForFieldsWithEmbeddedComposite
+0.012s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeRefsTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeRefsTest.html
new file mode 100644
index 0000000000..83144f1a72
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.CompositeRefsTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.CompositeRefsTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.CompositeRefsTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateCorrectIrForCompositeRefs
+0.026s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.EncodedIrTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.EncodedIrTest.html
new file mode 100644
index 0000000000..fca855c4cb
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.EncodedIrTest.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.EncodedIrTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.EncodedIrTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldDecodeCorrectFrame
+0.017s
+passed
+
+
+shouldDecodeCorrectHeader
+0.043s
+passed
+
+
+shouldDecodeCorrectMessagesAndTypes
+0.027s
+passed
+
+
+shouldEncodeIr
+0.004s
+passed
+
+
+shouldEncodeThenDecodeIr
+0.010s
+passed
+
+
+shouldHandleRightSizedBuffer
+0.005s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.GroupWithDataIrTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.GroupWithDataIrTest.html
new file mode 100644
index 0000000000..25545cba23
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.GroupWithDataIrTest.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.GroupWithDataIrTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.GroupWithDataIrTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateCorrectIrForMultipleVarDataInRepeatingGroup
+0.026s
+passed
+
+
+shouldGenerateCorrectIrForOnlyMultipleVarDataInRepeatingGroup
+0.013s
+passed
+
+
+shouldGenerateCorrectIrForSingleVarDataInRepeatingGroup
+0.021s
+passed
+
+
+shouldGenerateCorrectIrForVarDataInNestedRepeatingGroup
+0.012s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.ValueRefsTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.ValueRefsTest.html
new file mode 100644
index 0000000000..d95482e254
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.ir.ValueRefsTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.ir.ValueRefsTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.ir.ValueRefsTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldGenerateValueRefToEnum
+0.018s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.json.JsonPrinterTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.json.JsonPrinterTest.html
new file mode 100644
index 0000000000..9a7e1fb803
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.json.JsonPrinterTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.json.JsonPrinterTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.json.JsonPrinterTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+exampleMessagePrintedAsJson
+0.026s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.BasicSchemaFileTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.BasicSchemaFileTest.html
new file mode 100644
index 0000000000..4adc191bb5
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.BasicSchemaFileTest.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.BasicSchemaFileTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.BasicSchemaFileTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldHandleBasicAllTypes
+0.011s
+passed
+
+
+shouldHandleBasicFile
+0.006s
+passed
+
+
+shouldHandleBasicFileWithGroup
+0.005s
+passed
+
+
+shouldHandleBasicFileWithVariableLengthData
+0.004s
+passed
+
+
+shouldHandleConstantHeaderField
+0.005s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CompositeElementsTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CompositeElementsTest.html
new file mode 100644
index 0000000000..a95ba2e6f7
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CompositeElementsTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.CompositeElementsTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.CompositeElementsTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldParseSchemaSuccessfully
+0.008s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CompositeTypeTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CompositeTypeTest.html
new file mode 100644
index 0000000000..19677ae6f0
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CompositeTypeTest.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.CompositeTypeTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.CompositeTypeTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldHandleCompositeHasNullableType
+0.002s
+passed
+
+
+shouldHandleCompositeTypeList
+0.001s
+passed
+
+
+shouldHandleDecimal32CompositeType
+0.002s
+passed
+
+
+shouldHandleDecimal64CompositeType
+0.001s
+passed
+
+
+shouldHandleDecimalCompositeType
+0.002s
+passed
+
+
+shouldThrowExceptionWhenCompositeTypeHasTypeNameDuplicates
+0.001s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CyclicReferencesTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CyclicReferencesTest.html
new file mode 100644
index 0000000000..b6844e9b36
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.CyclicReferencesTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.CyclicReferencesTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.CyclicReferencesTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldTestForCyclicRefs
+0.004s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest.html
new file mode 100644
index 0000000000..25f0594b18
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldHandleEmbeddedCountForGroup
+0.006s
+passed
+
+
+shouldHandleEmbeddedLengthForData
+0.006s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EncodedDataTypeTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EncodedDataTypeTest.html
new file mode 100644
index 0000000000..652f495cf8
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EncodedDataTypeTest.html
@@ -0,0 +1,206 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.EncodedDataTypeTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.EncodedDataTypeTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldHandleMultipleTypes
+0.001s
+passed
+
+
+shouldHandleSettingAllAttributes
+0.001s
+passed
+
+
+shouldReturnCorrectConstantStringWhenSpecified
+0.001s
+passed
+
+
+shouldReturnCorrectDescriptionForType
+0.002s
+passed
+
+
+shouldReturnCorrectMaxValueWhenSpecified
+0.001s
+passed
+
+
+shouldReturnCorrectMinValueWhenSpecified
+0.001s
+passed
+
+
+shouldReturnCorrectNullValueWhenSpecified
+0.001s
+passed
+
+
+shouldReturnCorrectPresenceConstantWhenSpecified
+0.001s
+passed
+
+
+shouldReturnCorrectSemanticTypeForType
+0.001s
+passed
+
+
+shouldReturnCorrectSizeForPrimitiveTypes
+0.001s
+passed
+
+
+shouldReturnDefaultMaxValueWhenSpecified
+0.001s
+passed
+
+
+shouldReturnDefaultMinValueWhenSpecified
+0.001s
+passed
+
+
+shouldReturnDefaultNullValueWhenSpecified
+0.001s
+passed
+
+
+shouldReturnNullOnNoDescriptionSet
+0.001s
+passed
+
+
+shouldReturnNullWhenSemanticTypeNotSpecified
+0.001s
+passed
+
+
+shouldSetAppropriateDefaultsWhenNoneSpecified
+0.001s
+passed
+
+
+shouldThrowExceptionWhenConstantPresenceButNoDataSpecified
+0.002s
+passed
+
+
+shouldThrowExceptionWhenNoNameSpecified
+0.001s
+passed
+
+
+shouldThrowExceptionWhenNoPrimitiveTypeSpecified
+0.001s
+passed
+
+
+shouldThrowExceptionWhenUnknownPresenceSpecified
+0.001s
+passed
+
+
+shouldThrowExceptionWhenUnknownPrimitiveTypeSpecified
+0.001s
+passed
+
+
+shouldUseAppropriatePresence
+0.002s
+passed
+
+
+shouldUseAppropriatePrimitiveType
+0.001s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EnumTypeTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EnumTypeTest.html
new file mode 100644
index 0000000000..614a020942
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.EnumTypeTest.html
@@ -0,0 +1,136 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.EnumTypeTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.EnumTypeTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldHandleBinaryEnumType
+0.002s
+passed
+
+
+shouldHandleBooleanEnumType
+0.002s
+passed
+
+
+shouldHandleCharEnumEncodingType
+0.002s
+passed
+
+
+shouldHandleEncodingTypesWithNamedTypes
+0.014s
+passed
+
+
+shouldHandleEnumTypeList
+0.001s
+passed
+
+
+shouldHandleOptionalBooleanEnumType
+0.002s
+passed
+
+
+shouldThrowExceptionWhenDuplicateNameSpecified
+0.001s
+passed
+
+
+shouldThrowExceptionWhenDuplicateValueSpecified
+0.002s
+passed
+
+
+shouldThrowExceptionWhenIllegalEncodingTypeSpecified
+0.002s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.ErrorHandlerTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.ErrorHandlerTest.html
new file mode 100644
index 0000000000..3aab808d9e
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.ErrorHandlerTest.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.ErrorHandlerTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.ErrorHandlerTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldExitAfterMessage
+0.006s
+passed
+
+
+shouldExitAfterMessageWhenDupMessageIdsDefined
+0.003s
+passed
+
+
+shouldExitAfterMessageWhenGroupDimensionsNotComposite
+0.004s
+passed
+
+
+shouldExitAfterTypes
+0.003s
+passed
+
+
+shouldExitAfterTypesWhenCompositeOffsetsIncorrect
+0.004s
+passed
+
+
+shouldExitAfterTypesWhenDupTypesDefined
+0.007s
+passed
+
+
+shouldExitInvalidFieldNames
+0.006s
+passed
+
+
+shouldNotExitOnTypeErrorsAndWarnings
+0.010s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.GroupWithDataTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.GroupWithDataTest.html
new file mode 100644
index 0000000000..96cbdd576f
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.GroupWithDataTest.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.GroupWithDataTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.GroupWithDataTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldParseSchemaSuccessfully
+0.009s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.OffsetFileTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.OffsetFileTest.html
new file mode 100644
index 0000000000..c7ea8aabbe
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.OffsetFileTest.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.OffsetFileTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.OffsetFileTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldCalculateCompositeSizeWithOffsetsSpecified
+0.006s
+passed
+
+
+shouldCalculateDataOffsetWithPaddingFromBlockLength
+0.007s
+passed
+
+
+shouldCalculateDimensionSizeWithOffsetsSpecified
+0.006s
+passed
+
+
+shouldCalculateGroupOffsetWithNoPaddingFromBlockLength
+0.007s
+passed
+
+
+shouldCalculateGroupOffsetWithPaddingFromBlockLength
+0.014s
+passed
+
+
+shouldCalculateGroupOffsetWithPaddingFromBlockLengthAndGroupBlockLength
+0.007s
+passed
+
+
+shouldHandleAllTypeOffsets
+0.004s
+passed
+
+
+shouldHandleAllTypeOffsetsSetByXML
+0.005s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.SetTypeTest.html b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.SetTypeTest.html
new file mode 100644
index 0000000000..b7c659aa25
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/classes/uk.co.real_logic.sbe.xml.SetTypeTest.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+Test results - Class uk.co.real_logic.sbe.xml.SetTypeTest
+
+
+
+
+
+
+
Class uk.co.real_logic.sbe.xml.SetTypeTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests
+
+
+
+Test
+Duration
+Result
+
+
+
+shouldHandleBinarySetType
+0.002s
+passed
+
+
+shouldHandleEncodingTypesWithNamedTypes
+0.023s
+passed
+
+
+shouldHandleSetTypeList
+0.002s
+passed
+
+
+shouldThrowExceptionWhenDuplicateNameSpecified
+0.004s
+passed
+
+
+shouldThrowExceptionWhenDuplicateValueSpecified
+0.002s
+passed
+
+
+shouldThrowExceptionWhenIllegalEncodingTypeSpecified
+0.002s
+passed
+
+
+shouldThrowExceptionWhenValueOutOfBoundsSpecified
+0.002s
+passed
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/css/base-style.css b/sbe-tool/build/reports/tests/test/css/base-style.css
new file mode 100644
index 0000000000..4afa73e3dd
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/css/base-style.css
@@ -0,0 +1,179 @@
+
+body {
+ margin: 0;
+ padding: 0;
+ font-family: sans-serif;
+ font-size: 12pt;
+}
+
+body, a, a:visited {
+ color: #303030;
+}
+
+#content {
+ padding-left: 50px;
+ padding-right: 50px;
+ padding-top: 30px;
+ padding-bottom: 30px;
+}
+
+#content h1 {
+ font-size: 160%;
+ margin-bottom: 10px;
+}
+
+#footer {
+ margin-top: 100px;
+ font-size: 80%;
+ white-space: nowrap;
+}
+
+#footer, #footer a {
+ color: #a0a0a0;
+}
+
+#line-wrapping-toggle {
+ vertical-align: middle;
+}
+
+#label-for-line-wrapping-toggle {
+ vertical-align: middle;
+}
+
+ul {
+ margin-left: 0;
+}
+
+h1, h2, h3 {
+ white-space: nowrap;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+ul.tabLinks {
+ padding-left: 0;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ overflow: auto;
+ min-width: 800px;
+ width: auto !important;
+ width: 800px;
+}
+
+ul.tabLinks li {
+ float: left;
+ height: 100%;
+ list-style: none;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin-bottom: 0;
+ -moz-border-radius: 7px;
+ border-radius: 7px;
+ margin-right: 25px;
+ border: solid 1px #d4d4d4;
+ background-color: #f0f0f0;
+}
+
+ul.tabLinks li:hover {
+ background-color: #fafafa;
+}
+
+ul.tabLinks li.selected {
+ background-color: #c5f0f5;
+ border-color: #c5f0f5;
+}
+
+ul.tabLinks a {
+ font-size: 120%;
+ display: block;
+ outline: none;
+ text-decoration: none;
+ margin: 0;
+ padding: 0;
+}
+
+ul.tabLinks li h2 {
+ margin: 0;
+ padding: 0;
+}
+
+div.tab {
+}
+
+div.selected {
+ display: block;
+}
+
+div.deselected {
+ display: none;
+}
+
+div.tab table {
+ min-width: 350px;
+ width: auto !important;
+ width: 350px;
+ border-collapse: collapse;
+}
+
+div.tab th, div.tab table {
+ border-bottom: solid #d0d0d0 1px;
+}
+
+div.tab th {
+ text-align: left;
+ white-space: nowrap;
+ padding-left: 6em;
+}
+
+div.tab th:first-child {
+ padding-left: 0;
+}
+
+div.tab td {
+ white-space: nowrap;
+ padding-left: 6em;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+div.tab td:first-child {
+ padding-left: 0;
+}
+
+div.tab td.numeric, div.tab th.numeric {
+ text-align: right;
+}
+
+span.code {
+ display: inline-block;
+ margin-top: 0em;
+ margin-bottom: 1em;
+}
+
+span.code pre {
+ font-size: 11pt;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ margin: 0;
+ background-color: #f7f7f7;
+ border: solid 1px #d0d0d0;
+ min-width: 700px;
+ width: auto !important;
+ width: 700px;
+}
+
+span.wrapped pre {
+ word-wrap: break-word;
+ white-space: pre-wrap;
+ word-break: break-all;
+}
+
+label.hidden {
+ display: none;
+}
\ No newline at end of file
diff --git a/sbe-tool/build/reports/tests/test/css/style.css b/sbe-tool/build/reports/tests/test/css/style.css
new file mode 100644
index 0000000000..3dc4913e7a
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/css/style.css
@@ -0,0 +1,84 @@
+
+#summary {
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+
+#summary table {
+ border-collapse: collapse;
+}
+
+#summary td {
+ vertical-align: top;
+}
+
+.breadcrumbs, .breadcrumbs a {
+ color: #606060;
+}
+
+.infoBox {
+ width: 110px;
+ padding-top: 15px;
+ padding-bottom: 15px;
+ text-align: center;
+}
+
+.infoBox p {
+ margin: 0;
+}
+
+.counter, .percent {
+ font-size: 120%;
+ font-weight: bold;
+ margin-bottom: 8px;
+}
+
+#duration {
+ width: 125px;
+}
+
+#successRate, .summaryGroup {
+ border: solid 2px #d0d0d0;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+}
+
+#successRate {
+ width: 140px;
+ margin-left: 35px;
+}
+
+#successRate .percent {
+ font-size: 180%;
+}
+
+.success, .success a {
+ color: #008000;
+}
+
+div.success, #successRate.success {
+ background-color: #bbd9bb;
+ border-color: #008000;
+}
+
+.failures, .failures a {
+ color: #b60808;
+}
+
+.skipped, .skipped a {
+ color: #c09853;
+}
+
+div.failures, #successRate.failures {
+ background-color: #ecdada;
+ border-color: #b60808;
+}
+
+ul.linkList {
+ padding-left: 0;
+}
+
+ul.linkList li {
+ list-style: none;
+ margin-bottom: 5px;
+}
diff --git a/sbe-tool/build/reports/tests/test/index.html b/sbe-tool/build/reports/tests/test/index.html
new file mode 100644
index 0000000000..86cccf22ee
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/index.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+Test results - Test Summary
+
+
+
+
+
+
+
Test Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/js/report.js b/sbe-tool/build/reports/tests/test/js/report.js
new file mode 100644
index 0000000000..83bab4a19f
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/js/report.js
@@ -0,0 +1,194 @@
+(function (window, document) {
+ "use strict";
+
+ var tabs = {};
+
+ function changeElementClass(element, classValue) {
+ if (element.getAttribute("className")) {
+ element.setAttribute("className", classValue);
+ } else {
+ element.setAttribute("class", classValue);
+ }
+ }
+
+ function getClassAttribute(element) {
+ if (element.getAttribute("className")) {
+ return element.getAttribute("className");
+ } else {
+ return element.getAttribute("class");
+ }
+ }
+
+ function addClass(element, classValue) {
+ changeElementClass(element, getClassAttribute(element) + " " + classValue);
+ }
+
+ function removeClass(element, classValue) {
+ changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
+ }
+
+ function initTabs() {
+ var container = document.getElementById("tabs");
+
+ tabs.tabs = findTabs(container);
+ tabs.titles = findTitles(tabs.tabs);
+ tabs.headers = findHeaders(container);
+ tabs.select = select;
+ tabs.deselectAll = deselectAll;
+ tabs.select(0);
+
+ return true;
+ }
+
+ function getCheckBox() {
+ return document.getElementById("line-wrapping-toggle");
+ }
+
+ function getLabelForCheckBox() {
+ return document.getElementById("label-for-line-wrapping-toggle");
+ }
+
+ function findCodeBlocks() {
+ var spans = document.getElementById("tabs").getElementsByTagName("span");
+ var codeBlocks = [];
+ for (var i = 0; i < spans.length; ++i) {
+ if (spans[i].className.indexOf("code") >= 0) {
+ codeBlocks.push(spans[i]);
+ }
+ }
+ return codeBlocks;
+ }
+
+ function forAllCodeBlocks(operation) {
+ var codeBlocks = findCodeBlocks();
+
+ for (var i = 0; i < codeBlocks.length; ++i) {
+ operation(codeBlocks[i], "wrapped");
+ }
+ }
+
+ function toggleLineWrapping() {
+ var checkBox = getCheckBox();
+
+ if (checkBox.checked) {
+ forAllCodeBlocks(addClass);
+ } else {
+ forAllCodeBlocks(removeClass);
+ }
+ }
+
+ function initControls() {
+ if (findCodeBlocks().length > 0) {
+ var checkBox = getCheckBox();
+ var label = getLabelForCheckBox();
+
+ checkBox.onclick = toggleLineWrapping;
+ checkBox.checked = false;
+
+ removeClass(label, "hidden");
+ }
+ }
+
+ function switchTab() {
+ var id = this.id.substr(1);
+
+ for (var i = 0; i < tabs.tabs.length; i++) {
+ if (tabs.tabs[i].id === id) {
+ tabs.select(i);
+ break;
+ }
+ }
+
+ return false;
+ }
+
+ function select(i) {
+ this.deselectAll();
+
+ changeElementClass(this.tabs[i], "tab selected");
+ changeElementClass(this.headers[i], "selected");
+
+ while (this.headers[i].firstChild) {
+ this.headers[i].removeChild(this.headers[i].firstChild);
+ }
+
+ var h2 = document.createElement("H2");
+
+ h2.appendChild(document.createTextNode(this.titles[i]));
+ this.headers[i].appendChild(h2);
+ }
+
+ function deselectAll() {
+ for (var i = 0; i < this.tabs.length; i++) {
+ changeElementClass(this.tabs[i], "tab deselected");
+ changeElementClass(this.headers[i], "deselected");
+
+ while (this.headers[i].firstChild) {
+ this.headers[i].removeChild(this.headers[i].firstChild);
+ }
+
+ var a = document.createElement("A");
+
+ a.setAttribute("id", "ltab" + i);
+ a.setAttribute("href", "#tab" + i);
+ a.onclick = switchTab;
+ a.appendChild(document.createTextNode(this.titles[i]));
+
+ this.headers[i].appendChild(a);
+ }
+ }
+
+ function findTabs(container) {
+ return findChildElements(container, "DIV", "tab");
+ }
+
+ function findHeaders(container) {
+ var owner = findChildElements(container, "UL", "tabLinks");
+ return findChildElements(owner[0], "LI", null);
+ }
+
+ function findTitles(tabs) {
+ var titles = [];
+
+ for (var i = 0; i < tabs.length; i++) {
+ var tab = tabs[i];
+ var header = findChildElements(tab, "H2", null)[0];
+
+ header.parentNode.removeChild(header);
+
+ if (header.innerText) {
+ titles.push(header.innerText);
+ } else {
+ titles.push(header.textContent);
+ }
+ }
+
+ return titles;
+ }
+
+ function findChildElements(container, name, targetClass) {
+ var elements = [];
+ var children = container.childNodes;
+
+ for (var i = 0; i < children.length; i++) {
+ var child = children.item(i);
+
+ if (child.nodeType === 1 && child.nodeName === name) {
+ if (targetClass && child.className.indexOf(targetClass) < 0) {
+ continue;
+ }
+
+ elements.push(child);
+ }
+ }
+
+ return elements;
+ }
+
+ // Entry point.
+
+ window.onload = function() {
+ initTabs();
+ initControls();
+ };
+} (window, window.document));
\ No newline at end of file
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.codec.java.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.codec.java.html
new file mode 100644
index 0000000000..83ba38174a
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.codec.java.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.codec.java
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.codec.java
+
+
all > uk.co.real_logic.sbe.codec.java
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+Class
+Tests
+Failures
+Ignored
+Duration
+Success rate
+
+
+
+
+TypesTest
+
+6
+0
+0
+0s
+100%
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.csharp.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.csharp.html
new file mode 100644
index 0000000000..d21719889c
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.csharp.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.generation.csharp
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.generation.csharp
+
+
all > uk.co.real_logic.sbe.generation.csharp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+Class
+Tests
+Failures
+Ignored
+Duration
+Success rate
+
+
+
+
+Issue567GroupSizeTest
+
+2
+0
+0
+0.023s
+100%
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.java.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.java.html
new file mode 100644
index 0000000000..aaa73a9ebf
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.java.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.generation.java
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.generation.java
+
+
all > uk.co.real_logic.sbe.generation.java
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.rust.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.rust.html
new file mode 100644
index 0000000000..39685c11ec
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.generation.rust.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.generation.rust
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.generation.rust
+
+
all > uk.co.real_logic.sbe.generation.rust
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.html
new file mode 100644
index 0000000000..b48dbd07ef
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe
+
+
all > uk.co.real_logic.sbe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+Class
+Tests
+Failures
+Ignored
+Duration
+Success rate
+
+
+
+
+TargetCodeGeneratorTest
+
+2
+0
+0
+0.417s
+100%
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.ir.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.ir.html
new file mode 100644
index 0000000000..07a3f4c640
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.ir.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.ir
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.ir
+
+
all > uk.co.real_logic.sbe.ir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.json.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.json.html
new file mode 100644
index 0000000000..4a9a0478cc
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.json.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.json
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.json
+
+
all > uk.co.real_logic.sbe.json
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+Class
+Tests
+Failures
+Ignored
+Duration
+Success rate
+
+
+
+
+JsonPrinterTest
+
+1
+0
+0
+0.026s
+100%
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.xml.html b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.xml.html
new file mode 100644
index 0000000000..5187752870
--- /dev/null
+++ b/sbe-tool/build/reports/tests/test/packages/uk.co.real_logic.sbe.xml.html
@@ -0,0 +1,203 @@
+
+
+
+
+
+Test results - Package uk.co.real_logic.sbe.xml
+
+
+
+
+
+
+
Package uk.co.real_logic.sbe.xml
+
+
all > uk.co.real_logic.sbe.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/main/fpl/sbe.xsd b/sbe-tool/build/resources/main/fpl/sbe.xsd
new file mode 100644
index 0000000000..651b406c3f
--- /dev/null
+++ b/sbe-tool/build/resources/main/fpl/sbe.xsd
@@ -0,0 +1,388 @@
+
+
+
+
+ Message schema for FIX Simple Binary Encoding
+ Version: 1.0 Draft Standard
+ © Copyright 2014-2016 FIX Protocol Limited
+ License: Creative Commons Attribution-NoDerivatives 4.0 International Public License
+
+
+
+
+
+ Root of XML document, holds all message templates
+ and their elements
+
+
+
+
+
+
+
+ More than one set of types may be provided.
+ Names must be unique across all encoding
+ types.
+ Encoding types may appear in any order.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unique ID of a message schema
+
+
+
+
+
+ The version of a message schema. Initial version
+ is 0.
+
+
+
+
+
+ Application layer specification version, such as
+ FIX version 'FIX.5.0SP2'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the encoding type of the message header,
+ which is the same for all messages in a schema. The name has a
+ default, but an encoding of that name must be present under a
+ 'types' element.
+
+
+
+
+
+
+
+
+ A message type, also known as a message template
+
+
+
+
+
+ Base type of message and repeating group entry
+
+
+
+
+
+ Fixed-length fields
+
+
+
+
+
+ Variable-length fields
+
+
+
+
+
+
+ Unique ID of a message template
+
+
+
+
+
+ Space reserved for root level of message, not
+ include groups or variable-length
+ data elements.
+
+
+
+
+
+
+
+
+
+ A repeating group contains an array of entries
+
+
+
+
+
+
+
+
+
+
+
+ Simple wire encoding consisting of a primitive type
+ or array of primitives
+
+
+
+
+
+
+
+ Override of default null indicator for the data
+ type in SBE specification,
+ as a string.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A wire encoding composed of multiple parts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An enumeration of valid values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valid value as a string
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A reference to any existing encoding type (simple type, enum or set)
+ to reuse as a member of a composite type
+
+
+
+
+
+
+
+
+
+
+ A multi value choice (encoded as a bitset)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A choice within a multi value set. Value is the
+ position within a bitset (zero-based index).
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A field of a message of a specified dataType
+
+
+
+
+
+
+ Must match the name of an encoding contained by
+ 'types' element
+
+
+
+
+
+
+ Deprecated - only for back compatibility with RC2
+
+
+
+
+
+
+
+
+
+
+
+
+ Application layer class. Maps a field or encoding
+ to a FIX data type.
+
+
+
+
+
+
+
+
+ Schema versioning supports message extension
+
+
+
+
+
+ The schema version in which an element was added
+
+
+
+
+
+
+ The version of the schema in which an element was
+ deprecated. It is retained for back compatibility but should no
+ longer be used by updated applications.
+
+
+
+
+
+
+
+ Offset from start of a composite type or block
+ as a zero-based index.
+
+
+
+
+
+
+
+
+
+
+ The value must always be populated
+
+
+
+
+
+ Value may be set to nullValue for its data type
+
+
+
+
+
+ Value does not vary so it need not be
+ serialized on the wire
+
+
+
+
+
+
+
+
+ A constant value as valid value of an enum
+ in the form enum-name.valid-value-name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/main/golang/templates/SbeMarshallingBigEndian.go b/sbe-tool/build/resources/main/golang/templates/SbeMarshallingBigEndian.go
new file mode 100755
index 0000000000..29d38a0470
--- /dev/null
+++ b/sbe-tool/build/resources/main/golang/templates/SbeMarshallingBigEndian.go
@@ -0,0 +1,283 @@
+// Copyright (C) 2017 MarketFactory, Inc
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at:
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file provides a simple bespoke marshalling layer for the
+// standard binary encoding golang backend and is part of:
+//
+// https://github.com/real-logic/simple-binary-encoding
+
+package %1$s
+
+import (
+ "io"
+ "math"
+)
+
+// Allocate via NewSbeGoMarshaller to initialize
+type SbeGoMarshaller struct {
+ b8 []byte // statically allocated tmp space to avoid alloc
+ b1 []byte // previously created slice into b to save time
+ b2 []byte // previously created slice into b to save time
+ b4 []byte // previously created slice into b to save time
+}
+
+func NewSbeGoMarshaller() *SbeGoMarshaller {
+ var m SbeGoMarshaller
+ m.b8 = make([]byte, 8)
+ m.b1 = m.b8[:1]
+ m.b2 = m.b8[:2]
+ m.b4 = m.b8[:4]
+ return &m
+}
+
+// The "standard" MessageHeader.
+//
+// Most applications will use this as it's the default and optimized
+// although it's possible to change it by:
+// a) using a different sized BlockLength, or
+// b) adding arbitrary fields
+//
+// If the MessageHeader is not "standard" then you can use the
+// generated MessageHeader type in MessageHeader.go otherwise we
+// recommend this one.
+type SbeGoMessageHeader struct {
+ BlockLength uint16
+ TemplateId uint16
+ SchemaId uint16
+ Version uint16
+}
+
+func (m SbeGoMessageHeader) Encode(_m *SbeGoMarshaller, _w io.Writer) error {
+ _m.b8[1] = byte(m.BlockLength)
+ _m.b8[0] = byte(m.BlockLength >> 8)
+ _m.b8[3] = byte(m.TemplateId)
+ _m.b8[2] = byte(m.TemplateId >> 8)
+ _m.b8[5] = byte(m.SchemaId)
+ _m.b8[4] = byte(m.SchemaId >> 8)
+ _m.b8[7] = byte(m.Version)
+ _m.b8[6] = byte(m.Version >> 8)
+ if _, err := _w.Write(_m.b8); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (m *SbeGoMessageHeader) Decode(_m *SbeGoMarshaller, _r io.Reader) error {
+ if _, err := io.ReadFull(_r, _m.b8); err != nil {
+ return err
+ }
+ m.BlockLength = uint16(_m.b8[1]) | uint16(_m.b8[0])<<8
+ m.TemplateId = uint16(_m.b8[3]) | uint16(_m.b8[2])<<8
+ m.SchemaId = uint16(_m.b8[5]) | uint16(_m.b8[4])<<8
+ m.Version = uint16(_m.b8[7]) | uint16(_m.b8[6])<<8
+ return nil
+}
+
+func (m *SbeGoMarshaller) WriteUint8(w io.Writer, v uint8) error {
+ m.b1[0] = byte(v)
+ _, err := w.Write(m.b1)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteUint16(w io.Writer, v uint16) error {
+ m.b2[1] = byte(v)
+ m.b2[0] = byte(v >> 8)
+ _, err := w.Write(m.b2)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteUint32(w io.Writer, v uint32) error {
+ m.b4[3] = byte(v)
+ m.b4[2] = byte(v >> 8)
+ m.b4[1] = byte(v >> 16)
+ m.b4[0] = byte(v >> 24)
+ _, err := w.Write(m.b4)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteUint64(w io.Writer, v uint64) error {
+ m.b8[7] = byte(v)
+ m.b8[6] = byte(v >> 8)
+ m.b8[5] = byte(v >> 16)
+ m.b8[4] = byte(v >> 24)
+ m.b8[3] = byte(v >> 32)
+ m.b8[2] = byte(v >> 40)
+ m.b8[1] = byte(v >> 48)
+ m.b8[0] = byte(v >> 56)
+ _, err := w.Write(m.b8)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt8(w io.Writer, v int8) error {
+ m.b1[0] = byte(v)
+ _, err := w.Write(m.b1)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt16(w io.Writer, v int16) error {
+ m.b2[1] = byte(v)
+ m.b2[0] = byte(v >> 8)
+ _, err := w.Write(m.b2)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt32(w io.Writer, v int32) error {
+ m.b4[3] = byte(v)
+ m.b4[2] = byte(v >> 8)
+ m.b4[1] = byte(v >> 16)
+ m.b4[0] = byte(v >> 24)
+ _, err := w.Write(m.b4)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt64(w io.Writer, v int64) error {
+ m.b8[7] = byte(v)
+ m.b8[6] = byte(v >> 8)
+ m.b8[5] = byte(v >> 16)
+ m.b8[4] = byte(v >> 24)
+ m.b8[3] = byte(v >> 32)
+ m.b8[2] = byte(v >> 40)
+ m.b8[1] = byte(v >> 48)
+ m.b8[0] = byte(v >> 56)
+ _, err := w.Write(m.b8)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteFloat32(w io.Writer, v float32) error {
+ u32 := math.Float32bits(v)
+ m.b4[3] = byte(u32)
+ m.b4[2] = byte(u32 >> 8)
+ m.b4[1] = byte(u32 >> 16)
+ m.b4[0] = byte(u32 >> 24)
+ _, err := w.Write(m.b4)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteFloat64(w io.Writer, v float64) error {
+ u64 := math.Float64bits(v)
+ m.b8[7] = byte(u64)
+ m.b8[6] = byte(u64 >> 8)
+ m.b8[5] = byte(u64 >> 16)
+ m.b8[4] = byte(u64 >> 24)
+ m.b8[3] = byte(u64 >> 32)
+ m.b8[2] = byte(u64 >> 40)
+ m.b8[1] = byte(u64 >> 48)
+ m.b8[0] = byte(u64 >> 56)
+ _, err := w.Write(m.b8)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteBytes(w io.Writer, v []byte) error {
+ _, err := w.Write(v)
+ return err
+}
+
+func (m *SbeGoMarshaller) ReadUint8(r io.Reader, v *uint8) error {
+ if _, err := io.ReadFull(r, m.b1); err != nil {
+ return err
+ }
+ *v = uint8(m.b1[0])
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadUint16(r io.Reader, v *uint16) error {
+ if _, err := io.ReadFull(r, m.b2); err != nil {
+ return err
+ }
+ *v = (uint16(m.b2[1]) | uint16(m.b2[0])<<8)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadUint32(r io.Reader, v *uint32) error {
+ if _, err := io.ReadFull(r, m.b4); err != nil {
+ return err
+ }
+ *v = (uint32(m.b4[3]) | uint32(m.b4[2])<<8 |
+ uint32(m.b4[1])<<16 | uint32(m.b4[0])<<24)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadUint64(r io.Reader, v *uint64) error {
+ if _, err := io.ReadFull(r, m.b8); err != nil {
+ return err
+ }
+ *v = (uint64(m.b8[7]) | uint64(m.b8[6])<<8 |
+ uint64(m.b8[5])<<16 | uint64(m.b8[4])<<24 |
+ uint64(m.b8[3])<<32 | uint64(m.b8[2])<<40 |
+ uint64(m.b8[1])<<48 | uint64(m.b8[0])<<56)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt8(r io.Reader, v *int8) error {
+ if _, err := io.ReadFull(r, m.b1); err != nil {
+ return err
+ }
+ *v = int8(m.b1[0])
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt16(r io.Reader, v *int16) error {
+ if _, err := io.ReadFull(r, m.b2); err != nil {
+ return err
+ }
+ *v = (int16(m.b2[1]) | int16(m.b2[0])<<8)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt32(r io.Reader, v *int32) error {
+ if _, err := io.ReadFull(r, m.b4); err != nil {
+ return err
+ }
+ *v = (int32(m.b4[3]) | int32(m.b4[2])<<8 |
+ int32(m.b4[1])<<16 | int32(m.b4[0])<<24)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt64(r io.Reader, v *int64) error {
+ if _, err := io.ReadFull(r, m.b8); err != nil {
+ return err
+ }
+ *v = (int64(m.b8[7]) | int64(m.b8[6])<<8 |
+ int64(m.b8[5])<<16 | int64(m.b8[4])<<24 |
+ int64(m.b8[3])<<32 | int64(m.b8[2])<<40 |
+ int64(m.b8[1])<<48 | int64(m.b8[0])<<56)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadFloat32(r io.Reader, v *float32) error {
+ if _, err := io.ReadFull(r, m.b4); err != nil {
+ return err
+ }
+ *v = math.Float32frombits(uint32(m.b4[0]) | uint32(m.b4[1])<<8 |
+ uint32(m.b4[2])<<16 | uint32(m.b4[3])<<24)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadFloat64(r io.Reader, v *float64) error {
+ if _, err := io.ReadFull(r, m.b8); err != nil {
+ return err
+ }
+ *v = math.Float64frombits(uint64(m.b8[0]) | uint64(m.b8[1])<<8 |
+ uint64(m.b8[2])<<16 | uint64(m.b8[3])<<24 |
+ uint64(m.b8[4])<<32 | uint64(m.b8[5])<<40 |
+ uint64(m.b8[6])<<48 | uint64(m.b8[7])<<56)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadBytes(r io.Reader, b []byte) error {
+ if _, err := io.ReadFull(r, b); err != nil {
+ return err
+ }
+ return nil
+}
diff --git a/sbe-tool/build/resources/main/golang/templates/SbeMarshallingLittleEndian.go b/sbe-tool/build/resources/main/golang/templates/SbeMarshallingLittleEndian.go
new file mode 100755
index 0000000000..302f4f3503
--- /dev/null
+++ b/sbe-tool/build/resources/main/golang/templates/SbeMarshallingLittleEndian.go
@@ -0,0 +1,283 @@
+// Copyright (C) 2017 MarketFactory, Inc
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at:
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file provides a simple bespoke marshalling layer for the
+// standard binary encoding golang backend and is part of:
+//
+// https://github.com/real-logic/simple-binary-encoding
+
+package %1$s
+
+import (
+ "io"
+ "math"
+)
+
+// Allocate via NewSbeGoMarshaller to initialize
+type SbeGoMarshaller struct {
+ b8 []byte // statically allocated tmp space to avoid alloc
+ b1 []byte // previously created slice into b to save time
+ b2 []byte // previously created slice into b to save time
+ b4 []byte // previously created slice into b to save time
+}
+
+func NewSbeGoMarshaller() *SbeGoMarshaller {
+ var m SbeGoMarshaller
+ m.b8 = make([]byte, 8)
+ m.b1 = m.b8[:1]
+ m.b2 = m.b8[:2]
+ m.b4 = m.b8[:4]
+ return &m
+}
+
+// The "standard" MessageHeader.
+//
+// Most applications will use this as it's the default and optimized
+// although it's possible to change it by:
+// a) using a different sized BlockLength, or
+// b) adding arbitrary fields
+//
+// If the MessageHeader is not "standard" then you can use the
+// generated MessageHeader type in MessageHeader.go otherwise we
+// recommend this one.
+type SbeGoMessageHeader struct {
+ BlockLength uint16
+ TemplateId uint16
+ SchemaId uint16
+ Version uint16
+}
+
+func (m SbeGoMessageHeader) Encode(_m *SbeGoMarshaller, _w io.Writer) error {
+ _m.b8[0] = byte(m.BlockLength)
+ _m.b8[1] = byte(m.BlockLength >> 8)
+ _m.b8[2] = byte(m.TemplateId)
+ _m.b8[3] = byte(m.TemplateId >> 8)
+ _m.b8[4] = byte(m.SchemaId)
+ _m.b8[5] = byte(m.SchemaId >> 8)
+ _m.b8[6] = byte(m.Version)
+ _m.b8[7] = byte(m.Version >> 8)
+ if _, err := _w.Write(_m.b8); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (m *SbeGoMessageHeader) Decode(_m *SbeGoMarshaller, _r io.Reader) error {
+ if _, err := io.ReadFull(_r, _m.b8); err != nil {
+ return err
+ }
+ m.BlockLength = uint16(_m.b8[0]) | uint16(_m.b8[1])<<8
+ m.TemplateId = uint16(_m.b8[2]) | uint16(_m.b8[3])<<8
+ m.SchemaId = uint16(_m.b8[4]) | uint16(_m.b8[5])<<8
+ m.Version = uint16(_m.b8[6]) | uint16(_m.b8[7])<<8
+ return nil
+}
+
+func (m *SbeGoMarshaller) WriteUint8(w io.Writer, v uint8) error {
+ m.b1[0] = byte(v)
+ _, err := w.Write(m.b1)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteUint16(w io.Writer, v uint16) error {
+ m.b2[0] = byte(v)
+ m.b2[1] = byte(v >> 8)
+ _, err := w.Write(m.b2)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteUint32(w io.Writer, v uint32) error {
+ m.b4[0] = byte(v)
+ m.b4[1] = byte(v >> 8)
+ m.b4[2] = byte(v >> 16)
+ m.b4[3] = byte(v >> 24)
+ _, err := w.Write(m.b4)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteUint64(w io.Writer, v uint64) error {
+ m.b8[0] = byte(v)
+ m.b8[1] = byte(v >> 8)
+ m.b8[2] = byte(v >> 16)
+ m.b8[3] = byte(v >> 24)
+ m.b8[4] = byte(v >> 32)
+ m.b8[5] = byte(v >> 40)
+ m.b8[6] = byte(v >> 48)
+ m.b8[7] = byte(v >> 56)
+ _, err := w.Write(m.b8)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt8(w io.Writer, v int8) error {
+ m.b1[0] = byte(v)
+ _, err := w.Write(m.b1)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt16(w io.Writer, v int16) error {
+ m.b2[0] = byte(v)
+ m.b2[1] = byte(v >> 8)
+ _, err := w.Write(m.b2)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt32(w io.Writer, v int32) error {
+ m.b4[0] = byte(v)
+ m.b4[1] = byte(v >> 8)
+ m.b4[2] = byte(v >> 16)
+ m.b4[3] = byte(v >> 24)
+ _, err := w.Write(m.b4)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteInt64(w io.Writer, v int64) error {
+ m.b8[0] = byte(v)
+ m.b8[1] = byte(v >> 8)
+ m.b8[2] = byte(v >> 16)
+ m.b8[3] = byte(v >> 24)
+ m.b8[4] = byte(v >> 32)
+ m.b8[5] = byte(v >> 40)
+ m.b8[6] = byte(v >> 48)
+ m.b8[7] = byte(v >> 56)
+ _, err := w.Write(m.b8)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteFloat32(w io.Writer, v float32) error {
+ u32 := math.Float32bits(v)
+ m.b4[0] = byte(u32)
+ m.b4[1] = byte(u32 >> 8)
+ m.b4[2] = byte(u32 >> 16)
+ m.b4[3] = byte(u32 >> 24)
+ _, err := w.Write(m.b4)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteFloat64(w io.Writer, v float64) error {
+ u64 := math.Float64bits(v)
+ m.b8[0] = byte(u64)
+ m.b8[1] = byte(u64 >> 8)
+ m.b8[2] = byte(u64 >> 16)
+ m.b8[3] = byte(u64 >> 24)
+ m.b8[4] = byte(u64 >> 32)
+ m.b8[5] = byte(u64 >> 40)
+ m.b8[6] = byte(u64 >> 48)
+ m.b8[7] = byte(u64 >> 56)
+ _, err := w.Write(m.b8)
+ return err
+}
+
+func (m *SbeGoMarshaller) WriteBytes(w io.Writer, v []byte) error {
+ _, err := w.Write(v)
+ return err
+}
+
+func (m *SbeGoMarshaller) ReadUint8(r io.Reader, v *uint8) error {
+ if _, err := io.ReadFull(r, m.b1); err != nil {
+ return err
+ }
+ *v = uint8(m.b1[0])
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadUint16(r io.Reader, v *uint16) error {
+ if _, err := io.ReadFull(r, m.b2); err != nil {
+ return err
+ }
+ *v = (uint16(m.b2[0]) | uint16(m.b2[1])<<8)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadUint32(r io.Reader, v *uint32) error {
+ if _, err := io.ReadFull(r, m.b4); err != nil {
+ return err
+ }
+ *v = (uint32(m.b4[0]) | uint32(m.b4[1])<<8 |
+ uint32(m.b4[2])<<16 | uint32(m.b4[3])<<24)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadUint64(r io.Reader, v *uint64) error {
+ if _, err := io.ReadFull(r, m.b8); err != nil {
+ return err
+ }
+ *v = (uint64(m.b8[0]) | uint64(m.b8[1])<<8 |
+ uint64(m.b8[2])<<16 | uint64(m.b8[3])<<24 |
+ uint64(m.b8[4])<<32 | uint64(m.b8[5])<<40 |
+ uint64(m.b8[6])<<48 | uint64(m.b8[7])<<56)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt8(r io.Reader, v *int8) error {
+ if _, err := io.ReadFull(r, m.b1); err != nil {
+ return err
+ }
+ *v = int8(m.b1[0])
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt16(r io.Reader, v *int16) error {
+ if _, err := io.ReadFull(r, m.b2); err != nil {
+ return err
+ }
+ *v = (int16(m.b2[0]) | int16(m.b2[1])<<8)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt32(r io.Reader, v *int32) error {
+ if _, err := io.ReadFull(r, m.b4); err != nil {
+ return err
+ }
+ *v = (int32(m.b4[0]) | int32(m.b4[1])<<8 |
+ int32(m.b4[2])<<16 | int32(m.b4[3])<<24)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadInt64(r io.Reader, v *int64) error {
+ if _, err := io.ReadFull(r, m.b8); err != nil {
+ return err
+ }
+ *v = (int64(m.b8[0]) | int64(m.b8[1])<<8 |
+ int64(m.b8[2])<<16 | int64(m.b8[3])<<24 |
+ int64(m.b8[4])<<32 | int64(m.b8[5])<<40 |
+ int64(m.b8[6])<<48 | int64(m.b8[7])<<56)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadFloat32(r io.Reader, v *float32) error {
+ if _, err := io.ReadFull(r, m.b4); err != nil {
+ return err
+ }
+ *v = math.Float32frombits(uint32(m.b4[0]) | uint32(m.b4[1])<<8 |
+ uint32(m.b4[2])<<16 | uint32(m.b4[3])<<24)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadFloat64(r io.Reader, v *float64) error {
+ if _, err := io.ReadFull(r, m.b8); err != nil {
+ return err
+ }
+ *v = math.Float64frombits(uint64(m.b8[0]) | uint64(m.b8[1])<<8 |
+ uint64(m.b8[2])<<16 | uint64(m.b8[3])<<24 |
+ uint64(m.b8[4])<<32 | uint64(m.b8[5])<<40 |
+ uint64(m.b8[6])<<48 | uint64(m.b8[7])<<56)
+ return nil
+}
+
+func (m *SbeGoMarshaller) ReadBytes(r io.Reader, b []byte) error {
+ if _, err := io.ReadFull(r, b); err != nil {
+ return err
+ }
+ return nil
+}
diff --git a/sbe-tool/build/resources/main/sbe-ir.xml b/sbe-tool/build/resources/main/sbe-ir.xml
new file mode 100644
index 0000000000..d4bc78f09a
--- /dev/null
+++ b/sbe-tool/build/resources/main/sbe-ir.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+
+
+ 0
+ 1
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/FixBinary.xml b/sbe-tool/build/resources/test/FixBinary.xml
new file mode 100644
index 0000000000..da7bb94f95
--- /dev/null
+++ b/sbe-tool/build/resources/test/FixBinary.xml
@@ -0,0 +1,628 @@
+
+
+
+
+
+
+
+ 24
+
+
+
+
+
+
+ J
+ g
+ 2
+ e
+
+ 0
+ 0
+
+
+
+ 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -4
+
+
+
+ -7
+
+
+
+
+
+
+
+
+
+ -7
+
+
+
+ -7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 1
+ 2
+
+
+ 5
+ 7
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+
+
+ 1
+ 2
+
+
+ 0
+ 1
+ 2
+ 4
+ 6
+ 7
+ 8
+ B
+ C
+ E
+ F
+ J
+ N
+ O
+ W
+ e
+ g
+
+
+ 0
+ 1
+ E
+ F
+ J
+
+
+ 6
+ B
+ C
+ W
+
+
+ 4
+ 7
+ 8
+ N
+ O
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+
+
+ 0
+ 5
+
+
+ 0
+ 1
+ 2
+
+
+ 0
+ 1
+
+
+ 0
+ 1
+ 4
+ 5
+ 6
+
+
+ 2
+ 4
+ 15
+ 17
+ 18
+ 20
+ 21
+ 24
+ 25
+ 26
+ 103
+
+
+ A
+ D
+ M
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sbe-tool/build/resources/test/basic-group-schema.xml b/sbe-tool/build/resources/test/basic-group-schema.xml
new file mode 100644
index 0000000000..917bcb5851
--- /dev/null
+++ b/sbe-tool/build/resources/test/basic-group-schema.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/basic-schema-constant-header-field.xml b/sbe-tool/build/resources/test/basic-schema-constant-header-field.xml
new file mode 100644
index 0000000000..879bf5e1c4
--- /dev/null
+++ b/sbe-tool/build/resources/test/basic-schema-constant-header-field.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/basic-schema.xml b/sbe-tool/build/resources/test/basic-schema.xml
new file mode 100644
index 0000000000..e06d14666c
--- /dev/null
+++ b/sbe-tool/build/resources/test/basic-schema.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/basic-types-schema.xml b/sbe-tool/build/resources/test/basic-types-schema.xml
new file mode 100644
index 0000000000..d74cfdc988
--- /dev/null
+++ b/sbe-tool/build/resources/test/basic-types-schema.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 10
+
+
+ 0
+ 16
+ 26
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/basic-variable-length-schema.xml b/sbe-tool/build/resources/test/basic-variable-length-schema.xml
new file mode 100644
index 0000000000..bd5dee2de9
--- /dev/null
+++ b/sbe-tool/build/resources/test/basic-variable-length-schema.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/block-length-schema.xml b/sbe-tool/build/resources/test/block-length-schema.xml
new file mode 100644
index 0000000000..b763a1e6ce
--- /dev/null
+++ b/sbe-tool/build/resources/test/block-length-schema.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/code-generation-schema.xml b/sbe-tool/build/resources/test/code-generation-schema.xml
new file mode 100644
index 0000000000..7e1634cd1f
--- /dev/null
+++ b/sbe-tool/build/resources/test/code-generation-schema.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+ T
+ S
+ N
+ K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/composite-elements-schema-rc4.xml b/sbe-tool/build/resources/test/composite-elements-schema-rc4.xml
new file mode 100644
index 0000000000..4948730ef7
--- /dev/null
+++ b/sbe-tool/build/resources/test/composite-elements-schema-rc4.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 10
+
+
+
+ 0
+ 16
+ 26
+
+
+
+
+
+
+
+
+
+ 1
+ 10
+
+
+
+ 0
+ 16
+ 26
+
+
+
+
+
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/composite-elements-schema.xml b/sbe-tool/build/resources/test/composite-elements-schema.xml
new file mode 100644
index 0000000000..e11c083b45
--- /dev/null
+++ b/sbe-tool/build/resources/test/composite-elements-schema.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 10
+
+
+
+ 0
+ 16
+ 26
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/composite-offsets-schema.xml b/sbe-tool/build/resources/test/composite-offsets-schema.xml
new file mode 100644
index 0000000000..5d859e7a73
--- /dev/null
+++ b/sbe-tool/build/resources/test/composite-offsets-schema.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/constant-enum-fields.xml b/sbe-tool/build/resources/test/constant-enum-fields.xml
new file mode 100644
index 0000000000..1cff1926d2
--- /dev/null
+++ b/sbe-tool/build/resources/test/constant-enum-fields.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A
+ B
+ C
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/cyclic-refs-schema.xml b/sbe-tool/build/resources/test/cyclic-refs-schema.xml
new file mode 100644
index 0000000000..1ecf906a50
--- /dev/null
+++ b/sbe-tool/build/resources/test/cyclic-refs-schema.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/embedded-length-and-count-schema.xml b/sbe-tool/build/resources/test/embedded-length-and-count-schema.xml
new file mode 100644
index 0000000000..9aed1f07a2
--- /dev/null
+++ b/sbe-tool/build/resources/test/embedded-length-and-count-schema.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/encoding-types-schema.xml b/sbe-tool/build/resources/test/encoding-types-schema.xml
new file mode 100644
index 0000000000..950f6cf5ec
--- /dev/null
+++ b/sbe-tool/build/resources/test/encoding-types-schema.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A
+ B
+
+
+ 1
+ 10
+
+
+ 0
+ 6
+
+
+ 0
+ 15
+
+
+ 0
+ 16
+ 26
+
+
+ 0
+ 16
+ 26
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sbe-tool/build/resources/test/error-handler-dup-message-schema.xml b/sbe-tool/build/resources/test/error-handler-dup-message-schema.xml
new file mode 100644
index 0000000000..3fd33f5fdd
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-dup-message-schema.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/error-handler-group-dimensions-schema.xml b/sbe-tool/build/resources/test/error-handler-group-dimensions-schema.xml
new file mode 100644
index 0000000000..a02d593561
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-group-dimensions-schema.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/error-handler-invalid-composite-offsets-schema.xml b/sbe-tool/build/resources/test/error-handler-invalid-composite-offsets-schema.xml
new file mode 100644
index 0000000000..29d201153f
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-invalid-composite-offsets-schema.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/error-handler-invalid-name.xml b/sbe-tool/build/resources/test/error-handler-invalid-name.xml
new file mode 100644
index 0000000000..76d3e38dc3
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-invalid-name.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/error-handler-message-schema.xml b/sbe-tool/build/resources/test/error-handler-message-schema.xml
new file mode 100644
index 0000000000..251e09a57b
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-message-schema.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/error-handler-types-dup-schema.xml b/sbe-tool/build/resources/test/error-handler-types-dup-schema.xml
new file mode 100644
index 0000000000..b885fd7b04
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-types-dup-schema.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/error-handler-types-schema.xml b/sbe-tool/build/resources/test/error-handler-types-schema.xml
new file mode 100644
index 0000000000..02e6f6fe19
--- /dev/null
+++ b/sbe-tool/build/resources/test/error-handler-types-schema.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/example-bigendian-test-schema.xml b/sbe-tool/build/resources/test/example-bigendian-test-schema.xml
new file mode 100644
index 0000000000..3c170cab2e
--- /dev/null
+++ b/sbe-tool/build/resources/test/example-bigendian-test-schema.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T
+ S
+ N
+ K
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/example-schema.xml b/sbe-tool/build/resources/test/example-schema.xml
new file mode 100644
index 0000000000..c6090866ac
--- /dev/null
+++ b/sbe-tool/build/resources/test/example-schema.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T
+ S
+ N
+ K
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/extension-schema.xml b/sbe-tool/build/resources/test/extension-schema.xml
new file mode 100644
index 0000000000..c50e7d8a6d
--- /dev/null
+++ b/sbe-tool/build/resources/test/extension-schema.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 1
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/group-with-constant-fields.xml b/sbe-tool/build/resources/test/group-with-constant-fields.xml
new file mode 100644
index 0000000000..c1032c8276
--- /dev/null
+++ b/sbe-tool/build/resources/test/group-with-constant-fields.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 9000
+ Huzzah
+
+
+ 250
+
+
+
+ A
+ B
+ C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/group-with-data-schema.xml b/sbe-tool/build/resources/test/group-with-data-schema.xml
new file mode 100644
index 0000000000..e9f8acde8b
--- /dev/null
+++ b/sbe-tool/build/resources/test/group-with-data-schema.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue435.xml b/sbe-tool/build/resources/test/issue435.xml
new file mode 100644
index 0000000000..ddebd2fad1
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue435.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ 0
+ 1
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue472.xml b/sbe-tool/build/resources/test/issue472.xml
new file mode 100644
index 0000000000..b2eab51353
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue472.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue483.xml b/sbe-tool/build/resources/test/issue483.xml
new file mode 100644
index 0000000000..0481bf6c9b
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue483.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue488.xml b/sbe-tool/build/resources/test/issue488.xml
new file mode 100644
index 0000000000..ae6295b1fb
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue488.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue496.xml b/sbe-tool/build/resources/test/issue496.xml
new file mode 100644
index 0000000000..1ad5703acb
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue496.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sbe-tool/build/resources/test/issue505.xml b/sbe-tool/build/resources/test/issue505.xml
new file mode 100644
index 0000000000..118376cfbd
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue505.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+ C
+ D
+ EF
+ GH
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sbe-tool/build/resources/test/issue560.xml b/sbe-tool/build/resources/test/issue560.xml
new file mode 100644
index 0000000000..9216a39154
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue560.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A
+ B
+ C
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue567-invalid.xml b/sbe-tool/build/resources/test/issue567-invalid.xml
new file mode 100644
index 0000000000..445b1c69f2
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue567-invalid.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/issue567-valid.xml b/sbe-tool/build/resources/test/issue567-valid.xml
new file mode 100644
index 0000000000..a7a52c19bf
--- /dev/null
+++ b/sbe-tool/build/resources/test/issue567-valid.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/json-printer-test-schema.xml b/sbe-tool/build/resources/test/json-printer-test-schema.xml
new file mode 100644
index 0000000000..3330c3ff1e
--- /dev/null
+++ b/sbe-tool/build/resources/test/json-printer-test-schema.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 9000
+
+ Petrol
+
+
+ 0
+ 1
+
+
+ A
+ B
+ C
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/message-block-length-test.xml b/sbe-tool/build/resources/test/message-block-length-test.xml
new file mode 100644
index 0000000000..2a82684c91
--- /dev/null
+++ b/sbe-tool/build/resources/test/message-block-length-test.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/nested-group-schema.xml b/sbe-tool/build/resources/test/nested-group-schema.xml
new file mode 100644
index 0000000000..0677eef275
--- /dev/null
+++ b/sbe-tool/build/resources/test/nested-group-schema.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/new-order-single-schema.xml b/sbe-tool/build/resources/test/new-order-single-schema.xml
new file mode 100644
index 0000000000..2a3f47b713
--- /dev/null
+++ b/sbe-tool/build/resources/test/new-order-single-schema.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -3
+
+
+
+ 0
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/since-deprecated-test-schema.xml b/sbe-tool/build/resources/test/since-deprecated-test-schema.xml
new file mode 100644
index 0000000000..35787b2495
--- /dev/null
+++ b/sbe-tool/build/resources/test/since-deprecated-test-schema.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/resources/test/value-ref-schema.xml b/sbe-tool/build/resources/test/value-ref-schema.xml
new file mode 100644
index 0000000000..e33d2c1952
--- /dev/null
+++ b/sbe-tool/build/resources/test/value-ref-schema.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+ 0
+ 3
+ 6
+ 9
+
+
+
+
+
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.TargetCodeGeneratorTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.TargetCodeGeneratorTest.xml
new file mode 100644
index 0000000000..7107490642
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.TargetCodeGeneratorTest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.codec.java.TypesTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.codec.java.TypesTest.xml
new file mode 100644
index 0000000000..59b8bbd54a
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.codec.java.TypesTest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest.xml
new file mode 100644
index 0000000000..65f123c04a
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.csharp.Issue567GroupSizeTest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest.xml
new file mode 100644
index 0000000000..d3f63c27b3
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.CompositeElementsGenerationTest.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest.xml
new file mode 100644
index 0000000000..90869e3212
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.ConstantCharArrayTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest.xml
new file mode 100644
index 0000000000..028fe96040
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.GenerateFixBinaryTest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.JavaGeneratorTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.JavaGeneratorTest.xml
new file mode 100644
index 0000000000..17ee769794
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.JavaGeneratorTest.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest.xml
new file mode 100644
index 0000000000..ce5d682dcc
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.PackageOutputManagerTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.SchemaExtensionTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.SchemaExtensionTest.xml
new file mode 100644
index 0000000000..fcbe69be42
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.SchemaExtensionTest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.ToStringTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.ToStringTest.xml
new file mode 100644
index 0000000000..305093916e
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.java.ToStringTest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest.xml
new file mode 100644
index 0000000000..44869974bf
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustFlatFileOutputManagerTest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustGeneratorTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustGeneratorTest.xml
new file mode 100644
index 0000000000..d47f5d6ebe
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustGeneratorTest.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustTest.xml
new file mode 100644
index 0000000000..8e83ba73d0
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustTest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustUtilTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustUtilTest.xml
new file mode 100644
index 0000000000..11321395be
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.generation.rust.RustUtilTest.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest.xml
new file mode 100644
index 0000000000..15178587d0
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.BasicXmlIrGenerationTest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeElementsIrTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeElementsIrTest.xml
new file mode 100644
index 0000000000..963a1a69fc
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeElementsIrTest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeOffsetsTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeOffsetsTest.xml
new file mode 100644
index 0000000000..e8fd4ef642
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeOffsetsTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeRefsTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeRefsTest.xml
new file mode 100644
index 0000000000..1cf5cb5ed4
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.CompositeRefsTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.EncodedIrTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.EncodedIrTest.xml
new file mode 100644
index 0000000000..f8cc596d57
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.EncodedIrTest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.GroupWithDataIrTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.GroupWithDataIrTest.xml
new file mode 100644
index 0000000000..62cfc48bed
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.GroupWithDataIrTest.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.ValueRefsTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.ValueRefsTest.xml
new file mode 100644
index 0000000000..0dbbc6d938
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.ir.ValueRefsTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.json.JsonPrinterTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.json.JsonPrinterTest.xml
new file mode 100644
index 0000000000..15ffcdbbd4
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.json.JsonPrinterTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.BasicSchemaFileTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.BasicSchemaFileTest.xml
new file mode 100644
index 0000000000..e4795b2406
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.BasicSchemaFileTest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CompositeElementsTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CompositeElementsTest.xml
new file mode 100644
index 0000000000..d003b5650f
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CompositeElementsTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CompositeTypeTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CompositeTypeTest.xml
new file mode 100644
index 0000000000..1d41383dba
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CompositeTypeTest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CyclicReferencesTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CyclicReferencesTest.xml
new file mode 100644
index 0000000000..64cf9f1f30
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.CyclicReferencesTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest.xml
new file mode 100644
index 0000000000..b373a437d5
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EmbeddedLengthAndCountFileTest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EncodedDataTypeTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EncodedDataTypeTest.xml
new file mode 100644
index 0000000000..3dca721686
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EncodedDataTypeTest.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EnumTypeTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EnumTypeTest.xml
new file mode 100644
index 0000000000..bf7f060ee2
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.EnumTypeTest.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.ErrorHandlerTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.ErrorHandlerTest.xml
new file mode 100644
index 0000000000..6a435a5c8f
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.ErrorHandlerTest.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.GroupWithDataTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.GroupWithDataTest.xml
new file mode 100644
index 0000000000..6f51cd8947
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.GroupWithDataTest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.OffsetFileTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.OffsetFileTest.xml
new file mode 100644
index 0000000000..7d3343c9ba
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.OffsetFileTest.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.SetTypeTest.xml b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.SetTypeTest.xml
new file mode 100644
index 0000000000..f355fface2
--- /dev/null
+++ b/sbe-tool/build/test-results/test/TEST-uk.co.real_logic.sbe.xml.SetTypeTest.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sbe-tool/build/test-results/test/binary/output.bin b/sbe-tool/build/test-results/test/binary/output.bin
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sbe-tool/build/test-results/test/binary/output.bin.idx b/sbe-tool/build/test-results/test/binary/output.bin.idx
new file mode 100644
index 0000000000..f76dd238ad
Binary files /dev/null and b/sbe-tool/build/test-results/test/binary/output.bin.idx differ
diff --git a/sbe-tool/build/test-results/test/binary/results.bin b/sbe-tool/build/test-results/test/binary/results.bin
new file mode 100644
index 0000000000..cd429f3986
Binary files /dev/null and b/sbe-tool/build/test-results/test/binary/results.bin differ
diff --git a/sbe-tool/build/tmp/jar/MANIFEST.MF b/sbe-tool/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000000..831d46c02f
--- /dev/null
+++ b/sbe-tool/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Implementation-Title: SBE
+Implementation-Version: 1.12.0
+Specification-Title: Simple Binary Encoding
+Specification-Version: 1.0
+Main-Class: uk.co.real_logic.sbe.SbeTool
+Implementation-Vendor: Real Logic Limited
+
diff --git a/sbe-tool/build/tmp/javadoc/javadoc.options b/sbe-tool/build/tmp/javadoc/javadoc.options
new file mode 100644
index 0000000000..855486b5c4
--- /dev/null
+++ b/sbe-tool/build/tmp/javadoc/javadoc.options
@@ -0,0 +1,78 @@
+-bottom 'Copyright © 2014-2019 Real Logic Ltd. All Rights Reserved. '
+-classpath '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/classes/java/main:/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/resources/main:/Users/ethan/.gradle/caches/modules-2/files-2.1/org.agrona/agrona/0.9.31/56014757f084ead33d6a29f8dbad9b4cb765bdf/agrona-0.9.31.jar'
+-d '/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/build/docs/javadoc'
+-doctitle 'Simple Binary Encoding '
+-quiet
+-windowtitle 'Simple Binary Encoding '
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/SbeTool.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/PrimitiveType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/util/ValidationUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/PresenceCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/PrimitiveTypeCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MetaAttribute.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/ByteOrderCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/SignalCodec.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/GenerationUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/HeaderStructure.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/MessageComponents.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Token.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Encoding.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrEncoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Ir.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/IrUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/Signal.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/codec/java/MethodSelector.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/codec/java/GroupOrder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Message.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/SetType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Type.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/IrGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/CompositeType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/XmlSchemaParser.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/MessageSchema.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/ParserOptions.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/EnumType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/ErrorHandler.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Presence.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/Field.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/EncodedDataType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/json/JsonPrinter.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/json/JsonTokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/TokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/OtfMessageDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/Types.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/AbstractTokenListener.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/otf/OtfHeaderDecoder.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/golang/GolangUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/NamedToken.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustCodecType.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/Rust.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/SplitCompositeTokens.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/rust/RustFlatFileOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/NamespaceOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/TargetCodeGeneratorLoader.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharp.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpUtil.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpNamespaceOutputManager.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/Generators.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/CodeGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/TargetCodeGenerator.java'
+'/Users/ethan/dev/project-repo/git/research/2-communi-core/simple-binary-encoding/sbe-tool/src/main/java/uk/co/real_logic/sbe/PrimitiveValue.java'
diff --git a/sbe-tool/build/tmp/javadocJar/MANIFEST.MF b/sbe-tool/build/tmp/javadocJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-tool/build/tmp/javadocJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sbe-tool/build/tmp/sourcesJar/MANIFEST.MF b/sbe-tool/build/tmp/sourcesJar/MANIFEST.MF
new file mode 100644
index 0000000000..59499bce4a
--- /dev/null
+++ b/sbe-tool/build/tmp/sourcesJar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+