Package org.ojalgo.netio
Class DetectingParser<T>
- java.lang.Object
-
- org.ojalgo.netio.DetectingParser<T>
-
- All Implemented Interfaces:
BasicParser<T>
,TextLineReader.Parser<T>
- Direct Known Subclasses:
DatePriceParser
public abstract class DetectingParser<T> extends java.lang.Object implements BasicParser<T>
Will detect which delegate parser to use. Must be able to determine that from the first line read. You supply a collection of parsers paired with logic to test if they can handle the proposed line or not.- See Also:
DatePriceParser
-
-
Field Summary
Fields Modifier and Type Field Description private TextLineReader.Parser<T>
myDefaultParser
private java.util.List<KeyValue<java.util.function.Predicate<java.lang.String>,TextLineReader.Parser<? extends T>>>
myPotentialParsers
private TextLineReader.Parser<? extends T>
mySelectedParser
-
Constructor Summary
Constructors Modifier Constructor Description protected
DetectingParser(TextLineReader.Parser<T> defaultParser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addPotentialParser(java.util.function.Predicate<java.lang.String> predicate, TextLineReader.Parser<? extends T> parser)
T
parse(java.lang.String line)
Parse one line into some custom object.
-
-
-
Field Detail
-
myPotentialParsers
private final java.util.List<KeyValue<java.util.function.Predicate<java.lang.String>,TextLineReader.Parser<? extends T>>> myPotentialParsers
-
mySelectedParser
private TextLineReader.Parser<? extends T> mySelectedParser
-
myDefaultParser
private final TextLineReader.Parser<T> myDefaultParser
-
-
Constructor Detail
-
DetectingParser
protected DetectingParser(TextLineReader.Parser<T> defaultParser)
-
-
Method Detail
-
parse
public T parse(java.lang.String line)
Description copied from interface:TextLineReader.Parser
Parse one line into some custom object. Returning null indicates that parsing failed!- Specified by:
parse
in interfaceTextLineReader.Parser<T>
- Parameters:
line
- The text line to parse- Returns:
- An object containing (referencing) the parsed data
-
addPotentialParser
protected void addPotentialParser(java.util.function.Predicate<java.lang.String> predicate, TextLineReader.Parser<? extends T> parser)
-
-