public void generateFactory()

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


    public void generateFactory(PrintWriter out) {
        generateLicence(out);
        out.println("/*");
        out.println(" *");
        out.println(" *  MarshallerFactory code for OpenWire Protocol Version "+getOpenwireVersion() );
        out.println(" *");
        out.println(" *  NOTE!: This file is auto generated - do not modify!");
        out.println(" *         if you need to make a change, please see the Java Classes");
        out.println(" *         in the nms-activemq-openwire-generator module");
        out.println(" *");
        out.println(" */");
        out.println("");
        out.println("namespace Apache.NMS.ActiveMQ.OpenWire.V" + getOpenwireVersion() + "");
        out.println("{");
        out.println("    /// <summary>");
        out.println("    ///  Used to create marshallers for a specific version of the OpenWire protocol.");
        out.println("    ///  Each non-abstract DataStructure object has a registered Marshaller that is");
        out.println("    ///  created and added to the OpenWireFormat objects format collection.");
        out.println("    /// </summary>");
        out.println("    public class MarshallerFactory : IMarshallerFactory");
        out.println("    {");
        out.println("        /// <summery>");
        out.println("        ///  Adds the Marshallers for this version of the OpenWire protocol to the ");
        out.println("        ///  Collection of Marshallers stored in the OpenWireFormat class.");
        out.println("        /// </summery>");
        out.println("        public void configure(OpenWireFormat format) ");
        out.println("        {");
        out.println("            format.clearMarshallers();");

        List<JClass> list = new ArrayList<JClass>(getConcreteClasses());
        Collections.sort(list, new Comparator<JClass>() {
            public int compare(JClass o1, JClass o2) {
                return o1.getSimpleName().compareTo(o2.getSimpleName());
            }
        });

        for( JClass jclass : list ) {
            out.println("            format.addMarshaller(new " + jclass.getSimpleName() + "Marshaller());");
        }

        out.println("        }");
        out.println("    }");
        out.println("}");
    }