1 package Analysis.TaskStateAnalysis;
2 import Analysis.TaskStateAnalysis.*;
12 public class FlagState
16 public FlagState(FlagDescriptor[] flags)
18 flagstate=new Hashtable(flags.length);
20 for (int i=0; i < flags.length; i++)
22 flagstate.put(flags[i],new Boolean(false));
27 public FlagState(Hashtable flagstate)
29 this.flagstate = new Hashtable(flagstate);
32 public Hashtable getStateTable()
37 public void put(FlagDescriptor fd, Boolean status)
39 flagstate.put(fd,status);
41 public boolean get(FlagDescriptor fd)
43 if (! flagstate.containsKey(fd))
49 return ((Boolean)(flagstate.get(fd))).booleanValue();
54 public String toString()
56 StringBuffer sb = new StringBuffer(flagstate.size());
57 Enumeration e = flagstate.keys();
59 while (e.hasMoreElements())
61 if (((Boolean)(flagstate.get((FlagDescriptor)e.nextElement()))).booleanValue())
66 return new String(sb);
69 public String toString(FlagDescriptor[] flags)
71 StringBuffer sb = new StringBuffer(flagstate.size());
75 for(int i=0;i < flags.length; i++)
79 while (e.hasMoreElements())
81 FlagDescriptor fdtemp=(FlagDescriptor)e.nextElement();
82 if( flags[i] == fdtemp)
84 if (((Boolean)(flagstate.get(fdtemp))).booleanValue())
91 return new String(sb);
94 public Enumeration getFlags()
96 return flagstate.keys();
99 public boolean isEqual(FlagState fs)
101 Enumeration en = fs.getFlags();
102 while(en.hasMoreElements())
105 FlagDescriptor flag=(FlagDescriptor)en.nextElement();
107 //System.out.println(flag.toString()+" "+fs.get(flag)+" "+this.get(flag));
108 if (fs.get(flag) != this.get(flag))