Package org.destecs.tools.jprotocolgenerator.ast

Examples of org.destecs.tools.jprotocolgenerator.ast.MapType


    sb.append(m.name);
    sb.append("(");

    Parameter p1 = m.parameters.get(0);

    MapType type = (MapType) p1.type;

    Map<String, ClassDefinition> structs = new Hashtable<String, ClassDefinition>();

    for (String key : type.possibleEntries.keySet())
    {
      ITypeNode t = type.possibleEntries.get(key);
      if ((t instanceof ListType
          && ((ListType) t).type instanceof MapType || t instanceof MapType))
      {

        ClassDefinition pClass = new ClassDefinition();
        pClass.setName(m.name + key + "StructParam");
        pClass.packageName = structPackageName;
        pClass.imports.add(new Type(Map.class));
        pClass.imports.add(new Type(List.class));
        pClass.implemented.add(stryctInterface);
        defs.add(pClass);
        structs.put(key, pClass);
        MapType mType = null;
        if (t instanceof ListType)
        {
          mType = (MapType) ((ListType) t).type;
        } else
        {
          mType = (MapType) t;
        }
        defs.addAll(generateStructs(pClass, structPackageName, mType));

        if (t instanceof ListType)
        {
          sb.append("List<" + pClass.getName() + ">");
        } else
        {

          sb.append(pClass.getName());
        }
      } else
      {

        sb.append(type.possibleEntries.get(key).toSource());
      }
      sb.append(" ");
      sb.append(key);
      sb.append(",");
    }
    if (type.possibleEntries.size() > 0)
    {
      sb.deleteCharAt(sb.length() - 1);
    }

    sb.append(")");

    if (!m.throwsTypes.isEmpty())
    {
      sb.append(m.getThrowsSourceSegment());
    }

    sb.append("\n\t{");

    sb.append("\n\t\t" + p1.type.toSource() + " data = new "
        + p1.type.toSource().replaceFirst("Map", "Hashtable") + "();");

    Integer pCount = 0;
    for (String key : type.possibleEntries.keySet())
    {

      if (structs.containsKey(key))
      {
        ITypeNode t = ((MapType) p1.type).valueType;
        if (t.getName().contains(Object.class.getSimpleName()))
        {
          t = new ListType(new Type(Object.class));
        }

        MapType mapt = ((MapType) p1.type);
        if (mapt.valueType instanceof ListType)
        {
          sb.append("\n\n\t\tList<"
              + ((ListType) mapt.valueType).type.toSource()
              + "> pTmp"
View Full Code Here


  private static ITypeNode getStructType(Element typeNode)
  {
    Assert.assertEquals(TAG_STRUCT, typeNode.getNodeName());

    StringBuilder sb = new StringBuilder();
    MapType mapType = new MapType();
    sb.append(Map.class.getSimpleName());
    sb.append("<");
    sb.append(String.class.getSimpleName());
    sb.append(",");
View Full Code Here

TOP

Related Classes of org.destecs.tools.jprotocolgenerator.ast.MapType

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.