Class DataFormatReaders

java.lang.Object
com.fasterxml.jackson.databind.deser.DataFormatReaders

public class DataFormatReaders extends Object
Alternative to DataFormatDetector that needs to be used when using data-binding.
Since:
2.1
  • Field Details

    • DEFAULT_MAX_INPUT_LOOKAHEAD

      public static final int DEFAULT_MAX_INPUT_LOOKAHEAD
      By default we will look ahead at most 64 bytes; in most cases, much less (4 bytes or so) is needed, but we will allow bit more leniency to support data formats that need more complex heuristics.
      See Also:
    • _readers

      protected final ObjectReader[] _readers
      Ordered list of readers which both represent data formats to detect (in precedence order, starting with highest) and contain factories used for actual detection.
    • _optimalMatch

      protected final com.fasterxml.jackson.core.format.MatchStrength _optimalMatch
      Strength of match we consider to be good enough to be used without checking any other formats. Default value is MatchStrength.SOLID_MATCH,
    • _minimalMatch

      protected final com.fasterxml.jackson.core.format.MatchStrength _minimalMatch
      Strength of minimal match we accept as the answer, unless better matches are found. Default value is MatchStrength.WEAK_MATCH,
    • _maxInputLookahead

      protected final int _maxInputLookahead
      Maximum number of leading bytes of the input that we can read to determine data format.

      Default value is DEFAULT_MAX_INPUT_LOOKAHEAD.

  • Constructor Details

  • Method Details

    • withOptimalMatch

      public DataFormatReaders withOptimalMatch(com.fasterxml.jackson.core.format.MatchStrength optMatch)
    • withMinimalMatch

      public DataFormatReaders withMinimalMatch(com.fasterxml.jackson.core.format.MatchStrength minMatch)
    • with

      public DataFormatReaders with(ObjectReader[] readers)
    • withMaxInputLookahead

      public DataFormatReaders withMaxInputLookahead(int lookaheadBytes)
    • with

    • withType

      public DataFormatReaders withType(JavaType type)
    • findFormat

      public DataFormatReaders.Match findFormat(InputStream in) throws IOException
      Method to call to find format that content (accessible via given InputStream) given has, as per configuration of this detector instance.
      Returns:
      Matcher object which contains result; never null, even in cases where no match (with specified minimal match strength) is found.
      Throws:
      IOException
    • findFormat

      public DataFormatReaders.Match findFormat(byte[] fullInputData) throws IOException
      Method to call to find format that given content (full document) has, as per configuration of this detector instance.
      Returns:
      Matcher object which contains result; never null, even in cases where no match (with specified minimal match strength) is found.
      Throws:
      IOException
    • findFormat

      public DataFormatReaders.Match findFormat(byte[] fullInputData, int offset, int len) throws IOException
      Method to call to find format that given content (full document) has, as per configuration of this detector instance.
      Returns:
      Matcher object which contains result; never null, even in cases where no match (with specified minimal match strength) is found.
      Throws:
      IOException
      Since:
      2.1
    • toString

      public String toString()
      Overrides:
      toString in class Object