protected void generateTightUnmarshalBodyForArrayProperty()

in src/main/java/org/apache/activemq/nms/openwire/tool/marshalers/AmqCSharpMarshallersGenerator.java [503:529]


    protected void generateTightUnmarshalBodyForArrayProperty(PrintWriter out, JProperty property, JAnnotationValue size) {
        JClass propertyType = property.getType();
        String arrayType = propertyType.getArrayComponentType().getSimpleName();
        String propertyName = property.getSimpleName();
        out.println();
        if (size != null) {
            out.println("            {");
            out.println("                " + arrayType + "[] value = new " + arrayType + "[" + size.asInt() + "];");
            out.println("                " + "for( int i=0; i < " + size.asInt() + "; i++ ) {");
            out.println("                    value[i] = (" + arrayType + ") TightUnmarshalNestedObject(wireFormat,dataIn, bs);");
            out.println("                }");
            out.println("                info." + propertyName + " = value;");
            out.println("            }");
        } else {
            out.println("            if (bs.ReadBoolean()) {");
            out.println("                short size = dataIn.ReadInt16();");
            out.println("                " + arrayType + "[] value = new " + arrayType + "[size];");
            out.println("                for( int i=0; i < size; i++ ) {");
            out.println("                    value[i] = (" + arrayType + ") TightUnmarshalNestedObject(wireFormat,dataIn, bs);");
            out.println("                }");
            out.println("                info." + propertyName + " = value;");
            out.println("            }");
            out.println("            else {");
            out.println("                info." + propertyName + " = null;");
            out.println("            }");
        }
    }