001 package nl.cwi.sen1.modulemanager.model; 002 003 import java.util.HashMap; 004 import java.util.Iterator; 005 import java.util.Map; 006 007 import nl.cwi.sen1.moduleapi.Factory; 008 import nl.cwi.sen1.moduleapi.types.TableEntry; 009 import nl.cwi.sen1.moduleapi.types.TableEntryTable; 010 import aterm.ATerm; 011 012 public class AttributeTable { 013 private Map<ATerm, ATerm> entries; 014 015 private Factory factory; 016 017 public AttributeTable(Factory factory) { 018 this.factory = factory; 019 entries = new HashMap<ATerm, ATerm>(); 020 } 021 022 public void setEntry(ATerm key, ATerm value) { 023 entries.put(key, value); 024 } 025 026 public void addEntries(AttributeTable table) { 027 entries.putAll(table.entries); 028 } 029 030 public ATerm getValue(ATerm key) { 031 return entries.get(key); 032 } 033 034 public Map<ATerm, ATerm> getEntries() { 035 return entries; 036 } 037 038 public void deleteEntry(ATerm key) { 039 entries.remove(key); 040 } 041 042 public TableEntryTable getTableEntryTable() { 043 TableEntryTable table = factory.makeTableEntryTable(); 044 045 for (Iterator<ATerm> iter = entries.keySet().iterator(); iter.hasNext();) { 046 ATerm key = iter.next(); 047 ATerm value = getValue(key); 048 049 TableEntry entry = factory.makeTableEntry_TableEntry(key, value); 050 table = table.append(entry); 051 } 052 053 return table; 054 } 055 }