@Override public void writeStartArray(int size) throws IOException { if (_itemFilter == null) { _filterContext = _filterContext.createChildArrayContext(null, false); return; } if (_itemFilter == TokenFilter.INCLUDE_ALL) { _filterContext = _filterContext.createChildArrayContext(_itemFilter, true); delegate.writeStartArray(size); return; } _itemFilter = _filterContext.checkValue(_itemFilter); if (_itemFilter == null) { _filterContext = _filterContext.createChildArrayContext(null, false); return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { _itemFilter = _itemFilter.filterStartArray(); } if (_itemFilter == TokenFilter.INCLUDE_ALL) { _checkParentPath(); _filterContext = _filterContext.createChildArrayContext(_itemFilter, true); delegate.writeStartArray(size); } else { _filterContext = _filterContext.createChildArrayContext(_itemFilter, false); } }
@Override public void writeStartObject(Object forValue) throws IOException { if (_itemFilter == null) { _filterContext = _filterContext.createChildObjectContext(_itemFilter, false); return; } if (_itemFilter == TokenFilter.INCLUDE_ALL) { _filterContext = _filterContext.createChildObjectContext(_itemFilter, true); delegate.writeStartObject(forValue); return; } TokenFilter f = _filterContext.checkValue(_itemFilter); if (f == null) { return; } if (f != TokenFilter.INCLUDE_ALL) { f = f.filterStartObject(); } if (f == TokenFilter.INCLUDE_ALL) { _checkParentPath(); _filterContext = _filterContext.createChildObjectContext(f, true); delegate.writeStartObject(forValue); } else { // filter out _filterContext = _filterContext.createChildObjectContext(f, false); } }
protected boolean _checkBinaryWrite() throws IOException { if (_itemFilter == null) { return false; } if (_itemFilter == TokenFilter.INCLUDE_ALL) { return true; } if (_itemFilter.includeBinary()) { // close enough? _checkParentPath(); return true; } return false; }
/** * Method called to check whether value is to be included at current output * position, either as Object property, Array element, or root value. */ public TokenFilter checkValue(TokenFilter filter) { // First, checks for Object properties have been made earlier: if (_type == TYPE_OBJECT) { return filter; } // We increase it first because at the beginning of array, value is -1 int ix = ++_index; if (_type == TYPE_ARRAY) { return filter.includeElement(ix); } return filter.includeRootValue(ix); }
f = f.filterStartArray(); f = f.filterStartObject(); f = _headContext.getFilter(); if ((f != null) && (f != TokenFilter.INCLUDE_ALL)) { f.filterFinishArray(); continue main_loop; f = f.includeProperty(name); if (f == null) { // filter out the value delegate.nextToken(); f = _headContext.checkValue(f); if ((f == TokenFilter.INCLUDE_ALL) || ((f != null) && f.includeValue(delegate))) { if (_verifyAllowedMatches()) { return (_currToken = t);
@Override public void writeNumber(double v) throws IOException { if (_itemFilter == null) { return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { TokenFilter state = _filterContext.checkValue(_itemFilter); if (state == null) { return; } if (state != TokenFilter.INCLUDE_ALL) { if (!state.includeNumber(v)) { return; } } _checkParentPath(); } delegate.writeNumber(v); }
protected boolean _checkRawValueWrite() throws IOException { if (_itemFilter == null) { return false; } if (_itemFilter == TokenFilter.INCLUDE_ALL) { return true; } if (_itemFilter.includeRawValue()) { // close enough? _checkParentPath(); return true; } return false; } }
@Override public void writeFieldName(String name) throws IOException { TokenFilter state = _filterContext.setFieldName(name); if (state == null) { _itemFilter = null; return; } if (state == TokenFilter.INCLUDE_ALL) { _itemFilter = state; delegate.writeFieldName(name); return; } state = state.includeProperty(name); _itemFilter = state; if (state == TokenFilter.INCLUDE_ALL) { _checkPropertyParentPath(); } }
@Override public void writeBoolean(boolean v) throws IOException { if (_itemFilter == null) { return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { TokenFilter state = _filterContext.checkValue(_itemFilter); if (state == null) { return; } if (state != TokenFilter.INCLUDE_ALL) { if (!state.includeBoolean(v)) { return; } } _checkParentPath(); } delegate.writeBoolean(v); }
@Override public void writeNull() throws IOException { if (_itemFilter == null) { return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { TokenFilter state = _filterContext.checkValue(_itemFilter); if (state == null) { return; } if (state != TokenFilter.INCLUDE_ALL) { if (!state.includeNull()) { return; } } _checkParentPath(); } delegate.writeNull(); }
@Override public TokenFilter includeElement(final int index) { return filter(filter -> filter.includeElement(index)); }
@Override public TokenFilter includeRootValue(final int index) { return filter(filter -> filter.includeRootValue(index)); }
f = f.filterStartArray(); f = f.filterStartObject(); f.filterFinishArray(); continue main_loop; f = f.includeProperty(name); if (f == null) { // filter out the value delegate.nextToken(); f = _headContext.checkValue(f); if ((f == TokenFilter.INCLUDE_ALL) || ((f != null) && f.includeValue(delegate))) { if (_verifyAllowedMatches()) { return _nextBuffered(buffRoot);
@Override public void writeNumber(long v) throws IOException { if (_itemFilter == null) { return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { TokenFilter state = _filterContext.checkValue(_itemFilter); if (state == null) { return; } if (state != TokenFilter.INCLUDE_ALL) { if (!state.includeNumber(v)) { return; } } _checkParentPath(); } delegate.writeNumber(v); }
/** * Method called to check whether value is to be included at current output * position, either as Object property, Array element, or root value. */ public TokenFilter checkValue(TokenFilter filter) { // First, checks for Object properties have been made earlier: if (_type == TYPE_OBJECT) { return filter; } // We increase it first because at the beginning of array, value is -1 int ix = ++_index; if (_type == TYPE_ARRAY) { return filter.includeElement(ix); } return filter.includeRootValue(ix); }
protected boolean _checkRawValueWrite() throws IOException { if (_itemFilter == null) { return false; } if (_itemFilter == TokenFilter.INCLUDE_ALL) { return true; } if (_itemFilter.includeRawValue()) { // close enough? _checkParentPath(); return true; } return false; } }
@Override public void writeFieldName(String name) throws IOException { TokenFilter state = _filterContext.setFieldName(name); if (state == null) { _itemFilter = null; return; } if (state == TokenFilter.INCLUDE_ALL) { _itemFilter = state; delegate.writeFieldName(name); return; } state = state.includeProperty(name); _itemFilter = state; if (state == TokenFilter.INCLUDE_ALL) { _checkPropertyParentPath(); } }
@Override public void writeBoolean(boolean v) throws IOException { if (_itemFilter == null) { return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { TokenFilter state = _filterContext.checkValue(_itemFilter); if (state == null) { return; } if (state != TokenFilter.INCLUDE_ALL) { if (!state.includeBoolean(v)) { return; } } _checkParentPath(); } delegate.writeBoolean(v); }
@Override public void writeNull() throws IOException { if (_itemFilter == null) { return; } if (_itemFilter != TokenFilter.INCLUDE_ALL) { TokenFilter state = _filterContext.checkValue(_itemFilter); if (state == null) { return; } if (state != TokenFilter.INCLUDE_ALL) { if (!state.includeNull()) { return; } } _checkParentPath(); } delegate.writeNull(); }
f = f.filterStartArray(); f = f.filterStartObject(); f = _headContext.getFilter(); if ((f != null) && (f != TokenFilter.INCLUDE_ALL)) { f.filterFinishArray(); break; f = f.includeProperty(name); if (f == null) { delegate.nextToken(); f = _headContext.checkValue(f); if ((f == TokenFilter.INCLUDE_ALL) || ((f != null) && f.includeValue(delegate))) { if (_verifyAllowedMatches()) { return (_currToken = t);