blob: 1a913ff4519a4523067641766f2b6018fe02c5fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
package com.beust.jcommander.args;
import com.beust.jcommander.IParameterValidator;
import com.beust.jcommander.IValueValidator;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.validators.PositiveInteger;
public class ArgsMultiValidate {
public static class OddIntegerParameterValidator implements IParameterValidator {
@Override
public void validate(String name, String value) throws ParameterException {
if(Integer.parseInt(value) %2 != 1) throw new ParameterException("param "+name+"="+value+" is not odd");
}
}
public static class LowerThan100ValueValidator implements IValueValidator<Integer> {
@Override
public void validate(String name, Integer value) throws ParameterException {
if(value >= 100) throw new ParameterException("param "+name+"="+value+" is greater than 100");
}
}
public static class GreaterTha0ValueValidator implements IValueValidator<Integer> {
@Override
public void validate(String name, Integer value) throws ParameterException {
if(value <= 0) throw new ParameterException("param "+name+"="+value+" is lower than 1");
}
}
@Parameter(names = "-age",
validateWith = {PositiveInteger.class,OddIntegerParameterValidator.class},
validateValueWith={GreaterTha0ValueValidator.class,LowerThan100ValueValidator.class})
public int age=29;
}
|