@@ -1079,29 +1079,36 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
10791079 final  int  schemaId ,
10801080 final  int  version )
10811081 {
1082-  final  StringBuilder  sb  = new  StringBuilder ();
1082+  final  String  blockLengthType  = cpp98TypeName (ir .headerStructure ().blockLengthType ());
1083+  final  String  templateIdType  = cpp98TypeName (ir .headerStructure ().templateIdType ());
1084+  final  String  templateVersionType  = cpp98TypeName (ir .headerStructure ().templateVersionType ());
10831085
1084-  sb . append ( String .format (
1086+  return   String .format (
10851087 "private:\n "  +
10861088 " char *buffer_;\n "  +
10871089 " int *positionPtr_;\n "  +
10881090 " int offset_;\n "  +
10891091 " int position_;\n "  +
10901092 " int actingBlockLength_;\n "  +
1091-  " int actingVersion_;\n \n " 
1092-  ));
1093- 
1094-  sb .append (String .format (
1093+  " int actingVersion_;\n \n "  +
10951094 "public:\n \n "  +
1096-  " static sbe_uint64_t  blockLength(void)\n "  +
1095+  " static %1$s  blockLength(void)\n "  +
10971096 " {\n "  +
1098-  " return %1$d;\n "  +
1097+  " return %2$s;\n "  +
1098+  " }\n \n "  +
1099+  " static %3$s templateId(void)\n "  +
1100+  " {\n "  +
1101+  " return %4$s;\n "  +
1102+  " }\n \n "  +
1103+  " static %5$s templateVersion(void)\n "  +
1104+  " {\n "  +
1105+  " return %6$s;\n "  +
10991106 " }\n \n "  +
11001107 " sbe_uint64_t offset(void) const\n "  +
11011108 " {\n "  +
11021109 " return offset_;\n "  +
11031110 " }\n \n "  +
1104-  " %2 $s &wrapForEncode(char *buffer, const int offset)\n "  +
1111+  " %7 $s &wrapForEncode(char *buffer, const int offset)\n "  +
11051112 " {\n "  +
11061113 " buffer_ = buffer;\n "  +
11071114 " offset_ = offset;\n "  +
@@ -1111,7 +1118,7 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
11111118 " positionPtr_ = &position_;\n "  +
11121119 " return *this;\n "  +
11131120 " }\n \n "  +
1114-  " %2 $s &wrapForDecode(char *buffer, const int offset,\n "  +
1121+  " %7 $s &wrapForDecode(char *buffer, const int offset,\n "  +
11151122 " const int actingBlockLength, const int actingVersion)\n "  +
11161123 " {\n "  +
11171124 " buffer_ = buffer;\n "  +
@@ -1134,14 +1141,6 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
11341141 " {\n "  +
11351142 " return position() - offset_;\n "  +
11361143 " }\n \n "  +
1137-  " static int templateId(void)\n "  +
1138-  " {\n "  +
1139-  " return %3$d;\n "  +
1140-  " }\n \n "  +
1141-  " static int templateVersion(void)\n "  +
1142-  " {\n "  +
1143-  " return %4$d;\n "  +
1144-  " }\n \n "  +
11451144 " char *buffer(void)\n "  +
11461145 " {\n "  +
11471146 " return buffer_;\n "  +
@@ -1150,13 +1149,14 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
11501149 " {\n "  +
11511150 " return actingVersion_;\n "  +
11521151 " }\n " ,
1153-  Integer .valueOf (blockLength ),
1154-  className ,
1155-  Integer .valueOf (schemaId ),
1156-  Long .valueOf (version )
1157-  ));
1158- 
1159-  return  sb ;
1152+  blockLengthType ,
1153+  generateLiteral (ir .headerStructure ().blockLengthType (), Integer .toString (blockLength )),
1154+  templateIdType ,
1155+  generateLiteral (ir .headerStructure ().templateIdType (), Integer .toString (schemaId )),
1156+  templateVersionType ,
1157+  generateLiteral (ir .headerStructure ().templateVersionType (), Integer .toString (version )),
1158+  className 
1159+  );
11601160 }
11611161
11621162 private  CharSequence  generateFields (final  String  containingClassName ,
0 commit comments