com.fasterxml.jackson.dataformat.csv

## 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:
    Serialized Form

- - ### 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

    Fields
    Modifier and Type | Field and 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 schemas
    `protected 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

    - ### 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
    Modifier | Constructor and Description
    --- | ---
    `` | `CsvMapper()`
    `` | `CsvMapper(CsvFactory f)`
    `protected` | `CsvMapper(CsvMapper src)` Copy-constructor, mostly used to support `copy()`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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(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 type `CsvFactory`
    `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:
    `CsvSchema` | `schema()` Convenience method that is same as
    `CsvSchema` | `schemaFor(Class<?> pojoType)`
    `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(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef)`
    `CsvSchema` | `schemaWithHeader()` Convenience method that is same as
    `CsvSchema` | `typedSchemaFor(Class<?> pojoType)`
    `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(com.fasterxml.jackson.core.type.TypeReference<?> pojoTypeRef)`
    `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

      `_checkInvalidCopy, _configAndWriteValue, _convert, _findRootDeserializer, _initForReading, _initForReading, _newReader, _newReader, _newWriter, _newWriter, _newWriter, _readMapAndClose, _readTreeAndClose, _readValue, _serializerProvider, _unwrapAndDeserialize, _verifyNoTrailingTokens, _verifySchemaType, acceptJsonFormatVisitor, acceptJsonFormatVisitor, addHandler, addMixIn, addMixInAnnotations, canDeserialize, canDeserialize, canSerialize, canSerialize, clearProblemHandlers, configOverride, configure, configure, configure, configure, configure, constructType, convertValue, convertValue, convertValue, createArrayNode, createDeserializationContext, createObjectNode, 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, getPropertyNamingStrategy, getSerializationConfig, getSerializerFactory, getSerializerProvider, getSerializerProviderInstance, getSubtypeResolver, getTypeFactory, getVisibilityChecker, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, mixInCount, reader, reader, reader, reader, reader, reader, reader, reader, reader, reader, reader, readerFor, readerFor, readerFor, readerForUpdating, readerWithView, 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, setDefaultMergeable, setDefaultPrettyPrinter, setDefaultPropertyInclusion, setDefaultPropertyInclusion, setDefaultSetterInfo, setDefaultTyping, setDefaultVisibility, setFilterProvider, setFilters, setHandlerInstantiator, setInjectableValues, setLocale, setMixInAnnotations, setMixInResolver, setMixIns, setNodeFactory, setPropertyInclusion, setPropertyNamingStrategy, setSerializationInclusion, setSerializerFactory, setSerializerProvider, setSubtypeResolver, setTimeZone, setTypeFactory, setVisibility, setVisibility, setVisibilityChecker, 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _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

    - #### _typedSchemas

          protected final 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 schemas

  - ### Constructor Detail

    - #### CsvMapper

          public CsvMapper()

    - #### CsvMapper

          public CsvMapper(CsvFactory f)

    - #### CsvMapper

          protected CsvMapper(CsvMapper src)

      Copy-constructor, mostly used to support `copy()`.

      NOTE: `ObjectMapper` had this method since 2.1.

      Since:
        2.5

  - ### Method Detail

    - #### copy

          public CsvMapper copy()

      Overrides:
        `copy` in class `com.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 type `CsvFactory`
      Overrides:
        `getFactory` in class `com.fasterxml.jackson.databind.ObjectMapper`

    - #### readerWithSchemaFor

          public com.fasterxml.jackson.databind.ObjectReader readerWithSchemaFor(Class<?> pojoType)

      Convenience method which is functionally equivalent to:

            reader(pojoType).withSchema(schemaFor(pojoType));

      that is, constructs a `ObjectReader` 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(Class<?> pojoType)

      Convenience method which is functionally equivalent to:

            reader(pojoType).withSchema(typedSchemaFor(pojoType));

      that is, constructs a `ObjectReader` 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(Class<?> pojoType)

      Convenience method which is functionally equivalent to:

            writer(pojoType).with(schemaFor(pojoType));

      that is, constructs a `ObjectWriter` 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(Class<?> pojoType)

      Convenience method which is functionally equivalent to:

            writer(pojoType).with(typedSchemaFor(pojoType));

      that is, constructs a `ObjectWriter` 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 as

             CsvSchema.emptySchema().withHeader();

      and returns a `CsvSchema` 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 as

             CsvSchema.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(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(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(Class<?> propType)

Copyright © 2017 FasterXML. All rights reserved.