Package io.github.qishr.cascara.common.util
Interface ITypeConverter
java.lang.Object
io.github.qishr.cascara.common.util.CommandLine.ITypeConverter
Enclosing Class:
io.github.qishr.cascara.common.util.CommandLine
All Known Implementing Classes:
UseDefaultConverter
public static interface ITypeConverter
When parsing command line arguments and initializing
fields annotated with Option or Parameters,
String values can be converted to any type for which a ITypeConverter is registered.
This interface defines the contract for classes that know how to convert a String into some domain object. Custom converters can be registered with the #registerConverter(Class, ITypeConverter) method.
Java 8 lambdas make it easy to register custom type converters:
commandLine.registerConverter(java.nio.file.Path.class, s - java.nio.file.Paths.get(s)); commandLine.registerConverter(java.time.Duration.class, s - java.time.Duration.parse(s));
Built-in type converters are pre-registered for the following java 1.5 types:
all primitive types all primitive wrapper types: Boolean, Byte, Character, Double, Float, Integer, Long, Short any enum java.io.File java.math.BigDecimal java.math.BigInteger java.net.InetAddress java.net.URI java.net.URL java.nio.charset.Charset java.sql.Time java.util.Date java.util.UUID java.util.regex.Pattern StringBuilder CharSequence String
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
| public abstract K | convert(String value) | Converts the specified command line argument value to some domain object. |
Method Details
convert
public abstract K convert(String value)
Converts the specified command line argument value to some domain object.
Parameters:
value - the command line argument String value
Returns:
the resulting domain object
Throws: