public String getDeclareCode() { if (isInline()) { return getChildDeclareCodes(); } else { return getChildDeclareCodes() + "var " + getVariableName() + "=[];"; } }
public String getBuildCode() { if (isInline()) { return getChildBuildCodes(); } else { StringBuffer buffer = new StringBuffer(getChildBuildCodes()); int i = 0; String variableName = getVariableName(); for (OutboundVariable child : getChildren()) { if (child != null) { buffer.append(variableName); buffer.append('['); buffer.append(i); buffer.append("]="); buffer.append(child.getAssignCode()); buffer.append(';'); } i++; } buffer.append("\r\n"); return buffer.toString(); } }
public String getAssignCode() { if (isInline()) { StringBuffer buffer = new StringBuffer(); buffer.append("["); boolean first = true; for (OutboundVariable child : getChildren()) { if (!first) { buffer.append(','); } buffer.append(child.getAssignCode()); first = false; } buffer.append("]"); return buffer.toString(); } else { return getVariableName(); } } }
public OutboundVariable convertOutbound(Object data, OutboundContext outctx) throws ConversionException { if (!data.getClass().isArray()) { throw new ConversionException(data.getClass()); } ArrayOutboundVariable ov = new ArrayOutboundVariable(outctx); outctx.put(data, ov); // Convert all the data members int size = Array.getLength(data); List<OutboundVariable> ovs = new ArrayList<OutboundVariable>(); for (int i = 0; i < size; i++) { OutboundVariable nested; try { nested = converterManager.convertOutbound(Array.get(data, i), outctx); } catch (Exception ex) { String errorMessage = "Conversion error for " + data.getClass().getName() + "."; log.warn(errorMessage, ex); nested = new ErrorOutboundVariable(errorMessage); } ovs.add(nested); } // Group the list of converted objects into this OutboundVariable ov.setChildren(ovs); return ov; }
ArrayOutboundVariable ov = new ArrayOutboundVariable(outctx); outctx.put(data, ov); ov.setChildren(ovs);