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
,Serializable
public class CsvMapper
extends com.fasterxml.jackson.databind.ObjectMapper
Specialized
ObjectMapper
, with extended functionality to
produce CsvSchema
instances out of POJOs.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.ObjectMapper
com.fasterxml.jackson.databind.ObjectMapper.DefaultTypeResolverBuilder, com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping
-
Field Summary
FieldsModifier and TypeFieldDescriptionSimple caching for schema instances, given that they are relatively expensive to construct; this one is for typed schemasSimple caching for schema instances, given that they are relatively expensive to construct; this one is for "loose" (non-typed) schemasprivate static final long
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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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
(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) configure
(CsvGenerator.Feature f, boolean state) configure
(CsvParser.Feature f, boolean state) copy()
Overridden with more specific type, since factory we have is always of typeCsvFactory
com.fasterxml.jackson.databind.ObjectReader
readerWithSchemaFor
(Class<?> pojoType) Convenience method which is functionally equivalent to:com.fasterxml.jackson.databind.ObjectReader
readerWithTypedSchemaFor
(Class<?> pojoType) Convenience method which is functionally equivalent to:schema()
Convenience method that is same asfinal CsvSchema
schemaFor
(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef) 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.final CsvSchema
Convenience method that is same asfinal CsvSchema
typedSchemaFor
(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef) 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.final CsvSchema
typedSchemaFor
(Class<?> pojoType) com.fasterxml.jackson.databind.ObjectWriter
writerWithSchemaFor
(Class<?> pojoType) Convenience method which is functionally equivalent to:com.fasterxml.jackson.databind.ObjectWriter
writerWithTypedSchemaFor
(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 Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
_untypedSchemas
Simple caching for schema instances, given that they are relatively expensive to construct; this one is for "loose" (non-typed) schemas -
_typedSchemas
Simple caching for schema instances, given that they are relatively expensive to construct; this one is for typed schemas
-
-
Constructor Details
-
CsvMapper
public CsvMapper() -
CsvMapper
-
CsvMapper
Copy-constructor, mostly used to supportcopy()
.NOTE:
ObjectMapper
had this method since 2.1.- Since:
- 2.5
-
-
Method Details
-
copy
- Overrides:
copy
in classcom.fasterxml.jackson.databind.ObjectMapper
- Since:
- 2.5
-
configure
-
configure
-
enable
-
enable
-
disable
-
disable
-
getFactory
Overridden with more specific type, since factory we have is always of typeCsvFactory
- Overrides:
getFactory
in classcom.fasterxml.jackson.databind.ObjectMapper
-
readerWithSchemaFor
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
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
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
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
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
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
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
-
schemaFor
-
typedSchemaFor
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
-
typedSchemaFor
-
_schemaFor
-
_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
-