private void generateVarDataWrapDecoder( final StringBuilder sb, final Token token, final String propertyName, final int sizeOfLengthField, final PrimitiveType lengthType, final String byteOrderStr, final String indent) { sb.append(String.format("\n" + indent + " public void wrap%s(final %s wrapBuffer)\n" + indent + " {\n" + "%s" + indent + " final int headerLength = %d;\n" + indent + " final int limit = parentMessage.limit();\n" + indent + " final int dataLength = (int)%s;\n" + indent + " parentMessage.limit(limit + headerLength + dataLength);\n" + indent + " wrapBuffer.wrap(buffer, limit + headerLength, dataLength);\n" + indent + " }\n", propertyName, readOnlyBuffer, generateVarWrapFieldNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr))); }
private void generateVarDataTypedDecoder( final StringBuilder sb, final Token token, final String propertyName, final int sizeOfLengthField, final String exchangeType, final PrimitiveType lengthType, final String byteOrderStr, final String indent) { sb.append(String.format("\n" + indent + " public int get%s(final %s dst, final int dstOffset, final int length)\n" + indent + " {\n" + "%s" + indent + " final int headerLength = %d;\n" + indent + " final int limit = parentMessage.limit();\n" + indent + " final int dataLength = (int)%s;\n" + indent + " final int bytesCopied = Math.min(length, dataLength);\n" + indent + " parentMessage.limit(limit + headerLength + dataLength);\n" + indent + " buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);\n\n" + indent + " return bytesCopied;\n" + indent + " }\n", propertyName, exchangeType, generateArrayFieldNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr))); }
final String blockLengthGet = generateGet( blockLengthType, blockLengthOffset, byteOrderString(blockLengthToken.encoding())); final String numInGroupGet = generateGet( numInGroupType, numInGroupOffset, byteOrderString(numInGroupToken.encoding()));
generateStringNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr), characterEncoding)); generateStringNotPresentConditionForAppendable(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr), byteOrderStr));
Generators.toLowerFirstChar(propertyName), generateArrayFieldNotPresentCondition(token.version(), indent), generateGet(lengthType, "limit", byteOrderStr)));
private CharSequence generatePrimitivePropertyDecode( final boolean inComposite, final String propertyName, final Token propertyToken, final Token encodingToken, final String indent) { final Encoding encoding = encodingToken.encoding(); final String javaTypeName = javaTypeName(encoding.primitiveType()); final int offset = encodingToken.offset(); final String byteOrderStr = byteOrderString(encoding); return String.format( "\n" + indent + " public %s %s()\n" + indent + " {\n" + "%s" + indent + " return %s;\n" + indent + " }\n\n", javaTypeName, formatPropertyName(propertyName), generateFieldNotPresentCondition(inComposite, propertyToken.version(), encoding, indent), generateGet(encoding.primitiveType(), "offset + " + offset, byteOrderStr)); }
generatePropertyNotPresentCondition(inComposite, DECODER, fieldToken, enumName, indent), enumName, generateGet(encoding.primitiveType(), "offset + " + typeToken.offset(), byteOrderString(encoding)));
offset, typeSize, generateGet(encoding.primitiveType(), "pos", byteOrderStr)));
private void generateVarDataWrapDecoder( final StringBuilder sb, final Token token, final String propertyName, final int sizeOfLengthField, final PrimitiveType lengthType, final String byteOrderStr, final String indent) { sb.append(String.format("\n" + indent + " public void wrap%s(final %s wrapBuffer)\n" + indent + " {\n" + "%s" + indent + " final int headerLength = %d;\n" + indent + " final int limit = parentMessage.limit();\n" + indent + " final int dataLength = (int)%s;\n" + indent + " parentMessage.limit(limit + headerLength + dataLength);\n" + indent + " wrapBuffer.wrap(buffer, limit + headerLength, dataLength);\n" + indent + " }\n", propertyName, readOnlyBuffer, generateVarWrapFieldNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr))); }
private void generateVarDataWrapDecoder( final StringBuilder sb, final Token token, final String propertyName, final int sizeOfLengthField, final PrimitiveType lengthType, final String byteOrderStr, final String indent) { sb.append(String.format("\n" + indent + " public void wrap%s(final %s wrapBuffer)\n" + indent + " {\n" + "%s" + indent + " final int headerLength = %d;\n" + indent + " final int limit = parentMessage.limit();\n" + indent + " final int dataLength = (int)%s;\n" + indent + " parentMessage.limit(limit + headerLength + dataLength);\n" + indent + " wrapBuffer.wrap(buffer, limit + headerLength, dataLength);\n" + indent + " }\n", propertyName, readOnlyBuffer, generateVarWrapFieldNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr))); }
private void generateVarDataTypedDecoder( final StringBuilder sb, final Token token, final String propertyName, final int sizeOfLengthField, final String exchangeType, final PrimitiveType lengthType, final String byteOrderStr, final String indent) { sb.append(String.format("\n" + indent + " public int get%s(final %s dst, final int dstOffset, final int length)\n" + indent + " {\n" + "%s" + indent + " final int headerLength = %d;\n" + indent + " final int limit = parentMessage.limit();\n" + indent + " final int dataLength = (int)%s;\n" + indent + " final int bytesCopied = Math.min(length, dataLength);\n" + indent + " parentMessage.limit(limit + headerLength + dataLength);\n" + indent + " buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);\n\n" + indent + " return bytesCopied;\n" + indent + " }\n", propertyName, exchangeType, generateArrayFieldNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr))); }
private void generateVarDataTypedDecoder( final StringBuilder sb, final Token token, final String propertyName, final int sizeOfLengthField, final String exchangeType, final PrimitiveType lengthType, final String byteOrderStr, final String indent) { sb.append(String.format("\n" + indent + " public int get%s(final %s dst, final int dstOffset, final int length)\n" + indent + " {\n" + "%s" + indent + " final int headerLength = %d;\n" + indent + " final int limit = parentMessage.limit();\n" + indent + " final int dataLength = (int)%s;\n" + indent + " final int bytesCopied = Math.min(length, dataLength);\n" + indent + " parentMessage.limit(limit + headerLength + dataLength);\n" + indent + " buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied);\n\n" + indent + " return bytesCopied;\n" + indent + " }\n", propertyName, exchangeType, generateArrayFieldNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr))); }
final String blockLengthGet = generateGet( blockLengthType, blockLengthOffset, byteOrderString(blockLengthToken.encoding())); final String numInGroupGet = generateGet( numInGroupType, numInGroupOffset, byteOrderString(numInGroupToken.encoding()));
generateStringNotPresentCondition(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr), characterEncoding)); generateStringNotPresentConditionForAppendable(token.version(), indent), sizeOfLengthField, generateGet(lengthType, "limit", byteOrderStr), byteOrderStr));
Generators.toLowerFirstChar(propertyName), generateArrayFieldNotPresentCondition(token.version(), indent), generateGet(lengthType, "limit", byteOrderStr)));
Generators.toLowerFirstChar(propertyName), generateArrayFieldNotPresentCondition(token.version(), indent), generateGet(lengthType, "limit", byteOrderStr)));
private CharSequence generatePrimitivePropertyDecode( final boolean inComposite, final String propertyName, final Token propertyToken, final Token encodingToken, final String indent) { final Encoding encoding = encodingToken.encoding(); final String javaTypeName = javaTypeName(encoding.primitiveType()); final int offset = encodingToken.offset(); final String byteOrderStr = byteOrderString(encoding); return String.format( "\n" + indent + " public %s %s()\n" + indent + " {\n" + "%s" + indent + " return %s;\n" + indent + " }\n\n", javaTypeName, formatPropertyName(propertyName), generateFieldNotPresentCondition(inComposite, propertyToken.version(), encoding, indent), generateGet(encoding.primitiveType(), "offset + " + offset, byteOrderStr)); }
private CharSequence generatePrimitivePropertyDecode( final boolean inComposite, final String propertyName, final Token propertyToken, final Token encodingToken, final String indent) { final Encoding encoding = encodingToken.encoding(); final String javaTypeName = javaTypeName(encoding.primitiveType()); final int offset = encodingToken.offset(); final String byteOrderStr = byteOrderString(encoding); return String.format( "\n" + indent + " public %s %s()\n" + indent + " {\n" + "%s" + indent + " return %s;\n" + indent + " }\n\n", javaTypeName, formatPropertyName(propertyName), generateFieldNotPresentCondition(inComposite, propertyToken.version(), encoding, indent), generateGet(encoding.primitiveType(), "offset + " + offset, byteOrderStr)); }
generatePropertyNotPresentCondition(inComposite, DECODER, fieldToken, enumName, indent), enumName, generateGet(encoding.primitiveType(), "offset + " + typeToken.offset(), byteOrderString(encoding)));
generatePropertyNotPresentCondition(inComposite, DECODER, fieldToken, enumName, indent), enumName, generateGet(encoding.primitiveType(), "offset + " + typeToken.offset(), byteOrderString(encoding)));