franta-hg@43: /** franta-hg@43: * Alt2XML franta-hg@43: * Copyright © 2014 František Kučera (frantovo.cz) franta-hg@43: * franta-hg@43: * This program is free software: you can redistribute it and/or modify franta-hg@43: * it under the terms of the GNU General Public License as published by franta-hg@111: * the Free Software Foundation, version 3 of the License. franta-hg@43: * franta-hg@43: * This program is distributed in the hope that it will be useful, franta-hg@43: * but WITHOUT ANY WARRANTY; without even the implied warranty of franta-hg@43: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the franta-hg@43: * GNU General Public License for more details. franta-hg@43: * franta-hg@43: * You should have received a copy of the GNU General Public License franta-hg@43: * along with this program. If not, see . franta-hg@43: */ franta-hg@43: package cz.frantovo.alt2xml.out; franta-hg@43: franta-hg@43: /** franta-hg@43: * Interface of an output module. franta-hg@43: * Modules are discovered over META-INF/services. franta-hg@43: * Must have non-parametric constructor. franta-hg@43: * Should be lightweight – use lazy initialization franta-hg@43: * (all factories are instantiated, even if not used). franta-hg@43: * franta-hg@43: * @author Ing. František Kučera (frantovo.cz) franta-hg@43: */ franta-hg@43: public interface ActionFactory { franta-hg@43: franta-hg@43: /** franta-hg@43: * @return short code/name for this action – is used on command line to say, which action should franta-hg@43: * be executed. franta-hg@43: */ franta-hg@43: public String getActionCode(); franta-hg@43: franta-hg@43: public Action getAction(ActionContext context) throws OutputActionException; franta-hg@43: franta-hg@43: }