Top Fields Constructors Methods
tools.jackson.dataformat.csv

public Class CsvFactory

extends TextualTSFactory
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.*, tools.jackson.core.*, tools.jackson.core.base.TextualTSFactory, tools.jackson.core.io.IOContext, tools.jackson.dataformat.csv.impl.CsvParserBootstrapper, .UTF8Writer

Field Summary

Modifier and TypeField and Description
protected final CsvCharacterEscapes
protected static final int
DEFAULT_CSV_GENERATOR_FEATURE_FLAGS

Bitfield (set of flags) of all generator features that are enabled by default.

protected static final int
DEFAULT_CSV_PARSER_FEATURE_FLAGS

Bitfield (set of flags) of all parser features that are enabled by default.

protected static final char[]
protected static final CsvSchema
public static final String
FORMAT_NAME_CSV

Name used to identify CSV format.

private static final long

Constructor Summary

AccessConstructor and Description
public
CsvFactory()

Default constructor used to create factory instances.

protected
protected
CsvFactory(CsvFactoryBuilder b)

Constructors used by CsvFactoryBuilder for instantiation.

Method Summary

Modifier and TypeMethod and Description
protected CsvGenerator
_createGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, Writer out)

Implements abstract tools.jackson.core.base.TextualTSFactory._createGenerator.

Overridable factory method that actually instantiates generator for given Writer and context object.

protected CsvParser
_createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Overridable factory method that actually instantiates desired parser.

protected CsvParser
_createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

protected CsvParser
_createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Overridable factory method that actually instantiates desired parser.

protected CsvParser
_createParser(ObjectReadContext readCtxt, IOContext ioCtxt, char[] data, int offset, int len, boolean recyclable)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

protected JsonParser
protected CsvGenerator
_createUTF8Generator(ObjectWriteContext writeCtxt, IOContext ioCtxt, OutputStream out)

Implements abstract tools.jackson.core.base.TextualTSFactory._createUTF8Generator.

Overridable factory method that actually instantiates generator for given OutputStream and context object, using UTF-8 encoding.

private final CsvSchema
private final CsvSchema
public static CsvFactoryBuilder
builder()

Main factory method to use for constructing CsvFactory instances with different configuration.

public boolean
canParseAsync()

Implements abstract tools.jackson.core.TokenStreamFactory.canParseAsync.

Introspection method that can be used to check whether this factory can create non-blocking parsers: parsers that do not use blocking I/O abstractions but instead use a tools.jackson.core.async.NonBlockingInputFeeder.

public boolean
canUseCharArrays()

Overrides tools.jackson.core.base.TextualTSFactory.canUseCharArrays.

Introspection method that can be used by base factory to check whether access using char[] is something that actual parser implementations can take advantage of, over having to use java.io.Reader.

public boolean
canUseSchema(FormatSchema schema)

Implements abstract tools.jackson.core.TokenStreamFactory.canUseSchema.

Method that can be used to quickly check whether given schema is something that parsers and/or generators constructed by this factory could use.

public CsvFactory
copy()

Implements abstract tools.jackson.core.TokenStreamFactory.copy.

Method similar to snapshot(), but one that forces creation of actual new copy that does NOT share any state, even non-visible to calling code, such as symbol table reuse.

public String
getFormatName()

Implements abstract tools.jackson.core.TokenStreamFactory.getFormatName.

Method that returns short textual id identifying format this factory supports.

public int
public Class<CsvReadFeature>
getFormatReadFeatureType()

Overrides tools.jackson.core.TokenStreamFactory.getFormatReadFeatureType.

Method for accessing kind of FormatFeature that a parser JsonParser produced by this factory would accept, if any; null returned if none.

public int
public Class<CsvWriteFeature>
getFormatWriteFeatureType()

Overrides tools.jackson.core.TokenStreamFactory.getFormatWriteFeatureType.

Method for accessing kind of FormatFeature that a parser JsonGenerator produced by this factory would accept, if any; null returned if none.

public final boolean
isEnabled(CsvReadFeature f)

Checked whether specified parser feature is enabled.

public boolean
isEnabled(CsvWriteFeature f)

Check whether specified generator feature is enabled.

protected Object
readResolve()

Method that we need to override to actually make restoration go through constructors etc. Also: must be overridden by sub-classes as well.

public CsvFactoryBuilder
rebuild()

Implements abstract tools.jackson.core.TokenStreamFactory.rebuild.

Method that can be used to create differently configured stream factories: it will create and return a Builder instance with exact settings of this stream factory.

public boolean
requiresPropertyOrdering()

Overrides tools.jackson.core.TokenStreamFactory.requiresPropertyOrdering.

Introspection method that higher-level functionality may call to see whether underlying data format requires a stable ordering of object properties or not.

public TokenStreamFactory
snapshot()

Implements abstract tools.jackson.core.TokenStreamFactory.snapshot.

Implements tools.jackson.core.util.Snapshottable.snapshot.

Instances are immutable so just return `this`

public Version
version()

Implements abstract tools.jackson.core.TokenStreamFactory.version.

Implements tools.jackson.core.Versioned.version.

Method called to detect version of the component that implements this interface; returned version should never be null, but may return specific "not available" instance (see Version for details).

Inherited from tools.jackson.core.base.TextualTSFactory:
_createContentReference_createContentReference_createWritercanHandleBinaryNativelycreateGeneratorcreateGeneratorcreateGeneratorcreateGeneratorcreateParsercreateParsercreateParsercreateParsercreateParsercreateParsercreateParsercreateParser

Field Detail

_characterEscapesback to summary
protected final CsvCharacterEscapes _characterEscapes
DEFAULT_CSV_GENERATOR_FEATURE_FLAGSback to summary
protected static final int DEFAULT_CSV_GENERATOR_FEATURE_FLAGS

Bitfield (set of flags) of all generator features that are enabled by default.

DEFAULT_CSV_PARSER_FEATURE_FLAGSback to summary
protected static final int DEFAULT_CSV_PARSER_FEATURE_FLAGS

Bitfield (set of flags) of all parser features that are enabled by default.

DEFAULT_LFback to summary
protected static final char[] DEFAULT_LF
DEFAULT_SCHEMAback to summary
protected static final CsvSchema DEFAULT_SCHEMA
FORMAT_NAME_CSVback to summary
public static final String FORMAT_NAME_CSV

Name used to identify CSV format. (and returned by getFormatName()

serialVersionUIDback to summary
private static final long serialVersionUID

Hides tools.jackson.core.base.TextualTSFactory.serialVersionUID.

Constructor Detail

CsvFactoryback to summary
public CsvFactory()

Default constructor used to create factory instances. Creation of a factory instance is a light-weight operation, but it is still a good idea to reuse limited number of factory instances (and quite often just a single instance): factories are used as context for storing some reused processing objects (such as symbol tables parsers use) and this reuse only works within context of a single factory instance.

CsvFactoryback to summary
protected CsvFactory(CsvFactory src)
CsvFactoryback to summary
protected CsvFactory(CsvFactoryBuilder b)

Constructors used by CsvFactoryBuilder for instantiation.

Since
3.0

Method Detail

_createGeneratorback to summary
protected CsvGenerator _createGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, Writer out)

Implements abstract tools.jackson.core.base.TextualTSFactory._createGenerator.

Doc from tools.jackson.core.base.TextualTSFactory._createGenerator.

Overridable factory method that actually instantiates generator for given Writer and context object.

This method is specifically designed to remain compatible between minor versions so that sub-classes can count on it being called as expected. That is, it is part of official interface from sub-class perspective, although not a public method available to users of factory implementations.

Annotations
@Override
_createParserback to summary
protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Overridable factory method that actually instantiates desired parser.

Annotations
@Override
_createParserback to summary
protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Annotations
@Override
_createParserback to summary
protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Overridable factory method that actually instantiates desired parser.

Annotations
@Override
_createParserback to summary
protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, char[] data, int offset, int len, boolean recyclable)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Annotations
@Override
_createParserback to summary
protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, DataInput input)

Implements abstract tools.jackson.core.base.TextualTSFactory._createParser.

Annotations
@Override
_createUTF8Generatorback to summary
protected CsvGenerator _createUTF8Generator(ObjectWriteContext writeCtxt, IOContext ioCtxt, OutputStream out)

Implements abstract tools.jackson.core.base.TextualTSFactory._createUTF8Generator.

Doc from tools.jackson.core.base.TextualTSFactory._createUTF8Generator.

Overridable factory method that actually instantiates generator for given OutputStream and context object, using UTF-8 encoding.

This method is specifically designed to remain compatible between minor versions so that sub-classes can count on it being called as expected. That is, it is part of official interface from sub-class perspective, although not a public method available to users of factory implementations.

Annotations
@SuppressWarnings:resource
@Override
_getSchemaback to summary
private final CsvSchema _getSchema(ObjectReadContext readCtxt)
_getSchemaback to summary
private final CsvSchema _getSchema(ObjectWriteContext writeCtxt)
builderback to summary
public static CsvFactoryBuilder builder()

Main factory method to use for constructing CsvFactory instances with different configuration.

canParseAsyncback to summary
public boolean canParseAsync()

Implements abstract tools.jackson.core.TokenStreamFactory.canParseAsync.

Doc from tools.jackson.core.TokenStreamFactory.canParseAsync.

Introspection method that can be used to check whether this factory can create non-blocking parsers: parsers that do not use blocking I/O abstractions but instead use a tools.jackson.core.async.NonBlockingInputFeeder.

Annotations
@Override
canUseCharArraysback to summary
public boolean canUseCharArrays()

Overrides tools.jackson.core.base.TextualTSFactory.canUseCharArrays.

Doc from tools.jackson.core.base.TextualTSFactory.canUseCharArrays.

Introspection method that can be used by base factory to check whether access using char[] is something that actual parser implementations can take advantage of, over having to use java.io.Reader. Sub-types are expected to override definition; default implementation (suitable for JSON) alleges that optimization are possible; and thereby is likely to try to access java.lang.String content by first copying it into recyclable intermediate buffer.

Default implementation simply returns true

Annotations
@Override
canUseSchemaback to summary
public boolean canUseSchema(FormatSchema schema)

Implements abstract tools.jackson.core.TokenStreamFactory.canUseSchema.

Doc from tools.jackson.core.TokenStreamFactory.canUseSchema.

Method that can be used to quickly check whether given schema is something that parsers and/or generators constructed by this factory could use. Note that this means possible use, at the level of data format (i.e. schema is for same data format as parsers and generators this factory constructs); individual schema instances may have further usage restrictions.

Annotations
@Override
copyback to summary
public CsvFactory copy()

Implements abstract tools.jackson.core.TokenStreamFactory.copy.

Doc from tools.jackson.core.TokenStreamFactory.copy.

Method similar to snapshot(), but one that forces creation of actual new copy that does NOT share any state, even non-visible to calling code, such as symbol table reuse.

Implementation should be functionally equivalent to:

    factoryInstance.rebuild().build();
Annotations
@Override
getFormatNameback to summary
public String getFormatName()

Implements abstract tools.jackson.core.TokenStreamFactory.getFormatName.

Doc from tools.jackson.core.TokenStreamFactory.getFormatName.

Method that returns short textual id identifying format this factory supports.

Annotations
@Override
getFormatReadFeaturesback to summary
public int getFormatReadFeatures()

Overrides tools.jackson.core.TokenStreamFactory.getFormatReadFeatures.

Annotations
@Override
getFormatReadFeatureTypeback to summary
public Class<CsvReadFeature> getFormatReadFeatureType()

Overrides tools.jackson.core.TokenStreamFactory.getFormatReadFeatureType.

Doc from tools.jackson.core.TokenStreamFactory.getFormatReadFeatureType.

Method for accessing kind of FormatFeature that a parser JsonParser produced by this factory would accept, if any; null returned if none.

Annotations
@Override
getFormatWriteFeaturesback to summary
public int getFormatWriteFeatures()

Overrides tools.jackson.core.TokenStreamFactory.getFormatWriteFeatures.

Annotations
@Override
getFormatWriteFeatureTypeback to summary
public Class<CsvWriteFeature> getFormatWriteFeatureType()

Overrides tools.jackson.core.TokenStreamFactory.getFormatWriteFeatureType.

Doc from tools.jackson.core.TokenStreamFactory.getFormatWriteFeatureType.

Method for accessing kind of FormatFeature that a parser JsonGenerator produced by this factory would accept, if any; null returned if none.

Annotations
@Override
isEnabledback to summary
public final boolean isEnabled(CsvReadFeature f)

Checked whether specified parser feature is enabled.

isEnabledback to summary
public boolean isEnabled(CsvWriteFeature f)

Check whether specified generator feature is enabled.

readResolveback to summary
protected Object readResolve()

Method that we need to override to actually make restoration go through constructors etc. Also: must be overridden by sub-classes as well.

rebuildback to summary
public CsvFactoryBuilder rebuild()

Implements abstract tools.jackson.core.TokenStreamFactory.rebuild.

Doc from tools.jackson.core.TokenStreamFactory.rebuild.

Method that can be used to create differently configured stream factories: it will create and return a Builder instance with exact settings of this stream factory.

Annotations
@Override
requiresPropertyOrderingback to summary
public boolean requiresPropertyOrdering()

Overrides tools.jackson.core.TokenStreamFactory.requiresPropertyOrdering.

Doc from tools.jackson.core.TokenStreamFactory.requiresPropertyOrdering.

Introspection method that higher-level functionality may call to see whether underlying data format requires a stable ordering of object properties or not. This is usually used for determining whether to force a stable ordering (like alphabetic ordering by name) if no ordering if explicitly specified.

Annotations
@Override
snapshotback to summary
public TokenStreamFactory snapshot()

Implements abstract tools.jackson.core.TokenStreamFactory.snapshot.

Implements tools.jackson.core.util.Snapshottable.snapshot.

Instances are immutable so just return `this`

Annotations
@Override
versionback to summary
public Version version()

Implements abstract tools.jackson.core.TokenStreamFactory.version.

Implements tools.jackson.core.Versioned.version.

Doc from tools.jackson.core.Versioned.version.

Method called to detect version of the component that implements this interface; returned version should never be null, but may return specific "not available" instance (see Version for details).

Annotations
@Override