@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
@Override public void serializeAsField(Object pojo, JsonGenerator jgen, SerializerProvider provider, PropertyWriter writer) throws Exception { if (writer instanceof BeanPropertyWriter) { try { if (pojo == ((BeanPropertyWriter) writer).get(pojo)) { if (logger.isDebugEnabled()) { logger.debug("Skipping '" + writer.getFullName() + "' on '" + pojo.getClass().getName() + "' as it is self-referential"); } return; } } catch (Exception ex) { if (logger.isDebugEnabled()) { logger.debug("Skipping '" + writer.getFullName() + "' on '" + pojo.getClass().getName() + "' as an exception " + "was thrown when retrieving its value", ex); } return; } } super.serializeAsField(pojo, jgen, provider, writer); }
/** * {@inheritDoc} * * @deprecated Provided for compatibility with deprecated method in Jackson. */ @Override @Deprecated public void serializeAsField( final Object pojo, final JsonGenerator jgen, final SerializerProvider prov, final BeanPropertyWriter writer) throws Exception { if (writer.getAnnotation(LogRedact.class) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { // since 2.3 if (_allowNull && writer.get(pojo) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { jgen.writeStringField(writer.getSerializedName().getValue(), REDACTION_STRING); } } }
@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
@Override public void serializeAsField( final Object pojo, final JsonGenerator jgen, final SerializerProvider prov, final PropertyWriter writer) throws Exception { if (writer instanceof BeanPropertyWriter) { final BeanPropertyWriter beanPropertyWriter = (BeanPropertyWriter) writer; if (beanPropertyWriter.getAnnotation(LogRedact.class) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { if (_allowNull && beanPropertyWriter.get(pojo) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { jgen.writeStringField(beanPropertyWriter.getSerializedName().getValue(), REDACTION_STRING); } } } else { super.serializeAsField(pojo, jgen, prov, writer); } }
throws Exception Object value = get(bean);
@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
throws Exception Object value = get(bean);
@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
throws Exception Object value = get(bean);
@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
throws Exception Object value = get(bean); if (value == null) { // nulls need specialized handling if (_nullSerializer != null) {
@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
throws Exception Object value = get(bean); if (value == null) { // nulls need specialized handling if (_nullSerializer != null) {
@Override public Object generateId(Object forPojo) { try { return _property.get(forPojo); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Problem accessing property '" +_property.getName()+"': "+e.getMessage(), e); } }
@Nullable public T get(final Object bean) throws JsonMappingException { try { //noinspection unchecked return (T) property.get(bean); } catch (Exception e) { throw new JsonMappingException(String.format("Unable to get property value: %s, for instance of: %s", property.getName(), bean.getClass()), e); } } }
@Override public void serialize(T value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { Set<Object> docsToSave = new LinkedHashSet<Object>(); try { for (BeanPropertyWriter writer : documentReferenceFields) { if (!cascadeUpdates(writer.getName(), value)) { continue; } Object o = writer.get(value); findDocumentsToSave(docsToSave, o); } if (docsToSave.size() > 0) { List<DocumentOperationResult> res = couchDbConnector .executeBulk(docsToSave); if (res.size() > 0) { throwBulkUpdateError(res); } } } catch (Exception e) { throw new IOException(e.getMessage(), e); } delegate.serialize(value, jgen, provider); }