Skip to content

Commit e6a7972

Browse files
authored
Merge pull request #14 from the-thing/message-class-header-fields
Generate header related methods in `Message` class.
2 parents b0cec6b + 96a2842 commit e6a7972

File tree

1 file changed

+22
-0
lines changed
  • quickfixj-from-fix-orchestra-repository/quickfixj-from-fix-orchestra-generator/src/main/java/org/quickfixj/orchestra

1 file changed

+22
-0
lines changed

quickfixj-from-fix-orchestra-repository/quickfixj-from-fix-orchestra-generator/src/main/java/org/quickfixj/orchestra/CodeGeneratorJ.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,7 @@ private static void generateMessageBaseClass(File outputDir, String version, Str
568568
writeSerializationVersion(writer, SERIALIZATION_VERSION);
569569
writeMessageNoArgBaseConstructor(writer, "Message");
570570
writeProtectedMessageBaseConstructor(writer, "Message", getBeginString(version));
571+
writeHeaderMethods(writer);
571572
writeMessageDerivedHeaderClass(writer);
572573

573574
writeEndClassDeclaration(writer);
@@ -1096,6 +1097,27 @@ private static Writer writeMessageCreateMethod(Writer writer, List<MessageType>
10961097
return writer;
10971098
}
10981099

1100+
private static void writeHeaderMethods(FileWriter writer) throws IOException {
1101+
writeHeaderFactoryMethod(writer);
1102+
writeHeaderGetter(writer);
1103+
}
1104+
1105+
private static void writeHeaderFactoryMethod(FileWriter writer) throws IOException {
1106+
writer.write(String.format("%n"));
1107+
writer.write(String.format("%s@Override%n", CodeGeneratorUtil.indent(1)));
1108+
writer.write(String.format("%sprotected Header newHeader() {%n", CodeGeneratorUtil.indent(1)));
1109+
writer.write(String.format("%sreturn new Header(this);%n", CodeGeneratorUtil.indent(2)));
1110+
writer.write(String.format("%s}%n", CodeGeneratorUtil.indent(1)));
1111+
}
1112+
1113+
private static void writeHeaderGetter(FileWriter writer) throws IOException {
1114+
writer.write(String.format("%n"));
1115+
writer.write(String.format("%s@Override%n", CodeGeneratorUtil.indent(1)));
1116+
writer.write(String.format("%spublic Header getHeader() {%n", CodeGeneratorUtil.indent(1)));
1117+
writer.write(String.format("%sreturn (Message.Header)header;%n", CodeGeneratorUtil.indent(2)));
1118+
writer.write(String.format("%s}%n", CodeGeneratorUtil.indent(1)));
1119+
}
1120+
10991121
private static Writer writeMessageDerivedHeaderClass(Writer writer) throws IOException {
11001122
writeStaticClassDeclaration(writer, "Header", "quickfix.Message.Header");
11011123
writeSerializationVersion(writer, SERIALIZATION_VERSION);

0 commit comments

Comments
 (0)