/** * Serializes the given int. Ints will always be serialized in one piece. * * @see openllet.aterm.ATermFwdVoid#voidVisitInt(ATermInt) */ @Override public void voidVisitInt(final ATermInt arg) { _currentBuffer.put(getHeader(arg)); writeInt(arg.getInt()); }
/** * Serializes the given list. List information will always be serialized in one piece. * * @see openllet.aterm.ATermFwdVoid#voidVisitList(ATermList) */ @Override public void voidVisitList(final ATermList arg) { final byte header = getHeader(arg); _currentBuffer.put(header); writeInt(arg.getLength()); }
writeInt(id.intValue());
/** * Serializes the given blob. A blob can be serialized in chunks. * * @see openllet.aterm.ATermFwdVoid#voidVisitBlob(ATermBlob) */ @Override public void voidVisitBlob(final ATermBlob arg) { final int size = arg.getBlobSize(); if (_indexInTerm == 0) { _currentBuffer.put(getHeader(arg)); writeInt(size); } final byte[] blobBytes = arg.getBlobData(); int bytesToWrite = size - _indexInTerm; final int remaining = _currentBuffer.remaining(); if (remaining < bytesToWrite) bytesToWrite = remaining; _currentBuffer.put(blobBytes, _indexInTerm, bytesToWrite); _indexInTerm += bytesToWrite; if (_indexInTerm == size) _indexInTerm = 0; }