com.fasterxml.jackson.dataformat.csv
Class CsvMapper

java.lang.Object
  extended by com.fasterxml.jackson.core.TreeCodec
      extended by com.fasterxml.jackson.core.ObjectCodec
          extended by com.fasterxml.jackson.databind.ObjectMapper
              extended by 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
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
_defaultPrettyPrinter, _deserializationConfig, _deserializationContext, _injectableValues, _jsonFactory, _mixIns, _registeredModuleTypes, _rootDeserializers, _serializationConfig, _serializerFactory, _serializerProvider, _subtypeResolver, _typeFactory, DEFAULT_ANNOTATION_INTROSPECTOR, DEFAULT_BASE, STD_VISIBILITY_CHECKER
 
Constructor Summary
  CsvMapper()
           
  CsvMapper(CsvFactory f)
           
protected CsvMapper(CsvMapper src)
          Copy-constructor, mostly used to support copy().
 
Method Summary
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, _configAndWriteValue, _convert, _defaultPrettyPrinter, _findRootDeserializer, _initForReading, _newReader, _newReader, _newWriter, _newWriter, _newWriter, _readMapAndClose, _readValue, _serializerProvider, _unwrapAndDeserialize, _verifySchemaType, acceptJsonFormatVisitor, acceptJsonFormatVisitor, addHandler, addMixIn, addMixInAnnotations, canDeserialize, canDeserialize, canSerialize, canSerialize, clearProblemHandlers, 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, readValues, readValues, readValues, readValues, registerModule, registerModules, registerModules, registerSubtypes, registerSubtypes, setAnnotationIntrospector, setAnnotationIntrospectors, setBase64Variant, setConfig, setConfig, setDateFormat, setDefaultPrettyPrinter, setDefaultTyping, setFilterProvider, setFilters, setHandlerInstantiator, setInjectableValues, setLocale, setMixInAnnotations, setMixInResolver, setMixIns, setNodeFactory, setPropertyInclusion, setPropertyNamingStrategy, setSerializationInclusion, setSerializerFactory, setSerializerProvider, setSubtypeResolver, setTimeZone, setTypeFactory, setVisibility, setVisibility, setVisibilityChecker, treeAsTokens, treeToValue, 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, 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 © 2016 FasterXML. All rights reserved.