view src/plparser/DictProperty.java @ 14:1baccfe55597 default tip

pp fix
author one
date Fri, 03 Sep 2010 08:21:53 +0900
parents 79d492bce828
children
line wrap: on
line source

package plparser;

import java.io.PrintStream;
import java.util.HashMap;
import java.util.LinkedList;

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++;
		}
	}

}