Top Description Fields Constructors Methods
com.fasterxml.jackson.dataformat.javaprop

public Class JavaPropsSchema

extends Object
implements FormatSchema, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, com.fasterxml.jackson.core.FormatSchema
Imports
com.fasterxml.jackson.core.FormatSchema, com.fasterxml.jackson.dataformat.javaprop.util.JPropPathSplitter, .Markers

Simple FormatSchema sub-type that defines details of things like:

Field Summary

Modifier and TypeField and Description
protected int
_firstArrayOffset

Specifies index number used when writing the first array entry (which in Java has index of 0).

protected String
_header

Optional header to prepend before any other output: typically a comment section or so.

protected Markers
_indexMarker

Default start marker for index access, if any; empty String may be used to indicate no marker-based index detection should be made.

protected String
_keyValueSeparator

String added between key and value; needs to include the "equals character" (either '=' or ':', both allowed by Java Properties specification), may also include white before and/or after "equals character".

protected String
_lineEnding

String added after value, including at least one linefeed.

protected String
_lineIndentation

String prepended before key value, as possible indentation

protected boolean
_parseSimpleIndexes

Whether 'simple' index-notation is supported for path segments or not: simple meaning that if a path segment is a textual representation of a non-negative integer value with length of 9 or less (that is, up to but no including one billion), it will be considered index, not property name.

protected String
_pathSeparator

Default path separator to use for hierarchic paths, if any; empty String may be used to indicate that no hierarchy should be inferred using a simple separator (although index markers may still be used, if defined).

protected char
_pathSeparatorEscapeChar

Default escape character to use for single character path separators , enabling the pathSeparator to be included in a segment.

protected String
_prefix

Optional prefix to strip and append to key names.

protected transient JPropPathSplitter
_splitter

Since splitter instances are slightly costly to build in some cases, we will lazily instantiate and cache them.

protected boolean
_writeIndexUsingMarkers

Whether array-element paths are written using start/end markers (see _indexMarker or "simple" index number: if set to true AND markers are specified as non-empty Strings, will use sequence of

   startMarker index endMarker
protected static final Markers
protected static final JavaPropsSchema
private static final long

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
private <V> boolean
_equals(V a, V b)

public static JavaPropsSchema
public int
public String
getSchemaType()

Implements com.fasterxml.jackson.core.FormatSchema.getSchemaType.

Method that can be used to get an identifier that can be used for diagnostics purposes, to indicate what kind of data format this schema is used for: typically it is a short name of format itself, but it can also contain additional information in cases where data format supports multiple types of schemas.

public String
public Markers
public String
public String
public String
public boolean
public String
public char
public JPropPathSplitter
pathSplitter()

Accessor for getting a JPropPathSplitter instance that does splitting according to the settings of this instance.

public String
public JavaPropsSchema
public JavaPropsSchema
withHeader(String v)

Mutant factory for constructing schema instance where specified header section (piece of text written out right before actual properties entries) will be used.

public JavaPropsSchema
public JavaPropsSchema
public JavaPropsSchema
public JavaPropsSchema
public JavaPropsSchema
withoutHeader()

Convenience method, functionally equivalent to:

   withHeader("")
public JavaPropsSchema
public JavaPropsSchema
public JavaPropsSchema
withoutPathSeparator()

Mutant factory method for constructing a new instance that specifies that no "path splitting" is to be done: this is similar to default behavior of java.util.Properties in which keys are full Strings and there is no nesting of values.

public JavaPropsSchema
public JavaPropsSchema
withPathSeparator(String v)

Mutant factory method for constructing a new instance with specified path separator; default being comma (".").

public JavaPropsSchema
withPathSeparatorEscapeChar(char v)

Mutant factory method for constructing a new instance with a different escape character to use for single character path separators , enabling the pathSeparator to be included in a segment.

public JavaPropsSchema
withPrefix(String v)

Mutant factory for constructing schema instance where specified prefix is prepended before logical path when generator writes output and removed by parser before binding back as properties.

public JavaPropsSchema
public boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_firstArrayOffsetback to summary
protected int _firstArrayOffset

Specifies index number used when writing the first array entry (which in Java has index of 0). After this initial value, additional elements will have consecutive values, incremented by 1. Note that this setting has no effect on reading: input indexes are only used for sorting values, and their exact values have no meaning.

Default value is 1.

_headerback to summary
protected String _header

Optional header to prepend before any other output: typically a comment section or so. Note that contents here are NOT modified in any way, meaning that any comment indicators (leading '#' or '!') and linefeeds MUST be specified by caller.

_indexMarkerback to summary
protected Markers _indexMarker

Default start marker for index access, if any; empty String may be used to indicate no marker-based index detection should be made.

Default value of "[" is usually combined with end marker of "]" to allow C/Java-style bracket notation, like "settings.path[1]".

_keyValueSeparatorback to summary
protected String _keyValueSeparator

String added between key and value; needs to include the "equals character" (either '=' or ':', both allowed by Java Properties specification), may also include white before and/or after "equals character". Default value is a single '=' character with no white spaces around

_lineEndingback to summary
protected String _lineEnding

String added after value, including at least one linefeed. Default value is the 'Unix linefeed'.

_lineIndentationback to summary
protected String _lineIndentation

String prepended before key value, as possible indentation

_parseSimpleIndexesback to summary
protected boolean _parseSimpleIndexes

Whether 'simple' index-notation is supported for path segments or not: simple meaning that if a path segment is a textual representation of a non-negative integer value with length of 9 or less (that is, up to but no including one billion), it will be considered index, not property name.

Note that this settings does NOT control whether "start/end marker" indicated indexes are enabled or not; those depend on _indexMarker.

Default value is true, "plain" index segments are supported.

_pathSeparatorback to summary
protected String _pathSeparator

Default path separator to use for hierarchic paths, if any; empty String may be used to indicate that no hierarchy should be inferred using a simple separator (although index markers may still be used, if defined).

_pathSeparatorEscapeCharback to summary
protected char _pathSeparatorEscapeChar

Default escape character to use for single character path separators , enabling the pathSeparator to be included in a segment. Note that this is only used if the path separator is a single character. The default value is NULL ('\0') which effectively disables escape processing. The escape character is only used for escaping either the pathSeparator character or a sequence of escape characters immediately prior to the pathSeparator. i.e., if the pathSeparator is "." and the escape char is '#' then "a#.b" produces a segment called "a.b", but "a##.b" produces a segment called "a#" with a child called "b" and "a###.b" produces a segment called "a#.b". Finally, "a#b" produces a segment called "a#b" - the escape processing is only used immediately prior to the path separator. Any escape character may be used. Backslash ('\\') is the most obvious candidate but be aware that the JDK Properties loader has its own rules for escape processing (documented in the Javadoc for Properties.load ) that will remove ALL duplicated backslash characters (and also carry out other escape handling) before the JavaPropsMapper gets to see them.

Since
2.14
_prefixback to summary
protected String _prefix

Optional prefix to strip and append to key names. Useful when subset of properties need to be processed.

Since
2.10
_splitterback to summary
protected transient JPropPathSplitter _splitter

Since splitter instances are slightly costly to build in some cases, we will lazily instantiate and cache them.

_writeIndexUsingMarkersback to summary
protected boolean _writeIndexUsingMarkers

Whether array-element paths are written using start/end markers (see _indexMarker or "simple" index number: if set to true AND markers are specified as non-empty Strings, will use sequence of

   startMarker index endMarker
to include index in path; otherwise will simply use textual representation of the index number as path segment, prefixed by path separator as necessary.
DEFAULT_INDEX_MARKERback to summary
protected static final Markers DEFAULT_INDEX_MARKER
EMPTYback to summary
protected static final JavaPropsSchema EMPTY
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

JavaPropsSchemaback to summary
public JavaPropsSchema()
JavaPropsSchemaback to summary
public JavaPropsSchema(JavaPropsSchema base)

Method Detail

_equalsback to summary
private <V> boolean _equals(V a, V b)
emptySchemaback to summary
public static JavaPropsSchema emptySchema()
firstArrayOffsetback to summary
public int firstArrayOffset()
getSchemaTypeback to summary
public String getSchemaType()

Implements com.fasterxml.jackson.core.FormatSchema.getSchemaType.

Doc from com.fasterxml.jackson.core.FormatSchema.getSchemaType.

Method that can be used to get an identifier that can be used for diagnostics purposes, to indicate what kind of data format this schema is used for: typically it is a short name of format itself, but it can also contain additional information in cases where data format supports multiple types of schemas.

Returns:String

Logical name of schema type

Annotations
@Override
headerback to summary
public String header()
indexMarkerback to summary
public Markers indexMarker()
keyValueSeparatorback to summary
public String keyValueSeparator()
lineEndingback to summary
public String lineEnding()
lineIndentationback to summary
public String lineIndentation()
parseSimpleIndexesback to summary
public boolean parseSimpleIndexes()
pathSeparatorback to summary
public String pathSeparator()
pathSeparatorEscapeCharback to summary
public char pathSeparatorEscapeChar()
Since
2.14
pathSplitterback to summary
public JPropPathSplitter pathSplitter()

Accessor for getting a JPropPathSplitter instance that does splitting according to the settings of this instance.

Note that instance is constructed lazily as needed, but reused afterwards for this instance (and for these specific settings).

prefixback to summary
public String prefix()
Since
2.10
withFirstArrayOffsetback to summary
public JavaPropsSchema withFirstArrayOffset(int v)
withHeaderback to summary
public JavaPropsSchema withHeader(String v)

Mutant factory for constructing schema instance where specified header section (piece of text written out right before actual properties entries) will be used. Note that caller must specify any and all linefeeds to use: generator will NOT modify header String contents in any way, and will not append a linefeed after contents (if any).

withIndexMarkerback to summary
public JavaPropsSchema withIndexMarker(Markers v)
withKeyValueSeparatorback to summary
public JavaPropsSchema withKeyValueSeparator(String v)
withLineEndingback to summary
public JavaPropsSchema withLineEnding(String v)
withLineIndentationback to summary
public JavaPropsSchema withLineIndentation(String v)
withoutHeaderback to summary
public JavaPropsSchema withoutHeader()

Convenience method, functionally equivalent to:

   withHeader("")
used to ensure that no header is prepended before actual property values are output.
Since
2.8
withoutIndexMarkerback to summary
public JavaPropsSchema withoutIndexMarker()
withoutLineIndentationback to summary
public JavaPropsSchema withoutLineIndentation()
Since
2.8
withoutPathSeparatorback to summary
public JavaPropsSchema withoutPathSeparator()

Mutant factory method for constructing a new instance that specifies that no "path splitting" is to be done: this is similar to default behavior of java.util.Properties in which keys are full Strings and there is no nesting of values.

withParseSimpleIndexesback to summary
public JavaPropsSchema withParseSimpleIndexes(boolean v)
withPathSeparatorback to summary
public JavaPropsSchema withPathSeparator(String v)

Mutant factory method for constructing a new instance with specified path separator; default being comma ("."). Note that setting separator to `null` or empty String will basically disable handling of nesting, similar to calling withoutPathSeparator.

withPathSeparatorEscapeCharback to summary
public JavaPropsSchema withPathSeparatorEscapeChar(char v)

Mutant factory method for constructing a new instance with a different escape character to use for single character path separators , enabling the pathSeparator to be included in a segment. Note that this is only used if the path separator is a single character. The default value is NULL ('\0') which effectively disables escape processing. The escape character is only used for escaping either the pathSeparator character or a sequence of escape characters immediately prior to the pathSeparator. i.e., if the pathSeparator is "." and the escape char is '#' then "a#.b" produces a segment called "a.b", but "a##.b" produces a segment called "a#" with a child called "b" and "a###.b" produces a segment called "a#.b". Finally, "a#b" produces a segment called "a#b" - the escape processing is only used immediately prior to the path separator. Any escape character may be used. Backslash ('\\') is the most obvious candidate but be aware that the JDK Properties loader has its own rules for escape processing (documented in the Javadoc for Properties.load ) that will remove ALL duplicated backslash characters (and also carry out other escape handling) before the JavaPropsMapper gets to see them.

Since
2.14
withPrefixback to summary
public JavaPropsSchema withPrefix(String v)

Mutant factory for constructing schema instance where specified prefix is prepended before logical path when generator writes output and removed by parser before binding back as properties.

Since
2.10
withWriteIndexUsingMarkersback to summary
public JavaPropsSchema withWriteIndexUsingMarkers(boolean v)
writeIndexUsingMarkersback to summary
public boolean writeIndexUsingMarkers()