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 }