Class CsvMapper
- java.lang.Object
-
- com.fasterxml.jackson.core.TreeCodec
-
- com.fasterxml.jackson.core.ObjectCodec
-
- com.fasterxml.jackson.databind.ObjectMapper
-
- com.fasterxml.jackson.dataformat.csv.CsvMapper
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned
,java.io.Serializable
public class CsvMapper extends com.fasterxml.jackson.databind.ObjectMapper
SpecializedObjectMapper
, with extended functionality to produceCsvSchema
instances out of POJOs.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected LRUMap<com.fasterxml.jackson.databind.JavaType,CsvSchema>
_typedSchemas
Simple caching for schema instances, given that they are relatively expensive to construct; this one is for typed schemasprotected LRUMap<com.fasterxml.jackson.databind.JavaType,CsvSchema>
_untypedSchemas
Simple caching for schema instances, given that they are relatively expensive to construct; this one is for "loose" (non-typed) schemasprivate static long
serialVersionUID
-
Fields inherited from class com.fasterxml.jackson.databind.ObjectMapper
_configOverrides, _deserializationConfig, _deserializationContext, _injectableValues, _jsonFactory, _mixIns, _registeredModuleTypes, _rootDeserializers, _serializationConfig, _serializerFactory, _serializerProvider, _subtypeResolver, _typeFactory, DEFAULT_ANNOTATION_INTROSPECTOR, DEFAULT_BASE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_addSchemaProperties(CsvSchema.Builder builder, com.fasterxml.jackson.databind.AnnotationIntrospector intr, boolean typed, com.fasterxml.jackson.databind.JavaType pojoType, com.fasterxml.jackson.databind.util.NameTransformer unwrapper)
protected CsvSchema.ColumnType
_determineType(java.lang.Class<?> propType)
protected boolean
_nonPojoType(com.fasterxml.jackson.databind.JavaType t)
protected CsvSchema
_schemaFor(com.fasterxml.jackson.databind.JavaType pojoType, LRUMap<com.fasterxml.jackson.databind.JavaType,CsvSchema> schemas, boolean typed)
CsvMapper
configure(CsvGenerator.Feature f, boolean state)
CsvMapper
configure(CsvParser.Feature f, boolean state)
CsvMapper
copy()
CsvMapper
disable(CsvGenerator.Feature f)
CsvMapper
disable(CsvParser.Feature f)
CsvMapper
enable(CsvGenerator.Feature f)
CsvMapper
enable(CsvParser.Feature f)
CsvFactory
getFactory()
Overridden with more specific type, since factory we have is always of typeCsvFactory
com.fasterxml.jackson.databind.ObjectReader
readerWithSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:com.fasterxml.jackson.databind.ObjectReader
readerWithTypedSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:CsvSchema
schema()
Convenience method that is same asCsvSchema
schemaFor(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef)
CsvSchema
schemaFor(com.fasterxml.jackson.databind.JavaType pojoType)
Method that can be used to determine a CSV schema to use for given POJO type, using default serialization settings including ordering.CsvSchema
schemaFor(java.lang.Class<?> pojoType)
CsvSchema
schemaWithHeader()
Convenience method that is same asCsvSchema
typedSchemaFor(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef)
CsvSchema
typedSchemaFor(com.fasterxml.jackson.databind.JavaType pojoType)
Method that can be used to determine a CSV schema to use for given POJO type, using default serialization settings including ordering.CsvSchema
typedSchemaFor(java.lang.Class<?> pojoType)
com.fasterxml.jackson.databind.ObjectWriter
writerWithSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:com.fasterxml.jackson.databind.ObjectWriter
writerWithTypedSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:-
Methods inherited from class com.fasterxml.jackson.databind.ObjectMapper
_assertNotNull, _checkInvalidCopy, _configAndWriteValue, _constructDefaultTypeResolverBuilder, _convert, _findRootDeserializer, _initForReading, _initForReading, _newReader, _newReader, _newWriter, _newWriter, _newWriter, _readMapAndClose, _readTreeAndClose, _readValue, _serializerProvider, _unwrapAndDeserialize, _verifyNoTrailingTokens, _verifySchemaType, _writeValueAndClose, acceptJsonFormatVisitor, acceptJsonFormatVisitor, activateDefaultTyping, activateDefaultTyping, activateDefaultTyping, activateDefaultTypingAsProperty, addHandler, addMixIn, addMixInAnnotations, canDeserialize, canDeserialize, canSerialize, canSerialize, clearProblemHandlers, configOverride, configure, configure, configure, configure, configure, constructType, convertValue, convertValue, convertValue, createArrayNode, createDeserializationContext, createGenerator, createGenerator, createGenerator, createGenerator, createGenerator, createNonBlockingByteArrayParser, createObjectNode, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, deactivateDefaultTyping, defaultClassIntrospector, disable, disable, disable, disable, disable, disable, disable, disableDefaultTyping, enable, enable, enable, enable, enable, enable, enable, enableDefaultTyping, enableDefaultTyping, enableDefaultTyping, enableDefaultTypingAsProperty, findAndRegisterModules, findMixInClassFor, findModules, findModules, generateJsonSchema, getDateFormat, getDeserializationConfig, getDeserializationContext, getInjectableValues, getJsonFactory, getNodeFactory, getPolymorphicTypeValidator, getPropertyNamingStrategy, getRegisteredModuleIds, getSerializationConfig, getSerializerFactory, getSerializerProvider, getSerializerProviderInstance, getSubtypeResolver, getTypeFactory, getVisibilityChecker, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, missingNode, mixInCount, nullNode, reader, reader, reader, reader, reader, reader, reader, reader, reader, reader, reader, readerFor, readerFor, readerFor, readerForArrayOf, readerForListOf, readerForMapOf, readerForUpdating, readerWithView, readTree, readTree, readTree, readTree, readTree, readTree, readTree, readTree, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValues, readValues, readValues, readValues, registerModule, registerModules, registerModules, registerSubtypes, registerSubtypes, registerSubtypes, setAnnotationIntrospector, setAnnotationIntrospectors, setBase64Variant, setConfig, setConfig, setDateFormat, setDefaultLeniency, setDefaultMergeable, setDefaultPrettyPrinter, setDefaultPropertyInclusion, setDefaultPropertyInclusion, setDefaultSetterInfo, setDefaultTyping, setDefaultVisibility, setFilterProvider, setFilters, setHandlerInstantiator, setInjectableValues, setLocale, setMixInAnnotations, setMixInResolver, setMixIns, setNodeFactory, setPolymorphicTypeValidator, setPropertyInclusion, setPropertyNamingStrategy, setSerializationInclusion, setSerializerFactory, setSerializerProvider, setSubtypeResolver, setTimeZone, setTypeFactory, setVisibility, setVisibility, setVisibilityChecker, tokenStreamFactory, treeAsTokens, treeToValue, updateValue, valueToTree, version, writer, writer, writer, writer, writer, writer, writer, writer, writer, writer, writerFor, writerFor, writerFor, writerWithDefaultPrettyPrinter, writerWithType, writerWithType, writerWithType, writerWithView, writeTree, writeTree, writeValue, writeValue, writeValue, writeValue, writeValue, writeValueAsBytes, writeValueAsString
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
_untypedSchemas
protected final LRUMap<com.fasterxml.jackson.databind.JavaType,CsvSchema> _untypedSchemas
Simple caching for schema instances, given that they are relatively expensive to construct; this one is for "loose" (non-typed) schemas
-
-
Constructor Detail
-
CsvMapper
public CsvMapper()
-
CsvMapper
public CsvMapper(CsvFactory f)
-
-
Method Detail
-
copy
public CsvMapper copy()
- Overrides:
copy
in classcom.fasterxml.jackson.databind.ObjectMapper
- Since:
- 2.5
-
configure
public CsvMapper configure(CsvGenerator.Feature f, boolean state)
-
configure
public CsvMapper configure(CsvParser.Feature f, boolean state)
-
enable
public CsvMapper enable(CsvGenerator.Feature f)
-
enable
public CsvMapper enable(CsvParser.Feature f)
-
disable
public CsvMapper disable(CsvGenerator.Feature f)
-
disable
public CsvMapper disable(CsvParser.Feature f)
-
getFactory
public CsvFactory getFactory()
Overridden with more specific type, since factory we have is always of typeCsvFactory
- Overrides:
getFactory
in classcom.fasterxml.jackson.databind.ObjectMapper
-
readerWithSchemaFor
public com.fasterxml.jackson.databind.ObjectReader readerWithSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:reader(pojoType).withSchema(schemaFor(pojoType));
that is, constructs aObjectReader
which both binds to specified type and uses "loose"CsvSchema
introspected from specified type (one without strict inferred typing).- Parameters:
pojoType
- Type used both for data-binding (result type) and for schema introspection. NOTE: must NOT be an array or Collection type, since these only make sense for data-binding (like arrays of objects to bind), but not for schema construction (no CSV types can be mapped to arrays or Collections)
-
readerWithTypedSchemaFor
public com.fasterxml.jackson.databind.ObjectReader readerWithTypedSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:reader(pojoType).withSchema(typedSchemaFor(pojoType));
that is, constructs aObjectReader
which both binds to specified type and uses "strict"CsvSchema
introspected from specified type (one where typing is inferred).
-
writerWithSchemaFor
public com.fasterxml.jackson.databind.ObjectWriter writerWithSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:writer(pojoType).with(schemaFor(pojoType));
that is, constructs aObjectWriter
which both binds to specified type and uses "loose"CsvSchema
introspected from specified type (one without strict inferred typing).- Parameters:
pojoType
- Type used both for data-binding (result type) and for schema introspection. NOTE: must NOT be an array or Collection type, since these only make sense for data-binding (like arrays of objects to bind), but not for schema construction (no root-level CSV types can be mapped to arrays or Collections)
-
writerWithTypedSchemaFor
public com.fasterxml.jackson.databind.ObjectWriter writerWithTypedSchemaFor(java.lang.Class<?> pojoType)
Convenience method which is functionally equivalent to:writer(pojoType).with(typedSchemaFor(pojoType));
that is, constructs aObjectWriter
which both binds to specified type and uses "strict"CsvSchema
introspected from specified type (one where typing is inferred).
-
schemaWithHeader
public CsvSchema schemaWithHeader()
Convenience method that is same asCsvSchema.emptySchema().withHeader();
and returns aCsvSchema
instance that uses default configuration with additional setting that the first content line contains intended column names.- Since:
- 2.5
-
schema
public CsvSchema schema()
Convenience method that is same asCsvSchema.emptySchema()
that is, returns an "empty" Schema; one with default values and no column definitions.- Since:
- 2.5
-
schemaFor
public CsvSchema schemaFor(com.fasterxml.jackson.databind.JavaType pojoType)
Method that can be used to determine a CSV schema to use for given POJO type, using default serialization settings including ordering. Definition will not be strictly typed (that is, all columns are just defined to be exposed as String tokens).
-
schemaFor
public final CsvSchema schemaFor(java.lang.Class<?> pojoType)
-
schemaFor
public final CsvSchema schemaFor(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef)
-
typedSchemaFor
public CsvSchema typedSchemaFor(com.fasterxml.jackson.databind.JavaType pojoType)
Method that can be used to determine a CSV schema to use for given POJO type, using default serialization settings including ordering. Definition WILL be strictly typed: that is, code will try to determine type limitations which may make parsing more efficient (especially for numeric types like java.lang.Integer).
-
typedSchemaFor
public final CsvSchema typedSchemaFor(java.lang.Class<?> pojoType)
-
typedSchemaFor
public final CsvSchema typedSchemaFor(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef)
-
_schemaFor
protected CsvSchema _schemaFor(com.fasterxml.jackson.databind.JavaType pojoType, LRUMap<com.fasterxml.jackson.databind.JavaType,CsvSchema> schemas, boolean typed)
-
_nonPojoType
protected boolean _nonPojoType(com.fasterxml.jackson.databind.JavaType t)
-
_addSchemaProperties
protected void _addSchemaProperties(CsvSchema.Builder builder, com.fasterxml.jackson.databind.AnnotationIntrospector intr, boolean typed, com.fasterxml.jackson.databind.JavaType pojoType, com.fasterxml.jackson.databind.util.NameTransformer unwrapper)
-
_determineType
protected CsvSchema.ColumnType _determineType(java.lang.Class<?> propType)
-
-