public interface Converter<T>
Interface for converting configured values from String to any Java type.
Converters for the following types are provided by default:
boolean
and Boolean
, values for true
: (case insensitive)
"true", "yes", "Y", "on", "1"int
and Integer
long
and Long
float
and Float
, a dot '.' is used to separate the fractional digitsdouble
and Double
, a dot '.' is used to separate the fractional digitsjava.time.Duration
as defined in Duration.parse(CharSequence)
java.time.LocalDateTime
as defined in LocalDateTime.parse(CharSequence)
java.time.LocalDate
as defined in LocalDate.parse(CharSequence)
java.time.LocalTime
as defined in LocalTime.parse(CharSequence)
OffsetDateTime
as defined in OffsetDateTime.parse(CharSequence)
OffsetTime
as defined in OffsetTime.parse(CharSequence)
Instant
URL
as defined by URL.URL(java.lang.String)
Custom Converters will get picked up via the ServiceLoader
mechanism and and can be registered by
providing a file
META-INF/services/org.eclipse.microprofile.config.spi.Converter
which contains the fully qualified Converter
implementation class name as content.
A Converter can specify a javax.annotation.Priority
.
If no priority is explicitly assigned, the value of 100 is assumed.
If multiple Converters are registered for the same type, the one with the highest priority will be used.
All Built In Converters have a javax.annotation.Priority
of 1
A Converter should handle null values returning either null or a valid Object of the specified type.
Modifier and Type | Method and Description |
---|---|
T |
convert(String value)
Configure the string value to a specified type
|
T convert(String value)
value
- the string representation of a property value.IllegalArgumentException
- if the value cannot be converted to the specified type.Copyright © 2017 Eclipse Foundation. All rights reserved.