7 import mir.generator.*;
8 import mircoders.global.*;
9 import mircoders.localizer.*;
11 public abstract class FileOperationProducerNode implements ProducerNode {
14 public FileOperationProducerNode(String aFileName) {
18 protected abstract void perform(File aFile, Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure;
20 public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
21 String fileIdentifier;
24 fileIdentifier = ParameterExpander.expandExpression( aValueMap, fileName );
25 File file = new File(fileIdentifier);
27 perform(file, aValueMap, aVerb, aLogger);
30 aLogger.println("Error while performing file operation: " + t.getMessage());
32 throw new ProducerFailure(t.getMessage(), t);
36 public Set buildVerbSet() {