Mercurial > hg > Members > kono > PLparser
view src/plparser/DictProperty.java @ 6:563bcb96e4fa
pretty printer
author | one |
---|---|
date | Mon, 30 Aug 2010 12:35:23 +0900 |
parents | 1f46c9d09c1e |
children | 79d492bce828 |
line wrap: on
line source
package plparser; import java.io.PrintStream; import java.util.HashMap; import java.util.LinkedList; import java.util.Set; public class DictProperty extends Property { HashMap<Property, Property> map; public DictProperty(LinkedList<Property> list) { map = new HashMap<Property, Property>(); while(!list.isEmpty()) { Property key = list.poll(); Property value = list.poll(); map.put(key, value); } } public String toString() { String s = "Dictionary{" ; for(Property p:map.keySet()) { s += p; s += "->"; s += map.get(p); s += ","; } s = s.substring(0, s.length()-1); s += "}"; return s; } public void pp(PrintStream out, int indent,int flag) { indent(out, indent,flag); out.print("Dict{"); int i = 0; int size = map.size(); flag = 0; for(Property p:map.keySet()) { p.pp(out,indent+indent_step,flag);out.print("->"); flag = 1; map.get(p).pp(out,indent+indent_step+2,0); if (i<size-1) out.println(","); else { if (size>1) indent(out,indent,1); out.print("}"); } i++; } } }