/** * Returns the type of the specified output. * * @param outputIdx The output index. * @return Class Object representing the {@code NemaFileType} that should be used to read the * output file. */ public Class<? extends NemaFileType> getOutputType(int outputIdx) { FileCommandArgument arg = outputs.get(outputIdx); if (arg == null) { return null; } return arg.getFileType(); }
/** * Returns any file type properties of the output file. These are may be used to specify arguments * to the file type, such notifying the classification file type that it is reading a particular * metadata type. * * @param outputIdx The output index. * @return Map with key value pairs defining the properties. */ public Map<String, String> getOutputProperties(int outputIdx) { FileCommandArgument arg = outputs.get(outputIdx); if (arg == null) { return null; } return arg.getProperties(); }
/** * Set the list of argument components. * * @param arguments the list of argument components to set. */ public void setArguments(List<CommandArgument> arguments) { this.arguments = arguments; for (Iterator iterator = arguments.iterator(); iterator.hasNext(); ) { CommandArgument commandArgument = (CommandArgument) iterator.next(); if (commandArgument.getClass().equals(FileCommandArgument.class)) { FileCommandArgument fileArg = (FileCommandArgument) commandArgument; if (fileArg.isOutput()) { this.outputs.put(fileArg.ioIndex, fileArg); } else { this.inputs.put(fileArg.ioIndex, fileArg); } } } }