Skip to content

Commit 91e37eb

Browse files
committed
[Java] Add acting version guard to Java decoders stubs so an extension repeating group is not read when not present.
1 parent 2cbf1e5 commit 91e37eb

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -581,15 +581,26 @@ private static CharSequence generateGroupDecoderProperty(final String groupName,
581581
formatPropertyName(groupName),
582582
token.version()));
583583

584+
final String actingVersionGuard = token.version() == 0 ?
585+
"" :
586+
indent + " if (actingVersion < " + token.version() + ")\n" +
587+
indent + " {\n" +
588+
indent + " " + propertyName + ".count = 0;\n" +
589+
indent + " " + propertyName + ".index = -1;\n" +
590+
indent + " return " + propertyName + ";\n" +
591+
indent + " }\n\n";
592+
584593
sb.append(String.format(
585594
"\n" +
586595
indent + " public %1$s %2$s()\n" +
587596
indent + " {\n" +
597+
"%3$s" +
588598
indent + " %2$s.wrap(parentMessage, buffer);\n" +
589599
indent + " return %2$s;\n" +
590600
indent + " }\n",
591601
className,
592-
propertyName));
602+
propertyName,
603+
actingVersionGuard));
593604

594605
return sb;
595606
}

0 commit comments

Comments
 (0)