001 package org.maltparser.core.propagation;
002
003 import java.util.ArrayList;
004
005 import org.maltparser.core.exception.MaltChainedException;
006 import org.maltparser.core.io.dataformat.DataFormatInstance;
007 import org.maltparser.core.propagation.spec.PropagationSpec;
008 import org.maltparser.core.propagation.spec.PropagationSpecs;
009 import org.maltparser.core.symbol.SymbolTableHandler;
010 import org.maltparser.core.syntaxgraph.edge.Edge;
011
012 public class Propagations {
013 private ArrayList<Propagation> propagations;
014
015
016 public Propagations(PropagationSpecs specs,DataFormatInstance dataFormatInstance) throws MaltChainedException {
017 propagations = new ArrayList<Propagation>(specs.size());
018 for (PropagationSpec spec : specs) {
019 propagations.add(new Propagation(spec, dataFormatInstance));
020 }
021 }
022
023 public void propagate(Edge e) throws MaltChainedException {
024 for (Propagation propagation : propagations) {
025 propagation.propagate(e);
026 }
027 }
028
029
030
031 public ArrayList<Propagation> getPropagations() {
032 return propagations;
033 }
034
035 @Override
036 public String toString() {
037 return "Propagations [propagations=" + propagations + "]";
038 }
039
040
041 }