Skip to content

Commit b396208

Browse files
committed
[Java] Make codec toString() methods version aware.
1 parent b12d994 commit b396208

File tree

9 files changed

+103
-23
lines changed

9 files changed

+103
-23
lines changed

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3095,10 +3095,10 @@ private void generateEncoderDisplay(final StringBuilder sb, final String decoder
30953095
append(sb, indent, " return builder;");
30963096
append(sb, indent, " }");
30973097
sb.append('\n');
3098-
append(sb, indent, " final " + decoderName + " writer = new " + decoderName + "();");
3099-
append(sb, indent, " writer.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);");
3098+
append(sb, indent, " final " + decoderName + " decoder = new " + decoderName + "();");
3099+
append(sb, indent, " decoder.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);");
31003100
sb.append('\n');
3101-
append(sb, indent, " return writer.appendTo(builder);");
3101+
append(sb, indent, " return decoder.appendTo(builder);");
31023102
append(sb, indent, "}");
31033103
}
31043104

@@ -3115,10 +3115,10 @@ private CharSequence generateCompositeEncoderDisplay(final String decoderName)
31153115
append(sb, indent, " return builder;");
31163116
append(sb, indent, " }");
31173117
sb.append('\n');
3118-
append(sb, indent, " final " + decoderName + " writer = new " + decoderName + "();");
3119-
append(sb, indent, " writer.wrap(buffer, offset);");
3118+
append(sb, indent, " final " + decoderName + " decoder = new " + decoderName + "();");
3119+
append(sb, indent, " decoder.wrap(buffer, offset);");
31203120
sb.append('\n');
3121-
append(sb, indent, " return writer.appendTo(builder);");
3121+
append(sb, indent, " return decoder.appendTo(builder);");
31223122
append(sb, indent, "}");
31233123

31243124
return sb;
@@ -3472,7 +3472,7 @@ private void appendMessageToString(final StringBuilder sb, final String indent,
34723472
append(sb, indent, " }");
34733473
sb.append('\n');
34743474
append(sb, indent, " final " + decoderName + " decoder = new " + decoderName + "();");
3475-
append(sb, indent, " decoder.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);");
3475+
append(sb, indent, " decoder.wrap(buffer, initialOffset, actingBlockLength, actingVersion);");
34763476
sb.append('\n');
34773477
append(sb, indent, " return decoder.appendTo(new StringBuilder()).toString();");
34783478
append(sb, indent, "}");

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecDecoder.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,14 +577,24 @@ public String semanticVersion()
577577

578578
public String toString()
579579
{
580-
FrameCodecDecoder decoder = new FrameCodecDecoder();
581-
decoder.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);
580+
if (null == buffer)
581+
{
582+
return "";
583+
}
584+
585+
final FrameCodecDecoder decoder = new FrameCodecDecoder();
586+
decoder.wrap(buffer, initialOffset, actingBlockLength, actingVersion);
582587

583588
return decoder.appendTo(new StringBuilder()).toString();
584589
}
585590

586591
public StringBuilder appendTo(final StringBuilder builder)
587592
{
593+
if (null == buffer)
594+
{
595+
return builder;
596+
}
597+
588598
final int originalLimit = limit();
589599
limit(initialOffset + actingBlockLength);
590600
builder.append("[FrameCodec](sbeTemplateId=");

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/FrameCodecEncoder.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -513,14 +513,24 @@ public FrameCodecEncoder semanticVersion(final String value)
513513

514514
public String toString()
515515
{
516+
if (null == buffer)
517+
{
518+
return "";
519+
}
520+
516521
return appendTo(new StringBuilder()).toString();
517522
}
518523

519524
public StringBuilder appendTo(final StringBuilder builder)
520525
{
521-
FrameCodecDecoder writer = new FrameCodecDecoder();
522-
writer.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);
526+
if (null == buffer)
527+
{
528+
return builder;
529+
}
530+
531+
final FrameCodecDecoder decoder = new FrameCodecDecoder();
532+
decoder.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);
523533

524-
return writer.appendTo(builder);
534+
return decoder.appendTo(builder);
525535
}
526536
}

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderDecoder.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,21 @@ public int version()
199199

200200
public String toString()
201201
{
202+
if (null == buffer)
203+
{
204+
return "";
205+
}
206+
202207
return appendTo(new StringBuilder()).toString();
203208
}
204209

205210
public StringBuilder appendTo(final StringBuilder builder)
206211
{
212+
if (null == buffer)
213+
{
214+
return builder;
215+
}
216+
207217
builder.append('(');
208218
builder.append("blockLength=");
209219
builder.append(blockLength());

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/MessageHeaderEncoder.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,14 +183,24 @@ public MessageHeaderEncoder version(final int value)
183183

184184
public String toString()
185185
{
186+
if (null == buffer)
187+
{
188+
return "";
189+
}
190+
186191
return appendTo(new StringBuilder()).toString();
187192
}
188193

189194
public StringBuilder appendTo(final StringBuilder builder)
190195
{
191-
MessageHeaderDecoder writer = new MessageHeaderDecoder();
192-
writer.wrap(buffer, offset);
196+
if (null == buffer)
197+
{
198+
return builder;
199+
}
200+
201+
final MessageHeaderDecoder decoder = new MessageHeaderDecoder();
202+
decoder.wrap(buffer, offset);
193203

194-
return writer.appendTo(builder);
204+
return decoder.appendTo(builder);
195205
}
196206
}

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecDecoder.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,14 +1738,24 @@ public String referencedName()
17381738

17391739
public String toString()
17401740
{
1741-
TokenCodecDecoder decoder = new TokenCodecDecoder();
1742-
decoder.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);
1741+
if (null == buffer)
1742+
{
1743+
return "";
1744+
}
1745+
1746+
final TokenCodecDecoder decoder = new TokenCodecDecoder();
1747+
decoder.wrap(buffer, initialOffset, actingBlockLength, actingVersion);
17431748

17441749
return decoder.appendTo(new StringBuilder()).toString();
17451750
}
17461751

17471752
public StringBuilder appendTo(final StringBuilder builder)
17481753
{
1754+
if (null == buffer)
1755+
{
1756+
return builder;
1757+
}
1758+
17491759
final int originalLimit = limit();
17501760
limit(initialOffset + actingBlockLength);
17511761
builder.append("[TokenCodec](sbeTemplateId=");

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/TokenCodecEncoder.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,14 +1485,24 @@ public TokenCodecEncoder referencedName(final String value)
14851485

14861486
public String toString()
14871487
{
1488+
if (null == buffer)
1489+
{
1490+
return "";
1491+
}
1492+
14881493
return appendTo(new StringBuilder()).toString();
14891494
}
14901495

14911496
public StringBuilder appendTo(final StringBuilder builder)
14921497
{
1493-
TokenCodecDecoder writer = new TokenCodecDecoder();
1494-
writer.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);
1498+
if (null == buffer)
1499+
{
1500+
return builder;
1501+
}
1502+
1503+
final TokenCodecDecoder decoder = new TokenCodecDecoder();
1504+
decoder.wrap(buffer, initialOffset, BLOCK_LENGTH, SCHEMA_VERSION);
14951505

1496-
return writer.appendTo(builder);
1506+
return decoder.appendTo(builder);
14971507
}
14981508
}

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingDecoder.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,21 @@ public static short varDataMaxValue()
121121

122122
public String toString()
123123
{
124+
if (null == buffer)
125+
{
126+
return "";
127+
}
128+
124129
return appendTo(new StringBuilder()).toString();
125130
}
126131

127132
public StringBuilder appendTo(final StringBuilder builder)
128133
{
134+
if (null == buffer)
135+
{
136+
return builder;
137+
}
138+
129139
builder.append('(');
130140
builder.append("length=");
131141
builder.append(length());

sbe-tool/src/main/java/uk/co/real_logic/sbe/ir/generated/VarDataEncodingEncoder.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,24 @@ public static short varDataMaxValue()
112112

113113
public String toString()
114114
{
115+
if (null == buffer)
116+
{
117+
return "";
118+
}
119+
115120
return appendTo(new StringBuilder()).toString();
116121
}
117122

118123
public StringBuilder appendTo(final StringBuilder builder)
119124
{
120-
VarDataEncodingDecoder writer = new VarDataEncodingDecoder();
121-
writer.wrap(buffer, offset);
125+
if (null == buffer)
126+
{
127+
return builder;
128+
}
129+
130+
final VarDataEncodingDecoder decoder = new VarDataEncodingDecoder();
131+
decoder.wrap(buffer, offset);
122132

123-
return writer.appendTo(builder);
133+
return decoder.appendTo(builder);
124134
}
125135
}

0 commit comments

Comments
 (0)