public class Extractors extends Object
Extractor. Since array values can have a delimiter of user choice that isn't
an enum, but a regular class with a constructor where that delimiter can be specified.
The common extractors can be accessed using the accessor methods, like string(),
long_() and others. Specific classes are declared as return types for those providing additional
value accessors, f.ex Extractors.LongExtractor.longValue().
Typically an instance of Extractors would be instantiated along side a BufferedCharSeeker,
assumed to be used by a single thread, since each Extractor it has is stateful. Example:
CharSeeker seeker = ... Mark mark = new Mark(); Extractors extractors = new Extractors( ';' ); // ... seek a value, then extract like this int boxFreeIntValue = seeker.extract( mark, extractors.int_() ).intValue(); // ... or using any other type of extractor.
Custom extractors can also be implemented and used, if need arises:
CharSeeker seeker = ... Mark mark = new Mark(); MyStringDateToLongExtractor dateExtractor = new MyStringDateToLongExtractor(); // ... seek a value, then extract like this long timestamp = seeker.extract( mark, dateExtractor ).dateAsMillis();
... even added to an Extractors instance, where its
toString value is used as key for lookup in valueOf(String).
| Modifier and Type | Class and Description |
|---|---|
static class |
Extractors.BooleanExtractor |
static class |
Extractors.ByteExtractor |
static class |
Extractors.CharExtractor |
static class |
Extractors.DateExtractor |
static class |
Extractors.DateTimeExtractor |
static class |
Extractors.DoubleExtractor |
static class |
Extractors.DurationExtractor |
static class |
Extractors.FloatExtractor |
static class |
Extractors.IntExtractor |
static class |
Extractors.LocalDateTimeExtractor |
static class |
Extractors.LocalTimeExtractor |
static class |
Extractors.LongExtractor |
static class |
Extractors.PointExtractor |
static class |
Extractors.ShortExtractor |
static class |
Extractors.StringExtractor |
static class |
Extractors.TimeExtractor |
| Constructor and Description |
|---|
Extractors(char arrayDelimiter) |
Extractors(char arrayDelimiter,
boolean emptyStringsAsNull) |
Extractors(char arrayDelimiter,
boolean emptyStringsAsNull,
boolean trimStrings) |
Extractors(char arrayDelimiter,
boolean emptyStringsAsNull,
boolean trimStrings,
Supplier<ZoneId> defaultTimeZone)
Why do we have a public constructor here and why isn't this class an enum?
It's because the array extractors can be configured with an array delimiter,
something that would be impossible otherwise.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(Extractor<?> extractor) |
Extractors.BooleanExtractor |
boolean_() |
Extractor<boolean[]> |
booleanArray() |
Extractors.ByteExtractor |
byte_() |
Extractor<byte[]> |
byteArray() |
Extractors.CharExtractor |
char_() |
Extractors.DateExtractor |
date() |
Extractors.DateTimeExtractor |
dateTime() |
Extractors.DoubleExtractor |
double_() |
Extractor<double[]> |
doubleArray() |
Extractors.DurationExtractor |
duration() |
Extractors.FloatExtractor |
float_() |
Extractor<float[]> |
floatArray() |
Extractors.IntExtractor |
int_() |
Extractor<int[]> |
intArray() |
Extractors.LocalDateTimeExtractor |
localDateTime() |
Extractors.LocalTimeExtractor |
localTime() |
Extractors.LongExtractor |
long_() |
Extractor<long[]> |
longArray() |
Extractors.PointExtractor |
point() |
Extractors.ShortExtractor |
short_() |
Extractor<short[]> |
shortArray() |
Extractor<String> |
string() |
Extractor<String[]> |
stringArray() |
Extractors.TimeExtractor |
time() |
Extractor<?> |
valueOf(String name) |
public Extractors(char arrayDelimiter)
public Extractors(char arrayDelimiter,
boolean emptyStringsAsNull)
public Extractors(char arrayDelimiter,
boolean emptyStringsAsNull,
boolean trimStrings)
public Extractors(char arrayDelimiter,
boolean emptyStringsAsNull,
boolean trimStrings,
Supplier<ZoneId> defaultTimeZone)
valueOf(String)
method to keep the feel of an enum.public void add(Extractor<?> extractor)
public Extractors.LongExtractor long_()
public Extractors.IntExtractor int_()
public Extractors.CharExtractor char_()
public Extractors.ShortExtractor short_()
public Extractors.ByteExtractor byte_()
public Extractors.BooleanExtractor boolean_()
public Extractors.FloatExtractor float_()
public Extractors.DoubleExtractor double_()
public Extractor<boolean[]> booleanArray()
public Extractor<byte[]> byteArray()
public Extractor<short[]> shortArray()
public Extractor<int[]> intArray()
public Extractor<long[]> longArray()
public Extractor<float[]> floatArray()
public Extractor<double[]> doubleArray()
public Extractors.PointExtractor point()
public Extractors.DateExtractor date()
public Extractors.TimeExtractor time()
public Extractors.DateTimeExtractor dateTime()
public Extractors.LocalTimeExtractor localTime()
public Extractors.LocalDateTimeExtractor localDateTime()
public Extractors.DurationExtractor duration()
Copyright © 2016–2021 MWARE SOLUTIONS. All rights reserved.