Skip to content

Commit e656ddc

Browse files
committed
[Java]: Moved MetaAttribute to be top level.
1 parent b9fefb7 commit e656ddc

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

examples/java/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStub.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,7 @@ public static void decode(final Car car,
211211
}
212212
}
213213

214-
215-
sb.append("\ncar.make.semanticType=").append(Car.makeMetaAttribute(Car.MetaAttribute.SEMANTIC_TYPE));
214+
sb.append("\ncar.make.semanticType=").append(Car.makeMetaAttribute(MetaAttribute.SEMANTIC_TYPE));
216215
sb.append("\ncar.make=").append(new String(buffer, 0, car.getMake(buffer, 0, buffer.length), Car.makeCharacterEncoding()));
217216

218217
sb.append("\ncar.model=").append(new String(buffer, 0, car.getModel(buffer, 0, buffer.length), Car.modelCharacterEncoding()));

examples/java/uk/co/real_logic/sbe/examples/ExampleUsingGeneratedStubExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ public static void decode(final extension.Car car,
217217
}
218218
}
219219

220-
sb.append("\ncar.make.semanticType=").append(extension.Car.makeMetaAttribute(extension.Car.MetaAttribute.SEMANTIC_TYPE));
220+
sb.append("\ncar.make.semanticType=").append(extension.Car.makeMetaAttribute(extension.MetaAttribute.SEMANTIC_TYPE));
221221
sb.append("\ncar.make=").append(new String(buffer, 0, car.getMake(buffer, 0, buffer.length), extension.Car.makeCharacterEncoding()));
222222

223223
sb.append("\ncar.model=").append(new String(buffer, 0, car.getModel(buffer, 0, buffer.length), extension.Car.modelCharacterEncoding()));

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

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class JavaGenerator implements CodeGenerator
3434
/** Class name to be used for visitor pattern that accesses the message headerStructure. */
3535
public static final String MESSAGE_HEADER_TYPE = "MessageHeader";
3636

37+
private static final String META_ATTRIBUTE_ENUM = "MetaAttribute";
3738
private static final String BASE_INDENT = "";
3839
private static final String INDENT = " ";
3940

@@ -66,6 +67,8 @@ public void generateMessageHeaderStub() throws IOException
6667

6768
public void generateTypeStubs() throws IOException
6869
{
70+
generateMetaAttributeEnum();
71+
6972
for (final List<Token> tokens : ir.types())
7073
{
7174
switch (tokens.get(0).signal())
@@ -614,17 +617,29 @@ private CharSequence generateClassDeclaration(final String className)
614617
{
615618
return String.format(
616619
"public class %s\n" +
617-
"{\n" +
618-
" public enum MetaAttribute\n" +
619-
" {\n" +
620-
" EPOCH,\n" +
621-
" TIME_UNIT,\n" +
622-
" SEMANTIC_TYPE\n" +
623-
" }\n\n",
620+
"{\n",
624621
className
625622
);
626623
}
627624

625+
private void generateMetaAttributeEnum() throws IOException
626+
{
627+
try (final Writer out = outputManager.createOutput(META_ATTRIBUTE_ENUM))
628+
{
629+
out.append(String.format(
630+
"/* Generated SBE (Simple Binary Encoding) message codec */\n" +
631+
"package %s;\n\n" +
632+
"public enum MetaAttribute\n" +
633+
"{\n" +
634+
" EPOCH,\n" +
635+
" TIME_UNIT,\n" +
636+
" SEMANTIC_TYPE\n" +
637+
"}\n",
638+
ir.packageName()
639+
));
640+
}
641+
}
642+
628643
private CharSequence generateEnumDeclaration(final String name)
629644
{
630645
return "public enum " + name + "\n{\n";

0 commit comments

Comments
 (0)