Skip to content

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:

Exception