1 /* 2 * Copyright (c) 2003-2008, by Henrik Arro and Contributors 3 * 4 * This file is part of JSeq, a tool to automatically create 5 * sequence diagrams by tracing program execution. 6 * 7 * See <http://jseq.sourceforge.net> for more information. 8 * 9 * JSeq is free software: you can redistribute it and/or modify 10 * it under the terms of the GNU Lesser General Public License as 11 * published by the Free Software Foundation, either version 3 of 12 * the License, or (at your option) any later version. 13 * 14 * JSeq is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public License 20 * along with JSeq. If not, see <http://www.gnu.org/licenses/>. 21 */ 22 23 package th.co.edge.jseq; 24 25 /** 26 * A <code>Formatter</code> can create a <code>Diagram</code> from a program 27 * trace, represented by an <code>ActivationList</code>. 28 */ 29 public interface Formatter { 30 31 /** 32 * Generates a <code>Diagram</code> from a program trace, represented by 33 * an <code>ActivationList</code> with the root activations. 34 * 35 * @param activationList 36 * a list with the root activations for which to create a 37 * sequence diagram 38 * 39 * @return a <code>Diagram</code> representing the given 40 * <code>ActivationList</code> 41 * 42 * @throws FormatException 43 * if the <code>Diagram</code> could not be created 44 */ 45 public Diagram format(ActivationList activationList) throws FormatException; 46 }