public byte[] getString(FlexiRow row, Marker m) { byte[] ret = null; if (child != null) { ret = child.getString(row, m); } else { m.startPos = 0; m.endPos = row.charSiz[srcColPos]; m.lineEndPos = row.charSiz[srcColPos]; ret = row.charArr[srcColPos]; } convert(ret, m); return ret; }
@Override public boolean copyToTmp(FlexiRow src, FlexiRow dst) { if (child != null) { dst.charArr[dstColPos] = child.getString(src, mark); dst.charOffset[dstColPos] = mark.startPos; dst.charSiz[dstColPos] = mark.endPos - mark.startPos; } else { dst.charArr[dstColPos] = src.charArr[srcColPos]; dst.charOffset[dstColPos] = 0; dst.charSiz[dstColPos] = src.charSiz[srcColPos]; mark.endPos = src.charSiz[srcColPos]; } convert(dst.charArr[dstColPos], mark); return true; }