io.tarantool.driver.api.tuple.operations.TupleOperationDelete Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cartridge-driver Show documentation
Show all versions of cartridge-driver Show documentation
Tarantool Cartridge driver for Tarantool versions 1.10+ based on Netty framework
package io.tarantool.driver.api.tuple.operations;
/**
* Represents deletion operation on tuple
*
* @author Sergey Volgin
*/
public class TupleOperationDelete extends TupleUpdateOperation {
public TupleOperationDelete(int fieldIndex, int value) {
super(TarantoolUpdateOperationType.DELETE, fieldIndex, value);
checkValue(value);
}
public TupleOperationDelete(String fieldName, int value) {
super(TarantoolUpdateOperationType.DELETE, fieldName, value);
checkValue(value);
}
private TupleOperationDelete(TarantoolUpdateOperationType operationType, Integer fieldIndex,
String fieldName, Object value, boolean isProxyOperation) {
super(operationType, fieldIndex, fieldName, value, isProxyOperation);
}
@Override
public TupleOperation toProxyTupleOperation() {
return new TupleOperationDelete(
this.getOperationType(),
this.getFieldNumber(),
this.getFieldName(),
this.getValue(),
true
);
}
private void checkValue(int value) {
if (value <= 0) {
throw new IllegalArgumentException("The number of fields to remove must be greater than zero");
}
}
}