Skip to content

Commit

Permalink
Add JsonParserBase base class (backport from 3.0) (#1224)
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Feb 15, 2024
1 parent abfd201 commit 3308b00
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 29 deletions.
37 changes: 37 additions & 0 deletions src/main/java/com/fasterxml/jackson/core/json/JsonParserBase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.fasterxml.jackson.core.json;

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.base.ParserBase;
import com.fasterxml.jackson.core.io.IOContext;
import com.fasterxml.jackson.core.util.JacksonFeatureSet;

/**
* Another intermediate base class, only used by actual JSON-backed parser
* implementations.
*
* @since 2.17
*/
public abstract class JsonParserBase
extends ParserBase
{
/*
/**********************************************************************
/* Life-cycle
/**********************************************************************
*/

protected JsonParserBase(IOContext ioCtxt, int features) {
super(ioCtxt, features);
}

/*
/**********************************************************************
/* Capability introspection
/**********************************************************************
*/

@Override
public final JacksonFeatureSet<StreamReadCapability> getReadCapabilities() {
return JSON_READ_CAPABILITIES;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import java.io.*;

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.base.ParserBase;
import com.fasterxml.jackson.core.io.CharTypes;
import com.fasterxml.jackson.core.io.IOContext;
import com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer;
Expand All @@ -17,7 +16,7 @@
* conversion tasks.
*/
public class ReaderBasedJsonParser
extends ParserBase
extends JsonParserBase
{
@SuppressWarnings("deprecation")
private final static int FEAT_MASK_TRAILING_COMMA = Feature.ALLOW_TRAILING_COMMA.getMask();
Expand Down Expand Up @@ -189,11 +188,6 @@ public ReaderBasedJsonParser(IOContext ctxt, int features, Reader r,
@Override public ObjectCodec getCodec() { return _objectCodec; }
@Override public void setCodec(ObjectCodec c) { _objectCodec = c; }

@Override // @since 2.12
public JacksonFeatureSet<StreamReadCapability> getReadCapabilities() {
return JSON_READ_CAPABILITIES;
}

@Override
public int releaseBuffered(Writer w) throws IOException {
int count = _inputEnd - _inputPtr;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import java.io.*;

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.base.ParserBase;
import com.fasterxml.jackson.core.exc.StreamConstraintsException;
import com.fasterxml.jackson.core.io.CharTypes;
import com.fasterxml.jackson.core.io.IOContext;
Expand Down Expand Up @@ -36,7 +35,7 @@
* @since 2.8
*/
public class UTF8DataInputJsonParser
extends ParserBase
extends JsonParserBase
{
@SuppressWarnings("deprecation")
private final static int FEAT_MASK_TRAILING_COMMA = Feature.ALLOW_TRAILING_COMMA.getMask();
Expand Down Expand Up @@ -140,11 +139,6 @@ public void setCodec(ObjectCodec c) {
_objectCodec = c;
}

@Override // @since 2.12
public JacksonFeatureSet<StreamReadCapability> getReadCapabilities() {
return JSON_READ_CAPABILITIES;
}

/*
/**********************************************************
/* Overrides for life-cycle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import java.io.*;

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.base.ParserBase;
import com.fasterxml.jackson.core.exc.StreamConstraintsException;
import com.fasterxml.jackson.core.io.CharTypes;
import com.fasterxml.jackson.core.io.IOContext;
Expand All @@ -17,7 +16,7 @@
* based on a {@link java.io.InputStream} as the input source.
*/
public class UTF8StreamJsonParser
extends ParserBase
extends JsonParserBase
{
final static byte BYTE_LF = (byte) '\n';

Expand Down Expand Up @@ -211,11 +210,6 @@ public void setCodec(ObjectCodec c) {
_objectCodec = c;
}

@Override // @since 2.12
public JacksonFeatureSet<StreamReadCapability> getReadCapabilities() {
return JSON_READ_CAPABILITIES;
}

/*
/**********************************************************
/* Overrides for life-cycle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@
import java.io.*;

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.base.ParserBase;
import com.fasterxml.jackson.core.exc.StreamConstraintsException;
import com.fasterxml.jackson.core.io.IOContext;
import com.fasterxml.jackson.core.json.JsonParserBase;
import com.fasterxml.jackson.core.json.JsonReadContext;
import com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer;
import com.fasterxml.jackson.core.util.ByteArrayBuilder;
import com.fasterxml.jackson.core.util.JacksonFeatureSet;

import static com.fasterxml.jackson.core.JsonTokenId.*;

Expand All @@ -19,7 +18,7 @@
* @since 2.9
*/
public abstract class NonBlockingJsonParserBase
extends ParserBase
extends JsonParserBase
{
/*
/**********************************************************************
Expand Down Expand Up @@ -272,14 +271,15 @@ public void setCodec(ObjectCodec c) {
throw new UnsupportedOperationException("Can not use ObjectMapper with non-blocking parser");
}

/*
/**********************************************************
/* Capability introspection
/**********************************************************
*/

@Override // since 2.9
public boolean canParseAsync() { return true; }

@Override // @since 2.12
public JacksonFeatureSet<StreamReadCapability> getReadCapabilities() {
return JSON_READ_CAPABILITIES;
}

/*
/**********************************************************
/* Test support
Expand Down

0 comments on commit 3308b00

Please sign in to comment.