Class AbstractFlatTextFormatParser

java.lang.Object
org.apache.druid.java.util.common.parsers.AbstractFlatTextFormatParser
All Implemented Interfaces:
Parser<String,Object>
Direct Known Subclasses:
CSVParser, DelimitedParser

public abstract class AbstractFlatTextFormatParser extends Object implements Parser<String,Object>
  • Constructor Details

    • AbstractFlatTextFormatParser

      public AbstractFlatTextFormatParser(@Nullable String listDelimiter, boolean hasHeaderRow, int maxSkipHeaderRows, boolean tryParseNumbers)
  • Method Details

    • startFileFromBeginning

      public void startFileFromBeginning()
      Description copied from interface: Parser
      This method may or may not get called at the start of reading of every file depending on the type of IndexTasks. The parser state should be reset if exists.
      Specified by:
      startFileFromBeginning in interface Parser<String,Object>
    • getListDelimiter

      public String getListDelimiter()
    • getFieldNames

      public List<String> getFieldNames()
      Description copied from interface: Parser
      Returns the fieldNames that we expect to see in parsed Maps, if known, or null otherwise. Deprecated; Parsers should not, in general, be expected to know what fields they will return.
      Specified by:
      getFieldNames in interface Parser<String,Object>
    • setFieldNames

      public void setFieldNames(Iterable<String> fieldNames)
      Description copied from interface: Parser
      Set the fieldNames that you expect to see in parsed Maps. Deprecated; Parsers should not, in general, be expected to know what fields they will return. Some individual types of parsers do need to know (like a TSV parser) and those parsers have their own way of setting field names.
      Specified by:
      setFieldNames in interface Parser<String,Object>
    • setFieldNames

      public void setFieldNames(String header)
    • parseToMap

      public Map<String,Object> parseToMap(String input)
      Description copied from interface: Parser
      Parse a String into a Map. The result can be null which means the given input string will be ignored.
      Specified by:
      parseToMap in interface Parser<String,Object>
    • parseLine

      protected abstract List<String> parseLine(String input) throws IOException
      Throws:
      IOException