X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fjackson%2FSimpleMapper.java;h=3dd55093dfcb5307f1251155b017d1236014992b;hb=13bc66491ff7d0524655dc01d9c9360e9147abd5;hp=0426720ddedcac3785da0c7559b3f19748ff9a2d;hpb=1bb872d7797daf2488abbd066b8ff6f3642f275d;p=simple-mapper diff --git a/src/main/java/de/juplo/jackson/SimpleMapper.java b/src/main/java/de/juplo/jackson/SimpleMapper.java index 0426720..3dd5509 100644 --- a/src/main/java/de/juplo/jackson/SimpleMapper.java +++ b/src/main/java/de/juplo/jackson/SimpleMapper.java @@ -1,16 +1,10 @@ package de.juplo.jackson; -import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonLocation; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; -import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.net.URL; -import java.util.Collections; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedList; @@ -20,7 +14,6 @@ import java.util.Map.Entry; import java.util.NoSuchElementException; import java.util.Spliterator; import static java.util.Spliterator.IMMUTABLE; -import java.util.Spliterators; import java.util.function.Consumer; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -33,401 +26,12 @@ import org.slf4j.LoggerFactory; * * @author kai */ -public class SimpleMapper +public abstract class SimpleMapper { private static final Logger LOG = LoggerFactory.getLogger(SimpleMapper.class); - private final JsonFactory factory; - - - public SimpleMapper(JsonFactory factory) - { - this.factory = factory; - } - - - public Spliterator getArraySpliterator(File file) - throws - IOException - { - return getArraySpliterator(factory.createParser(file)); - } - - public Spliterator getArraySpliterator(InputStream is) - throws - IOException - { - return getArraySpliterator(factory.createParser(is)); - } - - public Spliterator getArraySpliterator(Reader r) - throws - IOException - { - return getArraySpliterator(factory.createParser(r)); - } - - public Spliterator getArraySpliterator(String content) - throws - IOException - { - return getArraySpliterator(factory.createParser(content)); - } - - public Spliterator getArraySpliterator(URL url) - throws - IOException - { - return getArraySpliterator(factory.createParser(url)); - } - - public Spliterator getArraySpliterator(byte[] data) - throws - IOException - { - return getArraySpliterator(factory.createParser(data)); - } - - public Spliterator getArraySpliterator(char[] content) - throws - IOException - { - return getArraySpliterator(factory.createParser(content)); - } - - public Spliterator getArraySpliterator(byte[] data, int offset, int len) - throws - IOException - { - return getArraySpliterator(factory.createParser(data, offset, len)); - } - - public Spliterator getArraySpliterator(char[] data, int offset, int len) - throws - IOException - { - return getArraySpliterator(factory.createParser(data, offset, len)); - } - - public Stream getArrayStream(File file) - throws - IOException - { - return getArrayStream(factory.createParser(file)); - } - - public Stream getArrayStream(InputStream is) - throws - IOException - { - return getArrayStream(factory.createParser(is)); - } - - public Stream getArrayStream(Reader r) - throws - IOException - { - return getArrayStream(factory.createParser(r)); - } - - public Stream getArrayStream(String content) - throws - IOException - { - return getArrayStream(factory.createParser(content)); - } - - public Stream getArrayStream(URL url) - throws - IOException - { - return getArrayStream(factory.createParser(url)); - } - - public Stream getArrayStream(byte[] data) - throws - IOException - { - return getArrayStream(factory.createParser(data)); - } - - public Stream getArrayStream(char[] content) - throws - IOException - { - return getArrayStream(factory.createParser(content)); - } - - public Stream getArrayStream(byte[] data, int offset, int len) - throws - IOException - { - return getArrayStream(factory.createParser(data, offset, len)); - } - - public Stream getArrayStream(char[] data, int offset, int len) - throws - IOException - { - return getArrayStream(factory.createParser(data, offset, len)); - } - - public Iterator getArrayIterator(File file) - throws - IOException - { - return getArrayIterator(factory.createParser(file)); - } - - public Iterator getArrayIterator(InputStream is) - throws - IOException - { - return getArrayIterator(factory.createParser(is)); - } - - public Iterator getArrayIterator(Reader r) - throws - IOException - { - return getArrayIterator(factory.createParser(r)); - } - - public Iterator getArrayIterator(String content) - throws - IOException - { - return getArrayIterator(factory.createParser(content)); - } - - public Iterator getArrayIterator(URL url) - throws - IOException - { - return getArrayIterator(factory.createParser(url)); - } - - public Iterator getArrayIterator(byte[] data) - throws - IOException - { - return getArrayIterator(factory.createParser(data)); - } - - public Iterator getArrayIterator(char[] content) - throws - IOException - { - return getArrayIterator(factory.createParser(content)); - } - - public Iterator getArrayIterator(byte[] data, int offset, int len) - throws - IOException - { - return getArrayIterator(factory.createParser(data, offset, len)); - } - - public Iterator getArrayIterator(char[] data, int offset, int len) - throws - IOException - { - return getArrayIterator(factory.createParser(data, offset, len)); - } - - - public Spliterator> getObjectSpliterator(File file) - throws - IOException - { - return getObjectSpliterator(factory.createParser(file)); - } - - public Spliterator> getObjectSpliterator(InputStream is) - throws - IOException - { - return getObjectSpliterator(factory.createParser(is)); - } - - public Spliterator> getObjectSpliterator(Reader r) - throws - IOException - { - return getObjectSpliterator(factory.createParser(r)); - } - - public Spliterator> getObjectSpliterator(String content) - throws - IOException - { - return getObjectSpliterator(factory.createParser(content)); - } - - public Spliterator> getObjectSpliterator(URL url) - throws - IOException - { - return getObjectSpliterator(factory.createParser(url)); - } - - public Spliterator> getObjectSpliterator(byte[] data) - throws - IOException - { - return getObjectSpliterator(factory.createParser(data)); - } - - public Spliterator> getObjectSpliterator(char[] content) - throws - IOException - { - return getObjectSpliterator(factory.createParser(content)); - } - - public Spliterator> getObjectSpliterator(byte[] data, int offset, int len) - throws - IOException - { - return getObjectSpliterator(factory.createParser(data, offset, len)); - } - - public Spliterator> getObjectSpliterator(char[] data, int offset, int len) - throws - IOException - { - return getObjectSpliterator(factory.createParser(data, offset, len)); - } - - public Stream> getObjectStream(File file) - throws - IOException - { - return getObjectStream(factory.createParser(file)); - } - - public Stream> getObjectStream(InputStream is) - throws - IOException - { - return getObjectStream(factory.createParser(is)); - } - - public Stream> getObjectStream(Reader r) - throws - IOException - { - return getObjectStream(factory.createParser(r)); - } - - public Stream> getObjectStream(String content) - throws - IOException - { - return getObjectStream(factory.createParser(content)); - } - - public Stream> getObjectStream(URL url) - throws - IOException - { - return getObjectStream(factory.createParser(url)); - } - - public Stream> getObjectStream(byte[] data) - throws - IOException - { - return getObjectStream(factory.createParser(data)); - } - - public Stream> getObjectStream(char[] content) - throws - IOException - { - return getObjectStream(factory.createParser(content)); - } - - public Stream> getObjectStream(byte[] data, int offset, int len) - throws - IOException - { - return getObjectStream(factory.createParser(data, offset, len)); - } - - public Stream> getObjectStream(char[] data, int offset, int len) - throws - IOException - { - return getObjectStream(factory.createParser(data, offset, len)); - } - - public Iterator> getObjectIterator(File file) - throws - IOException - { - return getObjectIterator(factory.createParser(file)); - } - - public Iterator> getObjectIterator(InputStream is) - throws - IOException - { - return getObjectIterator(factory.createParser(is)); - } - - public Iterator> getObjectIterator(Reader r) - throws - IOException - { - return getObjectIterator(factory.createParser(r)); - } - - public Iterator> getObjectIterator(String content) - throws - IOException - { - return getObjectIterator(factory.createParser(content)); - } - - public Iterator> getObjectIterator(URL url) - throws - IOException - { - return getObjectIterator(factory.createParser(url)); - } - - public Iterator> getObjectIterator(byte[] data) - throws - IOException - { - return getObjectIterator(factory.createParser(data)); - } - - public Iterator> getObjectIterator(char[] content) - throws - IOException - { - return getObjectIterator(factory.createParser(content)); - } - - public Iterator> getObjectIterator(byte[] data, int offset, int len) - throws - IOException - { - return getObjectIterator(factory.createParser(data, offset, len)); - } - - public Iterator> getObjectIterator(char[] data, int offset, int len) - throws - IOException - { - return getObjectIterator(factory.createParser(data, offset, len)); - } - - public static Spliterator getArraySpliterator(final JsonParser parser) throws IOException @@ -435,10 +39,7 @@ public class SimpleMapper JsonToken token = parser.nextToken(); if (token == null) - { - LOG.warn("empty input"); - return Spliterators.emptySpliterator(); - } + return null; if (!JsonToken.START_ARRAY.equals(token)) fail(parser, "The root-element must be an array!"); @@ -511,14 +112,7 @@ public class SimpleMapper if (next != null) return true; - return spliterator.tryAdvance(new Consumer() - { - @Override - public void accept(Object o) - { - next = o; - } - }); + return spliterator.tryAdvance((Object o) -> { next = o; }); } @Override @@ -541,10 +135,7 @@ public class SimpleMapper JsonToken token = parser.nextToken(); if (token == null) - { - LOG.warn("empty input"); - return Spliterators.emptySpliterator(); - } + return null; if (!JsonToken.START_OBJECT.equals(token)) fail(parser, "The root-element must be an object!"); @@ -643,14 +234,7 @@ public class SimpleMapper if (next != null) return true; - return spliterator.tryAdvance(new Consumer>() - { - @Override - public void accept(Entry e) - { - next = e; - } - }); + return spliterator.tryAdvance((Entry e) -> { next = e; }); } @Override @@ -666,163 +250,12 @@ public class SimpleMapper } - public List convertArray(File file) throws Exception - { - return convertArray(factory.createParser(file)); - } - - public List convertArray(InputStream is) throws Exception - { - return convertArray(factory.createParser(is)); - } - - public List convertArray(Reader r) throws Exception - { - return convertArray(factory.createParser(r)); - } - - public List convertArray(String content) throws Exception - { - return convertArray(factory.createParser(content)); - } - - public List convertArray(URL url) throws Exception - { - return convertArray(factory.createParser(url)); - } - - public List convertArray(byte[] data) throws Exception - { - return convertArray(factory.createParser(data)); - } - - public List convertArray(char[] content) throws Exception - { - return convertArray(factory.createParser(content)); - } - - public List convertArray(byte[] data, int offset, int len) - throws - Exception - { - return convertArray(factory.createParser(data, offset, len)); - } - - public List convertArray(char[] content, int offset, int len) - throws - Exception - { - return convertArray(factory.createParser(content, offset, len)); - } - - public Map convertObject(File file) throws Exception - { - return convertObject(factory.createParser(file)); - } - - public Map convertObject(InputStream is) throws Exception - { - return convertObject(factory.createParser(is)); - } - - public Map convertObject(Reader r) throws Exception - { - return convertObject(factory.createParser(r)); - } - - public Map convertObject(String content) throws Exception - { - return convertObject(factory.createParser(content)); - } - - public Map convertObject(URL url) throws Exception - { - return convertObject(factory.createParser(url)); - } - - public Map convertObject(byte[] data) throws Exception - { - return convertObject(factory.createParser(data)); - } - - public Map convertObject(char[] content) throws Exception - { - return convertObject(factory.createParser(content)); - } - - public Map convertObject(byte[] data, int offset, int len) - throws - Exception - { - return convertObject(factory.createParser(data, offset, len)); - } - - public Map convertObject(char[] content, int offset, int len) - throws - Exception - { - return convertObject(factory.createParser(content, offset, len)); - } - - public Object convert(File file) throws Exception - { - return convert(factory.createParser(file)); - } - - public Object convert(InputStream is) throws Exception - { - return convert(factory.createParser(is)); - } - - public Object convert(Reader r) throws Exception - { - return convert(factory.createParser(r)); - } - - public Object convert(String content) throws Exception - { - return convert(factory.createParser(content)); - } - - public Object convert(URL url) throws Exception - { - return convert(factory.createParser(url)); - } - - public Object convert(byte[] data) throws Exception - { - return convert(factory.createParser(data)); - } - - public Object convert(char[] content) throws Exception - { - return convert(factory.createParser(content)); - } - - public Object convert(byte[] data, int offset, int len) - throws - Exception - { - return convert(factory.createParser(data, offset, len)); - } - - public Object convert(char[] content, int offset, int len) - throws - Exception - { - return convert(factory.createParser(content, offset, len)); - } - - - static List convertArray(JsonParser parser) throws IOException + public static List convertArray(JsonParser parser) throws IOException { JsonToken token = parser.nextToken(); if (token == null) - { - LOG.warn("empty input"); - return Collections.EMPTY_LIST; - } + return null; if (!JsonToken.START_ARRAY.equals(token)) fail(parser, "The root-element must be an array!"); @@ -835,15 +268,12 @@ public class SimpleMapper return array; } - static Map convertObject(JsonParser parser) throws IOException + public static Map convertObject(JsonParser parser) throws IOException { JsonToken token = parser.nextToken(); if (token == null) - { - LOG.warn("empty input"); - return Collections.EMPTY_MAP; - } + return null; if (!JsonToken.START_OBJECT.equals(token)) fail(parser, "The root-element must be an object!"); @@ -856,15 +286,12 @@ public class SimpleMapper return object; } - static Object convert(JsonParser parser) throws IOException + public static Object convert(JsonParser parser) throws IOException { JsonToken token = parser.nextToken(); if (token == null) - { - LOG.warn("empty input"); return null; - } switch (token) { @@ -888,7 +315,10 @@ public class SimpleMapper { JsonToken token = parser.getCurrentToken(); if (token == null) + { fail(parser, "unexpected EOF"); + return null; // << Will never be reached, because fail always throws an exception + } switch (token) { @@ -902,7 +332,7 @@ public class SimpleMapper case VALUE_NULL: return null; } - fail(parser, "unexpected token " + token.toString()); + fail(parser, "unexpected token " + token); return null; // << Will never be reached, because fail always throws an exception }