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