1 package Analysis.TaskStateAnalysis;
2 import Analysis.TaskStateAnalysis.*;
10 public class FlagState
14 public FlagState(FlagDescriptor[] flags)
16 flagstate=new Hashtable(flags.length);
18 for (int i=0; i < flags.length; i++)
20 flagstate.put(flags[i],new Boolean(false));
25 public FlagState(Hashtable flagstate)
27 this.flagstate = new Hashtable(flagstate);
30 public Hashtable getStateTable()
35 public void put(FlagDescriptor fd, Boolean status)
37 flagstate.put(fd,status);
39 public boolean get(FlagDescriptor fd)
41 if (! flagstate.containsKey(fd))
47 return ((Boolean)(flagstate.get(fd))).booleanValue();
52 public String toString()
54 StringBuffer sb = new StringBuffer(flagstate.size());
55 Enumeration e = flagstate.keys();
57 while (e.hasMoreElements())
59 if (((Boolean)(flagstate.get((FlagDescriptor)e.nextElement()))).booleanValue())
64 return new String(sb);
67 public String toString(FlagDescriptor[] flags)
69 StringBuffer sb = new StringBuffer(flagstate.size());
73 for(int i=0;i < flags.length; i++)
77 while (e.hasMoreElements())
79 FlagDescriptor fdtemp=(FlagDescriptor)e.nextElement();
80 if( flags[i] == fdtemp)
82 if (((Boolean)(flagstate.get(fdtemp))).booleanValue())
89 return new String(sb);
92 public Enumeration getFlags()
94 return flagstate.keys();
97 public boolean isEqual(FlagState fs)
99 Enumeration en = fs.getFlags();
100 while(en.hasMoreElements())
103 FlagDescriptor flag=(FlagDescriptor)en.nextElement();
105 //System.out.println(flag.toString()+" "+fs.get(flag)+" "+this.get(flag));
106 if (fs.get(flag) != this.get(flag))