diff --git a/source/net/filebot/StandardRenameAction.java b/source/net/filebot/StandardRenameAction.java index b895110c..478f5154 100644 --- a/source/net/filebot/StandardRenameAction.java +++ b/source/net/filebot/StandardRenameAction.java @@ -1,5 +1,7 @@ package net.filebot; +import static java.util.Arrays.*; +import static java.util.stream.Collectors.*; import static net.filebot.UserFiles.*; import java.io.File; @@ -7,6 +9,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.LinkOption; import java.nio.file.attribute.BasicFileAttributes; +import java.util.List; import net.filebot.util.FileUtilities; @@ -163,12 +166,18 @@ public enum StandardRenameAction implements RenameAction { } } - public static StandardRenameAction forName(String action) { - for (StandardRenameAction it : values()) { - if (it.name().equalsIgnoreCase(action)) - return it; + public static List names() { + return stream(values()).map(Enum::name).collect(toList()); + } + + public static StandardRenameAction forName(String name) { + for (StandardRenameAction action : values()) { + if (action.name().equalsIgnoreCase(name)) { + return action; + } } - throw new IllegalArgumentException("Illegal rename action: " + action); + + throw new IllegalArgumentException(String.format("%s not in %s", name, names())); } public static File revert(File current, File original) throws IOException { diff --git a/source/net/filebot/cli/ConflictAction.java b/source/net/filebot/cli/ConflictAction.java index 0ebe1e91..ebf19d11 100644 --- a/source/net/filebot/cli/ConflictAction.java +++ b/source/net/filebot/cli/ConflictAction.java @@ -1,16 +1,26 @@ package net.filebot.cli; +import static java.util.Arrays.*; +import static java.util.stream.Collectors.*; + +import java.util.List; + public enum ConflictAction { SKIP, OVERRIDE, FAIL, AUTO, INDEX; - public static ConflictAction forName(String action) { - for (ConflictAction it : values()) { - if (it.name().equalsIgnoreCase(action)) - return it; + public static List names() { + return stream(values()).map(Enum::name).collect(toList()); + } + + public static ConflictAction forName(String name) { + for (ConflictAction action : values()) { + if (action.name().equalsIgnoreCase(name)) { + return action; + } } - throw new IllegalArgumentException("Illegal conflict action: " + action); + throw new IllegalArgumentException(String.format("%s not in %s", name, names())); } } diff --git a/source/net/filebot/subtitle/SubtitleNaming.java b/source/net/filebot/subtitle/SubtitleNaming.java index a323283d..593bc11b 100644 --- a/source/net/filebot/subtitle/SubtitleNaming.java +++ b/source/net/filebot/subtitle/SubtitleNaming.java @@ -1,8 +1,11 @@ package net.filebot.subtitle; +import static java.util.Arrays.*; +import static java.util.stream.Collectors.*; import static net.filebot.util.FileUtilities.*; import java.io.File; +import java.util.List; import net.filebot.web.SubtitleDescriptor; @@ -49,13 +52,18 @@ public enum SubtitleNaming { public abstract String format(File video, SubtitleDescriptor subtitle, String ext); - public static SubtitleNaming forName(String s) { - for (SubtitleNaming it : values()) { - if (it.name().equalsIgnoreCase(s) || it.toString().equalsIgnoreCase(s)) { - return it; + public static List names() { + return stream(values()).map(Enum::name).collect(toList()); + } + + public static SubtitleNaming forName(String name) { + for (SubtitleNaming naming : values()) { + if (naming.name().equalsIgnoreCase(name)) { + return naming; } } - return null; + + throw new IllegalArgumentException(String.format("%s not in %s", name, names())); } } diff --git a/source/net/filebot/vfs/ArchiveType.java b/source/net/filebot/vfs/ArchiveType.java index c16f2fd7..9e87f00e 100644 --- a/source/net/filebot/vfs/ArchiveType.java +++ b/source/net/filebot/vfs/ArchiveType.java @@ -1,8 +1,11 @@ package net.filebot.vfs; +import static java.util.Collections.*; +import static net.filebot.Logging.*; + import java.nio.ByteBuffer; -import java.util.Collections; import java.util.EnumSet; +import java.util.logging.Level; public enum ArchiveType { @@ -25,12 +28,12 @@ public enum ArchiveType { return files; } } catch (Exception e) { - // ignore + debug.log(Level.WARNING, e, e::toString); } } // cannot extract data, return empty archive - return Collections.emptySet(); + return emptySet(); } }, @@ -39,10 +42,12 @@ public enum ArchiveType { @Override public Iterable fromData(ByteBuffer data) { // cannot extract data, return empty archive - return Collections.emptySet(); + return emptySet(); } }; + public abstract Iterable fromData(ByteBuffer data); + public static ArchiveType forName(String name) { if (name == null) return UNDEFINED; @@ -53,6 +58,4 @@ public enum ArchiveType { return UNKOWN; } - public abstract Iterable fromData(ByteBuffer data); - } diff --git a/source/net/filebot/web/SortOrder.java b/source/net/filebot/web/SortOrder.java index dc340663..ed0a0e52 100644 --- a/source/net/filebot/web/SortOrder.java +++ b/source/net/filebot/web/SortOrder.java @@ -24,7 +24,7 @@ public enum SortOrder { } public static List names() { - return stream(values()).map(SortOrder::name).collect(toList()); + return stream(values()).map(Enum::name).collect(toList()); } public static SortOrder forName(String name) { diff --git a/source/net/filebot/web/SubtitleSearchResult.java b/source/net/filebot/web/SubtitleSearchResult.java index 343caec7..ff46f6bc 100644 --- a/source/net/filebot/web/SubtitleSearchResult.java +++ b/source/net/filebot/web/SubtitleSearchResult.java @@ -6,6 +6,7 @@ import java.util.Locale; public class SubtitleSearchResult extends Movie { public enum Kind { + Movie, Series, Other, Unkown; public static Kind forName(String s) {