@Override public void beginObject() throws IOException { Map<?, ?> peeked = require(Map.class, Token.BEGIN_OBJECT); JsonIterator iterator = new JsonIterator( Token.END_OBJECT, peeked.entrySet().toArray(new Object[peeked.size()]), 0); stack[stackSize - 1] = iterator; scopes[stackSize - 1] = JsonScope.EMPTY_OBJECT; // If the iterator isn't empty push its first value onto the stack. if (iterator.hasNext()) { push(iterator.next()); } }
@Override public void beginArray() throws IOException { List<?> peeked = require(List.class, Token.BEGIN_ARRAY); JsonIterator iterator = new JsonIterator( Token.END_ARRAY, peeked.toArray(new Object[peeked.size()]), 0); stack[stackSize - 1] = iterator; scopes[stackSize - 1] = JsonScope.EMPTY_ARRAY; pathIndices[stackSize - 1] = 0; // If the iterator isn't empty push its first value onto the stack. if (iterator.hasNext()) { push(iterator.next()); } }
@Override public void beginObject() throws IOException { Map<?, ?> peeked = require(Map.class, Token.BEGIN_OBJECT); JsonIterator iterator = new JsonIterator( Token.END_OBJECT, peeked.entrySet().toArray(new Object[peeked.size()]), 0); stack[stackSize - 1] = iterator; scopes[stackSize - 1] = JsonScope.EMPTY_OBJECT; // If the iterator isn't empty push its first value onto the stack. if (iterator.hasNext()) { push(iterator.next()); } }
@Override public void beginArray() throws IOException { List<?> peeked = require(List.class, Token.BEGIN_ARRAY); JsonIterator iterator = new JsonIterator( Token.END_ARRAY, peeked.toArray(new Object[peeked.size()]), 0); stack[stackSize - 1] = iterator; scopes[stackSize - 1] = JsonScope.EMPTY_ARRAY; pathIndices[stackSize - 1] = 0; // If the iterator isn't empty push its first value onto the stack. if (iterator.hasNext()) { push(iterator.next()); } }
@Override public void endObject() throws IOException { JsonIterator peeked = require(JsonIterator.class, Token.END_OBJECT); if (peeked.endToken != Token.END_OBJECT || peeked.hasNext()) { throw typeMismatch(peeked, Token.END_OBJECT); } pathNames[stackSize - 1] = null; remove(); }
@Override public void endArray() throws IOException { JsonIterator peeked = require(JsonIterator.class, Token.END_ARRAY); if (peeked.endToken != Token.END_ARRAY || peeked.hasNext()) { throw typeMismatch(peeked, Token.END_ARRAY); } remove(); }
@Override public void endArray() throws IOException { JsonIterator peeked = require(JsonIterator.class, Token.END_ARRAY); if (peeked.endToken != Token.END_ARRAY || peeked.hasNext()) { throw typeMismatch(peeked, Token.END_ARRAY); } remove(); }
@Override public void endObject() throws IOException { JsonIterator peeked = require(JsonIterator.class, Token.END_OBJECT); if (peeked.endToken != Token.END_OBJECT || peeked.hasNext()) { throw typeMismatch(peeked, Token.END_OBJECT); } pathNames[stackSize - 1] = null; remove(); }