3ab0fe19c2fdc2847bd76ce76180509d19fee7b3
[meviz.git] / src / main / java / eu / svjatoslav / meviz / encoder / BitrateParameter.java
1 /*
2  * Meviz - Various tools collection to work with multimedia.
3  * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
4  * 
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of version 2 of the GNU General Public License
7  * as published by the Free Software Foundation.
8  */
9
10 package eu.svjatoslav.meviz.encoder;
11
12 import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
13 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
14
15 public class BitrateParameter extends Parameter {
16
17         public BitrateParameter(String description) {
18                 super(description, ArgumentCount.SINGLE);
19         }
20
21         @Override
22         public String describeFormat() {
23                 return "Target bitrate [LOW / MEDIUM / HIGH]";
24         }
25
26         @Override
27         public boolean validate(final String value) {
28                 try {
29                         bitrate.valueOf(value);
30                 } catch (final IllegalArgumentException exception) {
31                         return false;
32                 }
33
34                 return true;
35         }
36
37         static public enum bitrate {
38                 LOW, MEDIUM, HIGH
39         };
40
41         public bitrate getValue() {
42                 return bitrate.valueOf(getArgumentsAsStrings().get(0).toUpperCase());
43         }
44 }