@Override public int serialize(ByteBuffer outputBuffer) throws UDRException { int origPos = outputBuffer.position(); super.serialize(outputBuffer); int numCols = uniqueColumns_.size(); // add the binary length of the following array serializeInt(numCols * 4, outputBuffer); for (int u = 0; u < numCols; u++) outputBuffer.putInt(uniqueColumns_.get(u).intValue()); int bytesSerialized = outputBuffer.position() - origPos; validateSerializedLength(bytesSerialized); return bytesSerialized; }
@Override public int deserialize(ByteBuffer inputBuffer) throws UDRException { int numCols = 0; int origPos = inputBuffer.position(); super.deserialize(inputBuffer); validateObjectType(TMUDRObjectType.UNIQUE_CONSTRAINT_INFO_OBJ); numCols = deserializeInt(inputBuffer) / 4; for (int u = 0; u < numCols; u++) { uniqueColumns_.add(deserializeInt(inputBuffer)); } int bytesDeserialized = inputBuffer.position() - origPos; validateDeserializedLength(bytesDeserialized); return bytesDeserialized; }