001 package toolbus; 002 003 import java.util.Iterator; 004 import java.util.LinkedList; 005 import java.util.List; 006 007 import toolbus.atom.Atom; 008 009 public class AtomList implements Iterable<Atom>{ 010 private final List<Atom> elements; 011 012 public AtomList(){ 013 elements = new LinkedList<Atom>(); 014 } 015 016 public AtomList(Atom a){ 017 elements = new LinkedList<Atom>(); 018 elements.add(a); 019 } 020 021 private void addAll(AtomList atomList){ 022 elements.addAll(atomList.elements); 023 } 024 025 public AtomList union(AtomList atomList){ 026 AtomList r = new AtomList(); 027 028 r.addAll(this); 029 r.addAll(atomList); 030 031 return r; 032 } 033 034 public Iterator<Atom> iterator(){ 035 return elements.iterator(); 036 } 037 038 public int size(){ 039 return elements.size(); 040 } 041 042 public String toString(){ 043 String sep = ""; 044 045 String s = "{"; 046 047 Iterator<Atom> elementsIterator = elements.iterator(); 048 while(elementsIterator.hasNext()){ 049 Atom a = elementsIterator.next(); 050 051 s += sep + a.toString(); 052 sep = ", "; 053 } 054 s += "}"; 055 056 return s; 057 } 058 }