private CharSequence generateEnumValues(final List<Token> tokens, final Token encodingToken) { final StringBuilder sb = new StringBuilder(); final Encoding encoding = encodingToken.encoding(); for (final Token token : tokens) { sb.append(INDENT).append(INDENT).append(token.name()).append(" = ") .append(token.encoding().constValue()).append(",\n"); } final PrimitiveValue nullVal = encoding.applicableNullValue(); sb.append(INDENT).append(INDENT).append("NULL_VALUE = ").append(nullVal).append("\n"); return sb; }
return generateLiteral(primitiveType, encoding.applicableNullValue().toString());
private CharSequence generateEnumValues(final List<Token> tokens) { final StringBuilder sb = new StringBuilder(); for (final Token token : tokens) { final Encoding encoding = token.encoding(); final CharSequence constVal = generateLiteral(encoding.primitiveType(), encoding.constValue().toString()); sb.append(generateTypeJavadoc(INDENT, token)); sb.append(INDENT).append(token.name()).append('(').append(constVal).append("),\n\n"); } final Token token = tokens.get(0); final Encoding encoding = token.encoding(); final CharSequence nullVal = generateLiteral( encoding.primitiveType(), encoding.applicableNullValue().toString()); if (shouldDecodeUnknownEnumValues) { sb.append(INDENT).append("/**\n"); sb.append(INDENT).append(" * To be used to represent a not known value from a later version.\n"); sb.append(INDENT).append(" */\n"); sb.append(INDENT).append("SBE_UNKNOWN").append('(').append(nullVal).append("),\n\n"); } sb.append(INDENT).append("/**\n"); sb.append(INDENT).append(" * To be used to represent not present or null.\n"); sb.append(INDENT).append(" */\n"); sb.append(INDENT).append("NULL_VAL").append('(').append(nullVal).append(");\n\n"); return sb; }
private CharSequence generateFieldNotPresentCondition( final int sinceVersion, final Encoding encoding, final String indent) { if (0 == sinceVersion) { return ""; } return String.format( indent + " if (m_actingVersion < %1$d)\n" + indent + " {\n" + indent + " return %2$s;\n" + indent + " }\n\n", sinceVersion, generateLiteral(encoding.primitiveType(), encoding.applicableNullValue().toString())); }
private CharSequence generateFieldNotPresentCondition( final boolean inComposite, final int sinceVersion, final Encoding encoding, final String indent) { if (inComposite || 0 == sinceVersion) { return ""; } return String.format( indent + " if (parentMessage.actingVersion < %d)\n" + indent + " {\n" + indent + " return %s;\n" + indent + " }\n\n", sinceVersion, generateLiteral(encoding.primitiveType(), encoding.applicableNullValue().toString())); }
private CharSequence generateFieldNotPresentCondition( final int sinceVersion, final Encoding encoding, final String indent) { if (0 == sinceVersion) { return ""; } final String literal; if (sinceVersion > 0) { literal = generateLiteral(encoding.primitiveType(), encoding.applicableNullValue().toString()); } else { literal = "(byte)0"; } return String.format( indent + INDENT + INDENT + "if (_actingVersion < %1$d) return %2$s;\n\n", sinceVersion, literal); }
private CharSequence generateEnumValues(final List<Token> tokens, final Token encodingToken) { final StringBuilder sb = new StringBuilder(); final Encoding encoding = encodingToken.encoding(); sb.append( " enum Value \n" + " {\n"); for (final Token token : tokens) { final CharSequence constVal = generateLiteral( token.encoding().primitiveType(), token.encoding().constValue().toString()); sb.append(" ").append(token.name()).append(" = ").append(constVal).append(",\n"); } sb.append(String.format( " NULL_VALUE = %1$s", generateLiteral(encoding.primitiveType(), encoding.applicableNullValue().toString()))); sb.append("\n };\n\n"); return sb; }
sb.append(encodingToken.encoding().applicableNullValue().toString()).append("}\n");
"%s" + " }\n", generateLiteral(primitiveType, tokens.get(0).encoding().applicableNullValue().toString()), handleUnknownLogic));
private static CharSequence generateEnumLookupMethod(final List<Token> tokens, final Token encodingToken) { final String enumName = formatClassName(encodingToken.applicableTypeName()); final StringBuilder sb = new StringBuilder(); sb.append(String.format( " static %1$s::Value get(const %2$s value)\n" + " {\n" + " switch (value)\n" + " {\n", enumName, cppTypeName(tokens.get(0).encoding().primitiveType()))); for (final Token token : tokens) { sb.append(String.format( " case %1$s: return %2$s;\n", token.encoding().constValue().toString(), token.name())); } sb.append(String.format( " case %1$s: return NULL_VALUE;\n" + " }\n\n" + " throw std::runtime_error(\"unknown value for enum %2$s [E103]\");\n" + " }\n", encodingToken.encoding().applicableNullValue().toString(), enumName)); return sb; }
return generateLiteral(primitiveType, encoding.applicableNullValue().toString());
private static PrimitiveValue constOrNotPresentValue(final Token token, final int actingVersion) { final Encoding encoding = token.encoding(); if (token.isConstantEncoding()) { return encoding.constValue(); } else if (token.isOptionalEncoding() && actingVersion < token.version()) { return encoding.applicableNullValue(); } return null; }
private static PrimitiveValue constOrNotPresentValue(final Token token, final int actingVersion) { if (token.isConstantEncoding()) { return token.encoding().constValue(); } else if (token.isOptionalEncoding() && actingVersion < token.version()) { return token.encoding().applicableNullValue(); } return null; }
javaTypeName, formattedPropertyName, generateLiteral(primitiveType, token.encoding().applicableNullValue().toString())));
private CharSequence generatePrimitiveFieldMetaData( final String propertyName, final Token token, final String indent) { final PrimitiveType primitiveType = token.encoding().primitiveType(); final String typeName = cSharpTypeName(primitiveType); return String.format( "\n" + indent + "public const %1$s %2$sNullValue = %3$s;\n" + indent + "public const %1$s %2$sMinValue = %4$s;\n" + indent + "public const %1$s %2$sMaxValue = %5$s;\n", typeName, toUpperFirstChar(propertyName), generateLiteral(primitiveType, token.encoding().applicableNullValue().toString()), generateLiteral(primitiveType, token.encoding().applicableMinValue().toString()), generateLiteral(primitiveType, token.encoding().applicableMaxValue().toString())); }
private CharSequence generateEnumValues(final List<Token> tokens, final Token encodingToken) { final StringBuilder sb = new StringBuilder(); final Encoding encoding = encodingToken.encoding(); for (final Token token : tokens) { sb.append(INDENT).append(INDENT).append(token.name()).append(" = ") .append(token.encoding().constValue()).append(",\n"); } final PrimitiveValue nullVal = encoding.applicableNullValue(); sb.append(INDENT).append(INDENT).append("NULL_VALUE = ").append(nullVal).append("\n"); return sb; }
private CharSequence generateEnumValues(final List<Token> tokens, final Token encodingToken) { final StringBuilder sb = new StringBuilder(); final Encoding encoding = encodingToken.encoding(); for (final Token token : tokens) { sb.append(INDENT).append(INDENT).append(token.name()).append(" = ") .append(token.encoding().constValue()).append(",\n"); } final PrimitiveValue nullVal = encoding.applicableNullValue(); sb.append(INDENT).append(INDENT).append("NULL_VALUE = ").append(nullVal).append("\n"); return sb; }
private CharSequence generateFieldNotPresentCondition(final int sinceVersion, final Encoding encoding, final String indent) { if (0 == sinceVersion) { return ""; } return String.format( indent + " if (_actingVersion < %1$d) return %2$s;\n\n", sinceVersion, sinceVersion > 0 ? generateLiteral(encoding.primitiveType(), encoding.applicableNullValue().toString()) : "(byte)0" ); }
private CharSequence generateFieldNotPresentCondition(final int sinceVersion, final Encoding encoding, final String indent) { if (0 == sinceVersion) { return ""; } return String.format( indent + " if self.actingVersion_ < %1$d:\n" + indent + " return %2$s\n\n", sinceVersion, generateLiteral(encoding.primitiveType(), encoding.applicableNullValue().toString()) ); }
private static PrimitiveValue constOrNotPresentValue(final Token token, final int actingVersion) { final Encoding encoding = token.encoding(); if (token.isConstantEncoding()) { return encoding.constValue(); } else if (token.isOptionalEncoding() && actingVersion < token.version()) { return encoding.applicableNullValue(); } return null; }