/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package helper; import java.io.Serializable; import java.util.LinkedList; import java.util.List; import javax.swing.AbstractListModel; /** * Diese Klasse stellt einen Auftrag dar, der aus mehreren Auftragspositionen besteht * @author jmueller */ public class Auftrag extends AbstractListModel implements Serializable { private List positionen; public Auftrag(){ this.positionen = new LinkedList(); } /** * gibt die Positionen zurück * @return die Auftragspositionen */ public List getPositionen() { return this.positionen; } public int getSize() { return this.positionen.size(); } public Object getElementAt(int arg0) { return this.positionen.get(arg0); } public void addPosition(int id, int anzahl){ this.addPosition(new AuftragsPosition(id, anzahl)); } public void addPosition(AuftragsPosition position){ this.positionen.add(position); this.fireIntervalAdded(position, this.positionen.size()-1, this.positionen.size()-1); } public void removePosition(AuftragsPosition position){ this.positionen.remove(position); this.fireIntervalRemoved(position, 0, this.positionen.size()); } public void positionChanged(AuftragsPosition position){ int index = this.positionen.indexOf(position); this.fireContentsChanged(position, index, index); } }