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