/** * Create and return a List of Strings found in the PluginFile. * * @param pluginFile the pluginFile to be read * @return a List of Strings representing the lines of this file */ public static List<String> readPluginFile(final PluginFile pluginFile) throws PluginException { if (!pluginFile.exists() || pluginFile.isDirectory()) { throw PluginException.create(PluginException.Type.DOES_NOT_EXIST, pluginFile.getFilename()); } List<String> list; try { list = Files.readAllLines(pluginFile.toPath(), Plugin.CHARSET); } catch (IOException | SecurityException e) { throw PluginException.create( PluginException.Type.FILE_READ_ERROR, e, pluginFile.getFilename()); } return list; }
/** * Construct a <tt>Plugin</tt> from the given <tt>PluginFile</tt>. Plugins ignore comments, * book-end whitespace, and capitalization. * * @param pluginFile Plugin File to use * @throws PluginException if the plugin does not exist or is empty */ public Plugin(final PluginFile pluginFile) throws PluginException { this(readPluginFile(pluginFile), pluginFile.getFilename()); }