Class CsvMapper<T>
- java.lang.Object
-
- com.github.skjolber.stcsv.databinder.AbstractCsvMapper<T>
-
- com.github.skjolber.stcsv.databinder.CsvMapper<T>
-
public class CsvMapper<T> extends AbstractCsvMapper<T>
Dynamic CSV parser generator. Adapts the underlying implementation according to the first (header) line.
Uses ASM to build the parsers.
Thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,StaticCsvMapper<T>>factories-
Fields inherited from class com.github.skjolber.stcsv.databinder.AbstractCsvMapper
biConsumer, bufferLength, classLoader, columns, counter, csvStaticInitializer, currentArrayIndex, currentOffsetIndex, divider, escapeCharacter, GENERATED_CLASS_FULL_INTERNAL, GENERATED_CLASS_FULL_NAME, GENERATED_CLASS_SIMPLE_NAME, ignoredIdenticalQuoteAndEscapeCharacterColumnName, ignoredSeperateQuoteAndEscapeCharacterColumnName, intermediateIndex, keys, mappedClass, mappedClassInternalName, objectIndex, quoteCharacter, rangeIndex, skipComments, skipEmptyLines, skippableFieldsWithoutLinebreaks, startIndex, superClassInternalName, triConsumer, VAR_CURRENT_ARRAY, VAR_CURRENT_OFFSET, VAR_INTERMEDIATE_OBJECT, VAR_OBJECT, VAR_RANGE, VAR_START
-
-
Constructor Summary
Constructors Constructor Description CsvMapper(Class<T> cls, char divider, char quoteCharacter, char escapeCharacter, List<AbstractColumn> columns, boolean skipEmptyLines, boolean skipComments, boolean skippableFieldsWithoutLinebreaks, ClassLoader classLoader, int bufferLength)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StaticCsvMapper<T>buildDefaultStaticCsvMapper(boolean carriageReturns)static <T> CsvMappingBuilder<T>builder(Class<T> cls)StaticCsvMapper<T>buildStaticCsvMapper(boolean carriageReturns, String header)StaticCsvMapper<T>buildStaticCsvMapper(boolean carriageReturns, List<String> csvFileFieldNames)StaticCsvMapper<T>buildStaticCsvMapper(String firstLine)CsvReader<T>create(Reader reader)CsvReader<T>create(Reader reader, String header, char[] current, int offset, int length)protected voidwriteTriConsumerVariable(String subClassInternalName, org.objectweb.asm.MethodVisitor mv)-
Methods inherited from class com.github.skjolber.stcsv.databinder.AbstractCsvMapper
addConstructors, addConstructors, addMethod, addStatics, createDefaultReaderClass, createReaderClass, createReaderClass, getDivider, getInternalName, getInternalName, parseColumnNames, saveCurrentOffset, skipColumns, skipToLinebreak, write, writeReaderConstructor, writeReaderWithBufferConstructor, writeSkipComments, writeSkipEmptyLines, writeSkipEmptyOrCommentedLines
-
-
-
-
Field Detail
-
factories
protected final Map<String,StaticCsvMapper<T>> factories
-
-
Constructor Detail
-
CsvMapper
public CsvMapper(Class<T> cls, char divider, char quoteCharacter, char escapeCharacter, List<AbstractColumn> columns, boolean skipEmptyLines, boolean skipComments, boolean skippableFieldsWithoutLinebreaks, ClassLoader classLoader, int bufferLength)
-
-
Method Detail
-
builder
public static <T> CsvMappingBuilder<T> builder(Class<T> cls)
-
create
public CsvReader<T> create(Reader reader, String header, char[] current, int offset, int length) throws Exception
- Throws:
Exception
-
buildDefaultStaticCsvMapper
public StaticCsvMapper<T> buildDefaultStaticCsvMapper(boolean carriageReturns) throws Exception
- Throws:
Exception
-
buildStaticCsvMapper
public StaticCsvMapper<T> buildStaticCsvMapper(String firstLine) throws Exception
- Throws:
Exception
-
buildStaticCsvMapper
public StaticCsvMapper<T> buildStaticCsvMapper(boolean carriageReturns, String header) throws Exception
- Throws:
Exception
-
buildStaticCsvMapper
public StaticCsvMapper<T> buildStaticCsvMapper(boolean carriageReturns, List<String> csvFileFieldNames) throws Exception
- Throws:
Exception
-
writeTriConsumerVariable
protected void writeTriConsumerVariable(String subClassInternalName, org.objectweb.asm.MethodVisitor mv)
- Specified by:
writeTriConsumerVariablein classAbstractCsvMapper<T>
-
-