/** * When we are sure we have finished parsing the input, we can begin to * fix all cross-references. * @throws ConversionException If cross-references don't add up */ public void dereference() throws ConversionException { for (InboundVariable variable : variables.values()) { variable.dereference(); } }
/** * We have inbound data and a type that we need to convert it into, this * method performs the conversion. */ protected Object convert(String val, Class<?> propType, InboundContext inboundContext, Property property) { String[] split = ConvertUtil.splitInbound(val); String splitValue = split[ConvertUtil.INBOUND_INDEX_VALUE]; String splitType = split[ConvertUtil.INBOUND_INDEX_TYPE]; InboundVariable nested = new InboundVariable(inboundContext, null, splitType, splitValue); nested.dereference(); Property incc = createTypeHintContext(inboundContext, property); return converterManager.convertInbound(propType, nested, incc); }
nested.dereference(); Object output = converterManager.convertInbound(componentType, nested, data.getContext().getCurrentProperty()); Array.set(array, i, output);
String splitIvType = splitIv[ConvertUtil.INBOUND_INDEX_TYPE]; InboundVariable valIv = new InboundVariable(incx, null, splitIvType, splitIvValue); valIv.dereference(); Object val = converterManager.convertInbound(valType, valIv, valProp); keyIv.dereference();