Class CsvMapper2<T,H>
- java.lang.Object
-
- com.github.skjolber.stcsv.databinder.AbstractCsvMapper<T>
-
- com.github.skjolber.stcsv.databinder.CsvMapper2<T,H>
-
public class CsvMapper2<T,H> extends AbstractCsvMapper<T>
Dynamic CSV parser generator. Adapts the underlying implementation according to the first (header) line.
Uses ASM to build the parser implementations.
Thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,StaticCsvMapper2<T,H>>factoriesprotected Class<H>intermediateprotected StringintermediateInternalName-
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 CsvMapper2(Class<T> cls, Class<H> intermediate, 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 protected voidaddConstructors(org.objectweb.asm.ClassWriter classWriter, String subClassInternalName)StaticCsvMapper2<T,H>buildDefaultStaticCsvMapper(boolean carriageReturns)static <T,D>
CsvMappingBuilder2<T,D>builder(Class<T> cls, Class<D> delegate)StaticCsvMapper2<T,H>buildStaticCsvMapper(boolean carriageReturns, String header)StaticCsvMapper2<T,H>buildStaticCsvMapper(boolean carriageReturns, List<String> csvFileFieldNames)StaticCsvMapper2<T,H>buildStaticCsvMapper(String firstLine)CsvReader<T>create(Reader reader, H helper)CsvReader<T>create(Reader reader, String header, char[] current, int offset, int length, H helper)protected voidwriteTriConsumerVariable(String subClassInternalName, org.objectweb.asm.MethodVisitor mv)-
Methods inherited from class com.github.skjolber.stcsv.databinder.AbstractCsvMapper
addConstructors, addMethod, addStatics, createDefaultReaderClass, createReaderClass, createReaderClass, getDivider, getInternalName, getInternalName, parseColumnNames, saveCurrentOffset, skipColumns, skipToLinebreak, write, writeReaderConstructor, writeReaderWithBufferConstructor, writeSkipComments, writeSkipEmptyLines, writeSkipEmptyOrCommentedLines
-
-
-
-
Constructor Detail
-
CsvMapper2
public CsvMapper2(Class<T> cls, Class<H> intermediate, 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,D> CsvMappingBuilder2<T,D> builder(Class<T> cls, Class<D> delegate)
-
create
public CsvReader<T> create(Reader reader, String header, char[] current, int offset, int length, H helper) throws Exception
- Throws:
Exception
-
buildDefaultStaticCsvMapper
public StaticCsvMapper2<T,H> buildDefaultStaticCsvMapper(boolean carriageReturns) throws Exception
- Throws:
Exception
-
buildStaticCsvMapper
public StaticCsvMapper2<T,H> buildStaticCsvMapper(String firstLine) throws Exception
- Throws:
Exception
-
buildStaticCsvMapper
public StaticCsvMapper2<T,H> buildStaticCsvMapper(boolean carriageReturns, String header) throws Exception
- Throws:
Exception
-
buildStaticCsvMapper
public StaticCsvMapper2<T,H> buildStaticCsvMapper(boolean carriageReturns, List<String> csvFileFieldNames) throws Exception
- Throws:
Exception
-
addConstructors
protected void addConstructors(org.objectweb.asm.ClassWriter classWriter, String subClassInternalName)- Overrides:
addConstructorsin classAbstractCsvMapper<T>
-
writeTriConsumerVariable
protected void writeTriConsumerVariable(String subClassInternalName, org.objectweb.asm.MethodVisitor mv)
- Specified by:
writeTriConsumerVariablein classAbstractCsvMapper<T>
-
-