@Override public FieldValue createFieldValue() { return new TensorFieldValue(tensorType); }
private static TensorFieldValue createTensor(TokenBuffer buffer, TensorType tensorType) { Tensor.Builder tensorBuilder = Tensor.Builder.of(tensorType); readTensorCells(buffer, tensorBuilder); TensorFieldValue result = new TensorFieldValue(tensorType); result.assign(tensorBuilder.build()); return result; }
@Override protected ValueUpdate readTensorModifyUpdate(DataType type) { byte operationId = getByte(null); TensorModifyUpdate.Operation operation = TensorModifyUpdate.Operation.getOperation(operationId); if (operation == null) { throw new DeserializationException("Unknown operation id " + operationId + " for tensor modify update"); } if (!(type instanceof TensorDataType)) { throw new DeserializationException("Expected tensor data type, got " + type); } TensorDataType tensorDataType = (TensorDataType)type; TensorFieldValue tensor = new TensorFieldValue(TensorModifyUpdate.convertToCompatibleType(tensorDataType.getTensorType())); tensor.deserialize(this); return new TensorModifyUpdate(operation, tensor); } }