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 }