/** * Method called to check whether given serializable value is * considered "empty" value (for purposes of suppressing serialization * of empty values). *<p> * Default implementation will consider only null values to be empty. * * @deprecated Since 2.5 Use {@link #isEmpty(SerializerProvider, Object)} instead; * will be removed from 3.0 */ @Deprecated public boolean isEmpty(T value) { return isEmpty(null, value); }
@Override public boolean isEmpty(SerializerProvider provider, XMLGregorianCalendar value) { return _delegate.isEmpty(provider, _convert(value)); }
@Override public boolean isEmpty(SerializerProvider prov, Object value) { Object delegateValue = convertValue(value); if (delegateValue == null) { return true; } if (_delegateSerializer == null) { // best we can do for now, too costly to look up return (value == null); } return _delegateSerializer.isEmpty(prov, delegateValue); }
@Override public boolean isEmpty(SerializerProvider prov, Entry<?, ?> entry) { Object value = entry.getValue(); if (value == null) { return _suppressNulls; } if (_suppressableValue == null) { return false; } JsonSerializer<Object> valueSer = _valueSerializer; if (valueSer == null) { // Let's not worry about generic types here, actually; // unlikely to make any difference, but does add significant overhead Class<?> cc = value.getClass(); valueSer = _dynamicValueSerializers.serializerFor(cc); if (valueSer == null) { try { valueSer = _findAndAddDynamic(_dynamicValueSerializers, cc, prov); } catch (JsonMappingException e) { // Ugh... cannot just throw as-is, so... return false; } } } if (_suppressableValue == MARKER_FOR_EMPTY) { return valueSer.isEmpty(prov, value); } return _suppressableValue.equals(value); }
@Override public boolean isEmpty(SerializerProvider provider, T value) { // First, absent value (note: null check is just sanity check here) if (!_isValuePresent(value)) { return true; } Object contents = _getReferenced(value); if (contents == null) { // possible for explicitly contained `null` return _suppressNulls; } if (_suppressableValue == null) { return false; } JsonSerializer<Object> ser = _valueSerializer; if (ser == null) { try { ser = _findCachedSerializer(provider, contents.getClass()); } catch (JsonMappingException e) { // nasty but necessary throw new RuntimeJsonMappingException(e); } } if (_suppressableValue == MARKER_FOR_EMPTY) { return ser.isEmpty(provider, contents); } return _suppressableValue.equals(contents); }
if (valueSer.isEmpty(provider, valueElem)) { continue;
if (ser.isEmpty(prov, value)) { return;
if (valueSer.isEmpty(provider, valueElem)) { continue;
if (valueSer.isEmpty(provider, valueElem)) { continue;
if (valueSer.isEmpty(provider, valueElem)) { continue;
if (ser.isEmpty(prov, value)) { return;
if (ser.isEmpty(prov, value)) { // can NOT suppress entries in
if (ser.isEmpty(prov, value)) { return;
if (valueSer.isEmpty(provider, value)) { return;
if (ser.isEmpty(prov, value)) { serializeAsPlaceholder(bean, gen, prov); return;
if (valueSer.isEmpty(provider, valueElem)) { return;
@Override // since 2.6 public boolean isEmpty(SerializerProvider provider, Object value) { if (value == null) { // is null ever passed? return true; } if (value instanceof PersistentCollection) { Object lazy = findLazyValue((PersistentCollection) value); return (lazy == null) || _serializer.isEmpty(provider, lazy); } return _serializer.isEmpty(provider, value); }
@Deprecated // since 2.5 @Override public boolean isEmpty(Object value) { if (value == null) { // is null ever passed? return true; } if (value instanceof PersistentCollection) { Object lazy = findLazyValue((PersistentCollection) value); return (lazy == null) || _serializer.isEmpty(lazy); } return _serializer.isEmpty(value); }
@Deprecated // since 2.5 @Override public boolean isEmpty(Object value) { if (value == null) { // is null ever passed? return true; } if (value instanceof PersistentCollection) { return findLazyValue((PersistentCollection) value) == null; } return _serializer.isEmpty(value); }