package edu.stanford.rt.datatype; import java.util.*; /** * @author Ninghui Li, Sandra Qiu
* * Implementation of TreeValue element. * */ public class TreeValue implements DataValue { private ArrayList value; private TreeType type; /** * Constructor for TreeValue */ public TreeValue(TreeType type, List v) throws IllegalArgumentException { this.type = type; if(v == null || v.size() ==0) throw new IllegalArgumentException("Empty tree value"); value = new ArrayList(); Iterator it = v.iterator(); while(it.hasNext()) { String val = (String)it.next(); value.add(val); } } /** * Method getValue. * returns an unmodifiable view of value part list. * @return List */ public List getValue() { return Collections.unmodifiableList(value); } /* (non-Javadoc) * @see java.lang.Object#toString() */ public String toString() { StringBuffer sb = new StringBuffer(); String separator = type.getSeparator(); boolean rootFirst = type.isRootFirst(); int size = value.size(); if(rootFirst) { for(int i=0; i=0; i--) { String val = (String)value.get(i); sb.append(val); if(i != 0) sb.append(separator); } } return sb.toString(); } }