/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, T[] value, JsonDeserializationContext ctx ) { if ( null != value && value.length > 0 ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, T[][] value, JsonDeserializationContext ctx ) { if ( null != value && value.length > 0 ) { for ( T[] array : value ) { for ( T val : array ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } } }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, I value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
@Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
@Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, C value, JsonDeserializationContext ctx ) { if ( null != value && !value.isEmpty() ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
@Override public void setBackReference( String referenceName, Object reference, Optional<T> value, JsonDeserializationContext ctx ) { if ( null != value && value.isPresent() ) { deserializer.setBackReference( referenceName, reference, value.get(), ctx ); } } }
@Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
@Override public void setBackReference( String referenceName, Object reference, C value, JsonDeserializationContext ctx ) { if ( null != value && !value.isEmpty() ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, T value, JsonDeserializationContext ctx ) { if ( null == value ) { return; } JsonDeserializer<T> deserializer = getDeserializer( null, ctx, value.getClass() ).getDeserializer(); if ( deserializer.getClass() != getClass() ) { // we test if it's not this deserializer to avoid an infinite loop deserializer.setBackReference( referenceName, reference, value, ctx ); return; } BackReferenceProperty backReferenceProperty = backReferenceDeserializers.get( referenceName ); if ( null == backReferenceProperty ) { throw ctx.traceError( "The back reference '" + referenceName + "' does not exist" ); } backReferenceProperty.setBackReference( value, reference, ctx ); } }