All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fasterxml.jackson.core.format.MatchStrength Maven / Gradle / Ivy

Go to download

Core Jackson processing abstractions (aka Streaming API), implementation for JSON

There is a newer version: 2.17.0
Show newest version
package com.fasterxml.jackson.core.format;

/**
 * Enumeration used to indicate strength of match between data format
 * and piece of data (typically beginning of a data file).
 * Values are in increasing match strength; and detectors should return
 * "strongest" value: that is, it should start with strongest match
 * criteria, and downgrading if criteria is not fulfilled.
 */
public enum MatchStrength
{
    /**
     * Value that indicates that given data can not be in given format.
     */
    NO_MATCH,
    
    /**
     * Value that indicates that detector can not find out whether could
     * be a match or not.
     * This can occur for example for textual data formats t
     * when there are so many leading spaces that detector can not
     * find the first data byte (because detectors typically limit lookahead
     * to some smallish value).
     */
    INCONCLUSIVE,

    /**
     * Value that indicates that given data could be of specified format (i.e.
     * it can not be ruled out). This can occur for example when seen data
     * is both not in canonical formats (for example: JSON data should be a JSON Array or Object
     * not a scalar value, as per JSON specification) and there are known use case
     * where a format detected is actually used (plain JSON Strings are actually used, even
     * though specification does not indicate that as valid usage: as such, seeing a leading
     * double-quote could indicate a JSON String, which plausibly could indicate
     * non-standard JSON usage).
     */
    WEAK_MATCH,
    
    /**
     * Value that indicates that given data conforms to (one of) canonical form(s) of
     * the data format.
     *

* For example, when testing for XML data format, * seeing a less-than character ("<") alone (with possible leading spaces) * would be a strong indication that data could * be in xml format (but see below for {@link #FULL_MATCH} description for more) */ SOLID_MATCH, /** * Value that indicates that given data contains a signature that is deemed * specific enough to uniquely indicate data format used. *

* For example, when testing for XML data format, * seing "<xml" as the first data bytes ("XML declaration", as per XML specification) * could give full confidence that data is indeed in XML format. * Not all data formats have unique leading identifiers to allow full matches; for example, * JSON only has heuristic matches and can have at most {@link #SOLID_MATCH}) match. */ FULL_MATCH ; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy