public class PatternMatchingCompositeLineMapper<T> extends Object implements LineMapper<T>, org.springframework.beans.factory.InitializingBean
A LineMapper
implementation that stores a mapping of String patterns
to delegate LineTokenizer
s as well as a mapping of String patterns to
delegate FieldSetMapper
s. Each line received will be tokenized and
then mapped to a field set.
Both the tokenizing and the mapping work in a similar way. The line will be checked for its matching pattern. If the key matches a pattern in the map of delegates, then the corresponding delegate will be used. Patterns are sorted starting with the most specific, and the first match succeeds.
PatternMatchingCompositeLineTokenizer
Constructor and Description |
---|
PatternMatchingCompositeLineMapper() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
T |
mapLine(String line,
int lineNumber)
Implementations must implement this method to map the provided line to
the parameter type T.
|
void |
setFieldSetMappers(Map<String,FieldSetMapper<T>> fieldSetMappers) |
void |
setTokenizers(Map<String,LineTokenizer> tokenizers) |
public T mapLine(String line, int lineNumber) throws Exception
LineMapper
mapLine
in interface LineMapper<T>
line
- to be mappedlineNumber
- of the current lineException
- if error occured while parsing.public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
Exception
public void setTokenizers(Map<String,LineTokenizer> tokenizers)
public void setFieldSetMappers(Map<String,FieldSetMapper<T>> fieldSetMappers)
Copyright © 2014 Pivotal. All rights reserved.