/* * [Script.java] * * Summary: base class for user-written search/replace Script. * * Copyright: (c) 2014-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 1.0 2014-12-29 initial version */ package com.mindprod.rep; import com.mindprod.commandline.CommandLine; import com.mindprod.filter.AllButSVNDirectoriesFilter; import com.mindprod.filter.ExtensionListFilter; import java.io.File; /** * base class for user-written search/replace Script. * * @author Roedy Green, Canadian Mind Products * @version 1.0 2014-12-29 initial version * @since 2014-12-29 */ public abstract class Script { // methods /** * get files to process. This is a default implementation that looks on the command line * * @param args arguments on the command line (not including the name of the Script class) * * @return List of files to process. */ public Iterable allFilesToProcess( String[] args ) { return new CommandLine( args, new AllButSVNDirectoriesFilter(), new ExtensionListFilter( ExtensionListFilter.COMMON_TEXT_EXTENSIONS ) ); } // /method /** * get an iterable list of the Search/Replace script items to apply to each file. * * @return complete iterable script of ScriptItems. */ public abstract Iterable allScriptItems(); // /method // /methods }