Package etch.util.core.xml.XmlParser

Examples of etch.util.core.xml.XmlParser.TagElement


  }

  public void startStruct( StructValue struct )
  {
    // the caller has already created an element tag for us.
    TagElement te = stack.peek();
    te.setAttr( null, STRUCT_TYPE_ATTR, struct.type().getId() );
  }
View Full Code Here


    // stack.pop();
  }

  public void writeStructElement( Field key, Object value ) throws IOException
  {
    TagElement te = stack.peek().addTag( ELEMENT_TAG );
    te.setAttr( null, KEY_ATTR, key.getId() );
    stack.push( te );
    writeValue( value );
    stack.pop();
  }
View Full Code Here

    stack.pop();
  }

  public void writeArrayElement( Object value ) throws IOException
  {
    TagElement te = stack.peek().addTag( ELEMENT_TAG );
    stack.push( te );
    writeValue( value );
    stack.pop();
  }
View Full Code Here

  @SuppressWarnings("deprecation")
  private void writeValue( Object value ) throws IOException
  {
    // the caller has already created an element for us.
   
    TagElement te = stack.peek();
   
    int type = checkValue( value );
   
    switch (type)
    {
      case TypeCode.NULL:
      {
        te.setAttr( null, ELEMENT_TYPE_ATTR, NULL_TYPE );
        break;
      }
     
      case TypeCode.BOOLEAN_FALSE:
      case TypeCode.BOOLEAN_TRUE:
      {
        te.setAttr( null, ELEMENT_TYPE_ATTR, BOOLEAN_TYPE );
        te.addCdata( value.toString() );
        break;
      }
     
      case TypeCode.BYTE:
      case TypeCode.SHORT:
      case TypeCode.INT:
      {
        te.setAttr( null, ELEMENT_TYPE_ATTR, INTEGER_TYPE );
        te.addCdata( value.toString() );
        break;
      }
     
      case TypeCode.LONG:
      {
        te.setAttr( null, ELEMENT_TYPE_ATTR, LONG_TYPE );
        te.addCdata( value.toString() );
        break;
      }
     
      case TypeCode.FLOAT:
      {
        te.setAttr( null, ELEMENT_TYPE_ATTR, FLOAT_TYPE );
        te.addCdata( value.toString() );
        break;
      }
     
      case TypeCode.DOUBLE:
      {
        te.setAttr( null, ELEMENT_TYPE_ATTR, DOUBLE_TYPE );
        te.addCdata( value.toString() );
        break;
      }
     
      case TypeCode.BYTES:
      {
        byte[] b = (byte[]) value;
        te.setAttr( null, ELEMENT_TYPE_ATTR, BYTES_TYPE );
        te.addCdata( bytes2string( b ) );
        break;
      }
     
      case TypeCode.EMPTY_STRING:
      case TypeCode.STRING:
      {
        String s = (String) value;
        te.setAttr( null, ELEMENT_TYPE_ATTR, STRING_TYPE );
        te.addCdata( s );
        break;
      }
     
      case TypeCode.ARRAY:
        te.setAttr( null, ELEMENT_TYPE_ATTR, ARRAY_TYPE );
        if (value instanceof ArrayValue)
          writeArray( (ArrayValue) value, null );
        else
          writeArray( toArrayValue( value, null ), null );
        break;
       
      case TypeCode.STRUCT:
      case TypeCode.CUSTOM:
      {
        StructValue struct = vf.exportCustomValue( value );
       
        if (struct == null)
          throw new UnsupportedOperationException( "unsupported type "+value.getClass() );
       
        te.setAttr( null, ELEMENT_TYPE_ATTR, CUSTOM_TYPE );
        writeStruct( struct );
        break;
      }
     
      default:
View Full Code Here

TOP

Related Classes of etch.util.core.xml.XmlParser.TagElement

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.