public class DataFormatDetector extends Object
JsonFactory
instances to use for actual low-level
detection.Modifier and Type | Field and Description |
---|---|
protected JsonFactory[] |
_detectors
Ordered list of factories which both represent data formats to
detect (in precedence order, starting with highest) and are used
for actual detection.
|
protected int |
_maxInputLookahead
Maximum number of leading bytes of the input that we can read
to determine data format.
|
protected MatchStrength |
_minimalMatch
Strength of minimal match we accept as the answer, unless
better matches are found.
|
protected MatchStrength |
_optimalMatch
Strength of match we consider to be good enough to be used
without checking any other formats.
|
static 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.
|
Constructor and Description |
---|
DataFormatDetector(Collection<JsonFactory> detectors) |
DataFormatDetector(JsonFactory... detectors) |
Modifier and Type | Method and Description |
---|---|
DataFormatMatcher |
findFormat(byte[] fullInputData)
Method to call to find format that given content (full document)
has, as per configuration of this detector instance.
|
DataFormatMatcher |
findFormat(byte[] fullInputData,
int offset,
int len)
Method to call to find format that given content (full document)
has, as per configuration of this detector instance.
|
DataFormatMatcher |
findFormat(InputStream in)
Method to call to find format that content (accessible via given
InputStream ) given has, as per configuration of this detector
instance. |
String |
toString() |
DataFormatDetector |
withMaxInputLookahead(int lookaheadBytes)
Method that will return a detector instance that allows detectors to
read up to specified number of bytes when determining format match strength.
|
DataFormatDetector |
withMinimalMatch(MatchStrength minMatch)
Method that will return a detector instance that uses given
minimal match level; match that may be returned unless a stronger match
is found with other format detectors.
|
DataFormatDetector |
withOptimalMatch(MatchStrength optMatch)
Method that will return a detector instance that uses given
optimal match level (match that is considered sufficient to return, without
trying to find stronger matches with other formats).
|
public static final int DEFAULT_MAX_INPUT_LOOKAHEAD
protected final JsonFactory[] _detectors
protected final MatchStrength _optimalMatch
MatchStrength.SOLID_MATCH
,protected final MatchStrength _minimalMatch
MatchStrength.WEAK_MATCH
,protected final int _maxInputLookahead
Default value is DEFAULT_MAX_INPUT_LOOKAHEAD
.
public DataFormatDetector(JsonFactory... detectors)
public DataFormatDetector(Collection<JsonFactory> detectors)
public DataFormatDetector withOptimalMatch(MatchStrength optMatch)
public DataFormatDetector withMinimalMatch(MatchStrength minMatch)
public DataFormatDetector withMaxInputLookahead(int lookaheadBytes)
public DataFormatMatcher findFormat(InputStream in) throws IOException
InputStream
) given has, as per configuration of this detector
instance.IOException
public DataFormatMatcher findFormat(byte[] fullInputData) throws IOException
IOException
public DataFormatMatcher findFormat(byte[] fullInputData, int offset, int len) throws IOException
IOException
Copyright © 2021 JBoss by Red Hat. All rights reserved.