Updated copyright and license.
[meviz.git] / src / main / java / eu / svjatoslav / meviz / encoder / BitrateParameter.java
index c8aa863..c4a9e2a 100755 (executable)
@@ -1,57 +1,45 @@
 /*
  * Meviz - Various tools collection to work with multimedia.
- * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * Copyright (C) 2012 -- 2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
  *
  * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public License
- * as published by the Free Software Foundation.
- */
+ * modify it under the terms of version 3 of the GNU Lesser General Public License
+ * or later as published by the Free Software Foundation.
+*/
 
 package eu.svjatoslav.meviz.encoder;
 
 import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
 
-public class BitrateParameter extends Parameter {
-
-       static public enum bitrate {
-               LOW, MEDIUM, HIGH, COPY
-       }
-
-       public BitrateParameter(final String description) {
-               super(description, ArgumentCount.SINGLE);
-       }
-
-       @Override
-       public BitrateParameter addAliases(final String... aliasArray) {
-               addAliasesProtected(aliasArray);
-               return this;
-       }
-
-       @Override
-       public String describeFormat() {
-               return "Target bitrate [LOW / MEDIUM / HIGH / COPY]";
-       };
-
-       @Override
-       public bitrate getValue() {
-               return bitrate.valueOf(arguments.get(0).toUpperCase());
-       }
-
-       @Override
-       public BitrateParameter setMandatory() {
-               setMandatoryProtected();
-               return this;
-       }
-
-       @Override
-       public boolean validate(final String value) {
-               try {
-                       bitrate.valueOf(value);
-               } catch (final IllegalArgumentException exception) {
-                       return false;
-               }
-
-               return true;
-       }
+public class BitrateParameter extends Parameter<BitrateParameter.Bitrate, BitrateParameter> {
+
+    public BitrateParameter(final String description) {
+        super(description, ArgumentCount.SINGLE);
+    }
+
+    @Override
+    public String describeFormat() {
+        return "Target bitrate [NONE / LOW / MEDIUM / HIGH / COPY ]";
+    }
+
+    @Override
+    public Bitrate getValue() {
+        return Bitrate.valueOf(arguments.get(0).toUpperCase());
+    }
+
+    @Override
+    public boolean validate(final String value) {
+        try {
+            Bitrate.valueOf(value.toUpperCase());
+        } catch (final IllegalArgumentException exception) {
+            return false;
+        }
+
+        return true;
+    }
+
+    public enum Bitrate {
+        NONE, LOW, MEDIUM, HIGH, COPY
+    }
 }