Skip to content

Commit a2906ef

Browse files
committed
[Java]: Introduced HEADER_SIZE constant to repeating groups stub.
1 parent 2a9d399 commit a2906ef

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -205,15 +205,17 @@ private void generateGroupClassHeader(final StringBuilder sb,
205205
"\n" +
206206
indent + "public static class %1$s implements Iterable<%1$s>, java.util.Iterator<%1$s>\n" +
207207
indent + "{\n" +
208-
indent + " private final %2$s dimensions = new %2$s();\n" +
209-
indent + " private %3$s parentMessage;\n" +
208+
indent + " private static final int HEADER_SIZE = %2$d;\n" +
209+
indent + " private final %3$s dimensions = new %3$s();\n" +
210+
indent + " private %4$s parentMessage;\n" +
210211
indent + " private DirectBuffer buffer;\n" +
211212
indent + " private int blockLength;\n" +
212213
indent + " private int actingVersion;\n" +
213214
indent + " private int count;\n" +
214215
indent + " private int index;\n" +
215216
indent + " private int offset;\n\n",
216217
formatClassName(groupName),
218+
dimensionHeaderSize,
217219
dimensionsClassName,
218220
parentMessageClassName
219221
));
@@ -228,7 +230,7 @@ private void generateGroupClassHeader(final StringBuilder sb,
228230
indent + " blockLength = dimensions.blockLength();\n" +
229231
indent + " this.actingVersion = actingVersion;\n" +
230232
indent + " index = -1;\n" +
231-
indent + " parentMessage.limit(parentMessage.limit() + headerSize());\n" +
233+
indent + " parentMessage.limit(parentMessage.limit() + HEADER_SIZE);\n" +
232234
indent + " }\n\n",
233235
parentMessageClassName
234236
));
@@ -248,7 +250,7 @@ private void generateGroupClassHeader(final StringBuilder sb,
248250
indent + " index = -1;\n" +
249251
indent + " this.count = count;\n" +
250252
indent + " blockLength = %4$d;\n" +
251-
indent + " parentMessage.limit(parentMessage.limit() + headerSize());\n" +
253+
indent + " parentMessage.limit(parentMessage.limit() + HEADER_SIZE);\n" +
252254
indent + " }\n\n",
253255
parentMessageClassName,
254256
javaTypeForNumInGroup,
@@ -259,9 +261,8 @@ private void generateGroupClassHeader(final StringBuilder sb,
259261
sb.append(String.format(
260262
indent + " public static int headerSize()\n" +
261263
indent + " {\n" +
262-
indent + " return %d;\n" +
263-
indent + " }\n\n",
264-
dimensionHeaderSize
264+
indent + " return HEADER_SIZE;\n" +
265+
indent + " }\n\n"
265266
));
266267

267268
sb.append(String.format(

0 commit comments

Comments
 (0)