Skip to content

Commit ab87e13

Browse files
committed
[Java] Generate MessageHeader as composite rather than just encoded primitive types. Issue aeron-io#435.
1 parent 294ef33 commit ab87e13

File tree

1 file changed

+2
-21
lines changed

1 file changed

+2
-21
lines changed

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

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -136,26 +136,7 @@ private String implementsInterface(final String interfaceName)
136136

137137
public void generateMessageHeaderStub() throws IOException
138138
{
139-
final List<Token> tokens = ir.headerStructure().tokens();
140-
final Token firstToken = tokens.get(0);
141-
try (Writer out = outputManager.createOutput(MESSAGE_HEADER_ENCODER_TYPE))
142-
{
143-
generateFixedFlyweightHeader(firstToken, MESSAGE_HEADER_ENCODER_TYPE, out, mutableBuffer, fqMutableBuffer);
144-
out.append(concatEncodingTokens(
145-
tokens,
146-
(token) -> generatePrimitiveEncoder(MESSAGE_HEADER_ENCODER_TYPE, token.name(), token, BASE_INDENT)));
147-
out.append("}\n");
148-
}
149-
150-
try (Writer out = outputManager.createOutput(MESSAGE_HEADER_DECODER_TYPE))
151-
{
152-
generateFixedFlyweightHeader(
153-
firstToken, MESSAGE_HEADER_DECODER_TYPE, out, readOnlyBuffer, fqReadOnlyBuffer);
154-
out.append(concatEncodingTokens(
155-
tokens,
156-
(token) -> generatePrimitiveDecoder(true, token.name(), token, BASE_INDENT)));
157-
out.append("}\n");
158-
}
139+
generateComposite(ir.headerStructure().tokens());
159140
}
160141

161142
public void generateTypeStubs() throws IOException
@@ -183,8 +164,8 @@ public void generateTypeStubs() throws IOException
183164

184165
public void generate() throws IOException
185166
{
186-
generateMessageHeaderStub();
187167
generateTypeStubs();
168+
generateMessageHeaderStub();
188169

189170
for (final List<Token> tokens : ir.messages())
190171
{

0 commit comments

Comments
 (0)