Interface CommandLine.ITypeConverter<K>
-
- Type Parameters:
K- the type of the object that is the result of the conversion
- All Known Implementing Classes:
CommandLine.BuiltIn.BigDecimalConverter,CommandLine.BuiltIn.BigIntegerConverter,CommandLine.BuiltIn.BooleanConverter,CommandLine.BuiltIn.ByteConverter,CommandLine.BuiltIn.CharacterConverter,CommandLine.BuiltIn.CharSequenceConverter,CommandLine.BuiltIn.CharsetConverter,CommandLine.BuiltIn.DoubleConverter,CommandLine.BuiltIn.FileConverter,CommandLine.BuiltIn.FloatConverter,CommandLine.BuiltIn.InetAddressConverter,CommandLine.BuiltIn.IntegerConverter,CommandLine.BuiltIn.ISO8601DateConverter,CommandLine.BuiltIn.ISO8601TimeConverter,CommandLine.BuiltIn.LongConverter,CommandLine.BuiltIn.PathConverter,CommandLine.BuiltIn.PatternConverter,CommandLine.BuiltIn.ShortConverter,CommandLine.BuiltIn.StringBuilderConverter,CommandLine.BuiltIn.StringConverter,CommandLine.BuiltIn.URIConverter,CommandLine.BuiltIn.URLConverter,CommandLine.BuiltIn.UUIDConverter
- Enclosing class:
- CommandLine
public static interface CommandLine.ITypeConverter<K>When parsing command line arguments and initializing fields annotated with
@Optionor@Parameters, String values can be converted to any type for which aITypeConverteris 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
CommandLine.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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Kconvert(java.lang.String value)Converts the specified command line argument value to some domain object.
-
-
-
Method Detail
-
convert
K convert(java.lang.String value) throws java.lang.Exception
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:
java.lang.Exception- an exception detailing what went wrong during the conversion
-
-