示例#1
0
  public static Element getAtomicSoundComponentElement(
      Document doc,
      AtomicSoundComponent atomicSoundComponent,
      String elementName,
      int componentCounter) {

    Element atomicSoundComponentElement = doc.createElement(elementName);
    atomicSoundComponentElement.setAttribute("Type", atomicSoundComponent.getType());
    atomicSoundComponentElement.setAttribute("Name", atomicSoundComponent.getName());
    atomicSoundComponentElement.setAttribute("Id", Integer.toString(componentCounter));

    Element properties = doc.createElement("Properties");
    // integer properties
    for (int i = 0; i < atomicSoundComponent.getIntegerProperties().size(); i++) {
      Element integerProperty = doc.createElement("IntProperty");
      integerProperty.setAttribute(
          "Name", atomicSoundComponent.getIntegerProperties().get(i).getKey().toString());
      integerProperty.setAttribute(
          "Value", atomicSoundComponent.getIntegerProperties().get(i).getValue().toString());
      properties.appendChild(integerProperty);
    }

    // float properties
    for (int i = 0; i < atomicSoundComponent.getFloatProperties().size(); i++) {
      Element floatProperty = doc.createElement("FloatProperty");
      floatProperty.setAttribute(
          "Name", atomicSoundComponent.getFloatProperties().get(i).getKey().toString());
      floatProperty.setAttribute(
          "Value", atomicSoundComponent.getFloatProperties().get(i).getValue().toString());
      properties.appendChild(floatProperty);
    }

    // boolean properties
    for (int i = 0; i < atomicSoundComponent.getBooleanProperties().size(); i++) {
      Element booleanProperty = doc.createElement("BoolProperty");
      booleanProperty.setAttribute(
          "Name", atomicSoundComponent.getBooleanProperties().get(i).getKey().toString());
      booleanProperty.setAttribute(
          "Value", atomicSoundComponent.getBooleanProperties().get(i).getValue().toString());
      properties.appendChild(booleanProperty);
    }

    // user string properties
    for (int i = 0; i < atomicSoundComponent.getUserStringProperties().size(); i++) {
      Element userStringProperty = doc.createElement("UserStringProperty");
      userStringProperty.setAttribute(
          "Name", atomicSoundComponent.getUserStringProperties().get(i).getKey().toString());
      userStringProperty.setAttribute(
          "Value", atomicSoundComponent.getUserStringProperties().get(i).getValue().toString());
      properties.appendChild(userStringProperty);
    }

    // string property - impl type
    for (int i = 0; i < atomicSoundComponent.getStringProperties().size(); i++) {
      if (atomicSoundComponent.getStringProperties().get(i).getKey().equals("implType")) {
        Element stringProperty = doc.createElement("StringProperty");
        stringProperty.setAttribute(
            "Name", atomicSoundComponent.getStringProperties().get(i).getKey().toString());
        stringProperty.setAttribute(
            "Value", atomicSoundComponent.getStringProperties().get(i).getValue().toString());
        properties.appendChild(stringProperty);
      }
    }
    atomicSoundComponentElement.appendChild(properties);

    return atomicSoundComponentElement;
  }