
com.github.yin.flags.BasicFlag Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-flags Show documentation
Show all versions of java-flags Show documentation
Easy to use command-line parser, which enables you to
define cmdline flags directly the class they are used in.
package com.github.yin.flags;
import javax.annotation.Nonnull;
import java.math.BigDecimal;
import java.math.BigInteger;
/**
* Handles {@link #get()}, and {@link #validator(Validator)}, leaving {@link #parse(String)}
* for implementation by clients.
*/
public abstract class BasicFlag implements Flag {
public static class StringFlag extends BasicFlag {
public StringFlag(@Nonnull String defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = String.valueOf(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class BooleanFlag extends BasicFlag {
public BooleanFlag(@Nonnull Boolean defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = Boolean.valueOf(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class IntegerFlag extends BasicFlag {
public IntegerFlag(@Nonnull Integer defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = Integer.valueOf(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class LongFlag extends BasicFlag {
public LongFlag(@Nonnull Long defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = Long.valueOf(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class FloatFlag extends BasicFlag {
public FloatFlag(@Nonnull Float defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = Float.valueOf(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class DoubleFlag extends BasicFlag {
public DoubleFlag(@Nonnull Double defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = Double.valueOf(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class BigIntegerFlag extends BasicFlag {
public BigIntegerFlag(@Nonnull BigInteger defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = new BigInteger(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
public static class BigDecimalFlag extends BasicFlag {
public BigDecimalFlag(@Nonnull BigDecimal defaultz) {
super(defaultz);
}
@Override
public void parse(@Nonnull String value) {
this.value = new BigDecimal(value);
if (validator != null) {
validator.validate(this.value);
}
}
}
protected Validator validator;
protected T value;
public BasicFlag(T defaultz) {
value = defaultz;
}
@Override
public T get() {
return value;
}
@Override
public Flag validator(Validator validator) {
this.validator = validator;
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy