enum CodecType { DECODER, ENCODER }
final int dimensionHeaderSize) final String className = formatClassName(groupName); final String type = formatClassName(decoderName(subGroupName)); final String field = formatPropertyName(subGroupName); sb.append(indent).append(" private final ").append(type).append(" ").append(field).append(";\n"); final String type = formatClassName(decoderName(subGroupName)); final String field = formatPropertyName(subGroupName); sb
final int dimensionHeaderSize) final String className = formatClassName(encoderName(groupName)); final String type = formatClassName(encoderName(subGroupName)); final String field = formatPropertyName(subGroupName); sb.append(indent).append(" private final ").append(type).append(" ").append(field).append(";\n"); final String type = formatClassName(encoderName(subGroupName)); final String field = formatPropertyName(subGroupName); sb
groupClassNames.add(formatClassName(nameMapping.apply(groupName)));
private void generateEnum(final List<Token> tokens) throws IOException { final Token enumToken = tokens.get(0); final String enumName = formatClassName(enumToken.applicableTypeName()); try (Writer out = outputManager.createOutput(enumName)) { out.append(generateEnumFileHeader(ir.applicableNamespace())); out.append(generateEnumDeclaration(enumName, enumToken)); out.append(generateEnumValues(getMessageBody(tokens))); out.append(generateEnumBody(enumToken, enumName)); out.append(generateEnumLookupMethod(getMessageBody(tokens), enumName)); out.append("}\n"); } }
final String className = formatClassName(encoderName(groupName)); final String propertyName = formatPropertyName(groupName);
private CharSequence generateEnumEncoder( final String containingClassName, final String propertyName, final Token token, final String indent) { if (token.isConstantEncoding()) { return ""; } final String enumName = formatClassName(token.applicableTypeName()); final Encoding encoding = token.encoding(); final int offset = token.offset(); return String.format("\n" + indent + " public %s %s(final %s value)\n" + indent + " {\n" + indent + " %s;\n" + indent + " return this;\n" + indent + " }\n", formatClassName(containingClassName), propertyName, enumName, generatePut(encoding.primitiveType(), "offset + " + offset, "value.value()", byteOrderString(encoding))); }
className, mutableBuffer, formatClassName(ir.headerStructure().tokens().get(0).applicableTypeName() + "Encoder"));
private void generateEncoder( final String indent, final List<Token> fields, final List<Token> groups, final List<Token> varData, final Token msgToken) throws IOException { final String className = formatClassName(encoderName(msgToken.name())); final String implementsString = implementsInterface(MESSAGE_ENCODER_FLYWEIGHT); try (Writer out = outputManager.createOutput(className)) { out.append(generateMainHeader(ir.applicableNamespace())); generateAnnotations(indent, className, groups, out, 0, this::encoderName); out.append(generateDeclaration(className, implementsString, msgToken)); out.append(generateEncoderFlyweightCode(className, msgToken)); out.append(generateEncoderFields(className, fields, indent)); final StringBuilder sb = new StringBuilder(); generateEncoderGroups(sb, className, groups, indent, false); out.append(sb); out.append(generateEncoderVarData(className, varData, indent)); out.append(generateEncoderDisplay(formatClassName(decoderName(msgToken.name())), indent)); out.append("}\n"); } }
final String className = formatClassName(groupName); final String propertyName = formatPropertyName(token.name());
final String groupName = decoderName(formatClassName(groupToken.name()));
final String groupClassName = formatClassName(encoderName(groupName));
private void generateDecoder( final String indent, final List<Token> fields, final List<Token> groups, final List<Token> varData, final Token msgToken) throws IOException { final String className = formatClassName(decoderName(msgToken.name())); final String implementsString = implementsInterface(MESSAGE_DECODER_FLYWEIGHT); try (Writer out = outputManager.createOutput(className)) { out.append(generateMainHeader(ir.applicableNamespace())); generateAnnotations(indent, className, groups, out, 0, this::decoderName); out.append(generateDeclaration(className, implementsString, msgToken)); out.append(generateDecoderFlyweightCode(className, msgToken)); out.append(generateDecoderFields(fields, indent)); final StringBuilder sb = new StringBuilder(); generateDecoderGroups(sb, className, groups, indent, false); out.append(sb); out.append(generateDecoderVarData(varData, indent)); out.append(generateDecoderDisplay(msgToken.name(), fields, groups, varData, indent)); out.append("}\n"); } }
private void generateBitSet(final List<Token> tokens) throws IOException { final Token token = tokens.get(0); final String bitSetName = formatClassName(token.applicableTypeName()); final String decoderName = decoderName(bitSetName); final String encoderName = encoderName(bitSetName); final List<Token> messageBody = getMessageBody(tokens); final String implementsString = implementsInterface(FLYWEIGHT); try (Writer out = outputManager.createOutput(decoderName)) { generateFixedFlyweightHeader(token, decoderName, implementsString, out, readOnlyBuffer, fqReadOnlyBuffer); out.append(generateChoiceIsEmpty(token.encoding().primitiveType())); out.append(generateChoiceDecoders(messageBody)); out.append(generateChoiceDisplay(messageBody)); out.append("}\n"); } try (Writer out = outputManager.createOutput(encoderName)) { generateFixedFlyweightHeader(token, encoderName, implementsString, out, mutableBuffer, fqMutableBuffer); out.append(generateChoiceClear(encoderName, token)); out.append(generateChoiceEncoders(encoderName, messageBody)); out.append("}\n"); } }
final String groupDecoderName = decoderName(formatClassName(groupToken.name()));
private CharSequence generatePrimitivePropertyEncode( final String containingClassName, final String propertyName, final Token token, final String indent) { final Encoding encoding = token.encoding(); final String javaTypeName = javaTypeName(encoding.primitiveType()); final int offset = token.offset(); final String byteOrderStr = byteOrderString(encoding); return String.format( "\n" + indent + " public %s %s(final %s value)\n" + indent + " {\n" + indent + " %s;\n" + indent + " return this;\n" + indent + " }\n\n", formatClassName(containingClassName), formatPropertyName(propertyName), javaTypeName, generatePut(encoding.primitiveType(), "offset + " + offset, "value", byteOrderStr)); }
indent + " return this;\n" + indent + " }\n", formatClassName(containingClassName), propertyName, javaTypeName,
final String typeName = decoderName(formatClassName(typeToken.name()));
final String typeName = formatClassName(encoderName(typeToken.name()));
final String indent) final String enumName = formatClassName(typeToken.applicableTypeName()); final Encoding encoding = typeToken.encoding();