/** {@inheritDoc} */ public int fromHost( final ICobolArrayDbcsBinding ce, final byte[] hostSource, final int offset, final int currentOccurs) throws HostException { List<String> lArray = new ArrayList<String>(); int newOffset = offset; try { for (int i = 0; i < currentOccurs; i++) { String javaString = fromHostSingle( getCobolContext().getHostCharsetName(), ce.getItemByteLength(), hostSource, newOffset); lArray.add(javaString); newOffset += ce.getItemByteLength(); } ce.setStringList(lArray); } catch (CobolConversionException e) { throwHostException(ce, e); } return newOffset; }
/** {@inheritDoc} */ public int toHost( final ICobolArrayDbcsBinding ce, final byte[] hostTarget, final int offset, final int currentOccurs) throws HostException { int newOffset = offset; try { for (String javaSource : ce.getStringList()) { newOffset = toHostSingle( javaSource, getCobolContext().getHostCharsetName(), ce.getItemByteLength(), ce.isJustifiedRight(), hostTarget, newOffset); } /* If necessary, fill in the array with missing items */ for (int i = ce.getStringList().size(); i < currentOccurs; i++) { newOffset = toHostSingle( "", getCobolContext().getHostCharsetName(), ce.getItemByteLength(), ce.isJustifiedRight(), hostTarget, newOffset); } } catch (CobolConversionException e) { throwHostException(ce, e); } return newOffset; }