OMAScalar.java revision af955ffa0082189fb688429732427c333f2491ce
1package com.android.server.wifi.hotspot2.omadm; 2 3import android.util.Log; 4 5import java.io.IOException; 6import java.io.OutputStream; 7import java.util.Collection; 8import java.util.Iterator; 9 10public class OMAScalar extends OMANode { 11 private final String mValue; 12 13 public OMAScalar(OMANode parent, String name, String context, String value) { 14 super(parent, name, context); 15 mValue = value; 16 } 17 18 public String getScalarValue(Iterator<String> path) throws OMAException { 19 return mValue; 20 } 21 22 @Override 23 public OMAConstructed getListValue(Iterator<String> path) throws OMAException { 24 throw new OMAException("Scalar encountered in list path: " + getPathString()); 25 } 26 27 @Override 28 public boolean isLeaf() { 29 return true; 30 } 31 32 @Override 33 public Collection<OMANode> getChildren() { 34 throw new UnsupportedOperationException(); 35 } 36 37 @Override 38 public String getValue() { 39 return mValue; 40 } 41 42 @Override 43 public OMANode getChild(String name) { 44 throw new UnsupportedOperationException(); 45 } 46 47 @Override 48 public OMANode addChild(String name, String context, String value, String path) 49 throws IOException { 50 throw new UnsupportedOperationException(); 51 } 52 53 @Override 54 public void toString(StringBuilder sb, int level) { 55 sb.append(getPathString()).append('=').append(mValue); 56 if (getContext() != null) { 57 sb.append(" (").append(getContext()).append(')'); 58 } 59 sb.append('\n'); 60 } 61 62 @Override 63 public void marshal(OutputStream out, int level) throws IOException { 64 Log.d("PARSE-LOG", "Node " + getName() + " has value " + getValue()); 65 66 OMAConstants.indent(level, out); 67 OMAConstants.serializeString(getName(), out); 68 out.write((byte) '='); 69 OMAConstants.serializeString(getValue(), out); 70 out.write((byte) '\n'); 71 } 72} 73