Package org.codehaus.jam

Examples of org.codehaus.jam.JClass


    }

    protected boolean implementsInterface(JClass type, Class interfaceClass) {
        JClass[] interfaces = type.getInterfaces();
        for (int i = 0; i < interfaces.length; i++) {
            JClass anInterface = interfaces[i];
            if (anInterface.getQualifiedName().equals(interfaceClass.getName())) {
                return true;
            }
        }
        JClass superclass = type.getSuperclass();
        if (superclass == null || superclass == type) {
            return false;
        }
        else {
            return implementsInterface(superclass, interfaceClass);
View Full Code Here


            out.println("info." + setter + "( (" + type + ") unmarshalNestedObject(wireFormat, dataIn, bs) );");
        }
    }

    protected void generateUnmarshalBodyForArrayProperty(PrintWriter out, JProperty property, JAnnotationValue size) {
        JClass propertyType = property.getType();
        String arrayType = propertyType.getArrayComponentType().getSimpleName();
        String setter = property.getGetter().getSimpleName();
        out.println();
        if (size != null) {
            out.println("    {");
            out.println("        " + arrayType + "[] value = new " + arrayType + "[" + size.asInt() + "];");
View Full Code Here

        int baseSize = 0;
        for (Iterator iter = properties.iterator(); iter.hasNext();) {
            JProperty property = (JProperty) iter.next();
            JAnnotation annotation = property.getAnnotation("openwire:property");
            JAnnotationValue size = annotation.getValue("size");
            JClass propertyType = property.getType();
            String type = propertyType.getSimpleName();
            String getter = "info." + property.getGetter().getSimpleName() + "()";

            out.print(indent);
            if (type.equals("boolean")) {
                out.println("bs.writeBoolean(" + getter + ");");
            }
            else if (type.equals("byte")) {
                baseSize += 1;
            }
            else if (type.equals("char")) {
                baseSize += 1;
            }
            else if (type.equals("short")) {
                baseSize += 1;
            }
            else if (type.equals("int")) {
                baseSize += 1;
            }
            else if (type.equals("long")) {
                out.println("rc += marshal1Long(wireFormat, " + getter + ", bs);");
            }
            else if (type.equals("String")) {
                out.println("rc += writeString(" + getter + ", bs);");
            }
            else if (type.equals("byte[]") || type.equals("ByteSequence")) {
                if (size == null) {
                    out.println("bs.writeBoolean(" + getter + "!=null);");
                    out.println("    rc += " + getter + "==null ? 0 : " + getter + ".Length+4;");
                }
                else {
                    baseSize += size.asInt();
                }
            }
            else if (propertyType.isArrayType()) {
                if (size != null) {
                    out.println("rc += marshalObjectArrayConstSize(wireFormat, " + getter + ", bs, " + size.asInt() + ");");
                }
                else {
                    out.println("rc += marshalObjectArray(wireFormat, " + getter + ", bs);");
View Full Code Here

        List properties = getProperties();
        for (Iterator iter = properties.iterator(); iter.hasNext();) {
            JProperty property = (JProperty) iter.next();
            JAnnotation annotation = property.getAnnotation("openwire:property");
            JAnnotationValue size = annotation.getValue("size");
            JClass propertyType = property.getType();
            String type = propertyType.getSimpleName();
            String getter = "info." + property.getGetter().getSimpleName() + "()";

            out.print(indent);
            if (type.equals("boolean")) {
                out.println("bs.readBoolean();");
            }
            else if (type.equals("byte")) {
                out.println("DataStreamMarshaller.writeByte(" + getter + ", dataOut);");
            }
            else if (type.equals("char")) {
                out.println("DataStreamMarshaller.writeChar(" + getter + ", dataOut);");
            }
            else if (type.equals("short")) {
                out.println("DataStreamMarshaller.writeShort(" + getter + ", dataOut);");
            }
            else if (type.equals("int")) {
                out.println("DataStreamMarshaller.writeInt(" + getter + ", dataOut);");
            }
            else if (type.equals("long")) {
                out.println("marshal2Long(wireFormat, " + getter + ", dataOut, bs);");
            }
            else if (type.equals("String")) {
                out.println("writeString(" + getter + ", dataOut, bs);");
            }
            else if (type.equals("byte[]") || type.equals("ByteSequence")) {
                if (size != null) {
                    out.println("dataOut.write(" + getter + ", 0, " + size.asInt() + ");");
                }
                else {
                    out.println("if(bs.readBoolean()) {");
                    out.println("       DataStreamMarshaller.writeInt(" + getter + ".Length, dataOut);");
                    out.println("       dataOut.write(" + getter + ");");
                    out.println("    }");
                }
            }
            else if (propertyType.isArrayType()) {
                if (size != null) {
                    out.println("marshalObjectArrayConstSize(wireFormat, " + getter + ", dataOut, bs, " + size.asInt() + ");");
                }
                else {
                    out.println("marshalObjectArray(wireFormat, " + getter + ", dataOut, bs);");
View Full Code Here

out.println("");

    List list = new ArrayList(getConcreteClasses());
    Collections.sort(list, new Comparator(){
      public int compare(Object o1, Object o2) {
        JClass c1 = (JClass) o1;
        JClass c2 = (JClass) o2;
        return c1.getSimpleName().compareTo(c2.getSimpleName());
      }});
   
    for (Iterator iter = list.iterator(); iter.hasNext();) {
      JClass jclass = (JClass) iter.next();
out.println("#include \"marshal/"+jclass.getSimpleName()+"Marshaller.hpp\"");
      }       

out.println("");
out.println("");
out.println("using namespace apache::activemq::client::marshal;");
out.println("");
out.println("");
out.println("void MarshallerFactory::configure(ProtocolFormat& format) ");
out.println("{");

    for (Iterator iter = list.iterator(); iter.hasNext();) {
      JClass jclass = (JClass) iter.next();
out.println("    format.addMarshaller(new "+jclass.getSimpleName()+"Marshaller());");
      }       

out.println("");
out.println("}");
View Full Code Here

            !property.getType().getSimpleName().equals("ByteSequence") )
        {
            String includeName = toCppType(property.getType());
            if( property.getType().isArrayType() )
            {
                JClass arrayType = property.getType().getArrayComponentType();
                if( arrayType.isPrimitiveType() )
                    continue ;
            }
            if( includeName.startsWith("array<") )
                includeName = includeName.substring(6, includeName.length()-1);
            else if( includeName.startsWith("p<") )
View Full Code Here

out.println("");
out.println("");
    for (int i = 0; i < getJclass().getImportedPackages().length; i++) {
      JPackage pkg = getJclass().getImportedPackages()[i];
      for (int j = 0; j < pkg.getClasses().length; j++) {
        JClass clazz = pkg.getClasses()[j];
out.println("import " + clazz.getQualifiedName() + ";");
      }
    }

out.println("");
out.println("/**");
 
View Full Code Here

out.println("");

    List list = new ArrayList(getConcreteClasses());
    Collections.sort(list, new Comparator(){
      public int compare(Object o1, Object o2) {
        JClass c1 = (JClass) o1;
        JClass c2 = (JClass) o2;
        return c1.getSimpleName().compareTo(c2.getSimpleName());
      }});
   
    for (Iterator iter = list.iterator(); iter.hasNext();) {
      JClass jclass = (JClass) iter.next();
out.println("        add(new " + jclass.getSimpleName() + "Marshaller());");
    }

out.println("");
out.println("    }");
out.println("");
View Full Code Here

    return super.getClassName(jclass) + "Marshaller";
  }

  protected String getBaseClassName(JClass jclass) {
    String answer = "BaseDataStreamMarshaller";
    JClass superclass = jclass.getSuperclass();
    if (superclass != null) {
      String superName = superclass.getSimpleName();
      if (!superName.equals("Object") && !superName.equals("JNDIBaseStorable") && !superName.equals("DataStructureSupport")) {
        answer = superName + "Marshaller";
      }
    }
    return answer;
View Full Code Here

    List properties = getProperties();
    for (Iterator iter = properties.iterator(); iter.hasNext();) {
      JProperty property = (JProperty) iter.next();
      JAnnotation annotation = property.getAnnotation("openwire:property");
      JAnnotationValue size = annotation.getValue("size");
      JClass propertyType = property.getType();
      String propertyTypeName = propertyType.getSimpleName();

      if (propertyType.isArrayType() && !propertyTypeName.equals("byte[]")) {
        generateTightUnmarshalBodyForArrayProperty(out, property, size);
      } else {
        generateTightUnmarshalBodyForProperty(out, property, size);
      }
    }
View Full Code Here

TOP

Related Classes of org.codehaus.jam.JClass

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.