Package io.debezium.document
Interface Value
-
- All Superinterfaces:
Comparable<Value>
- All Known Implementing Classes:
BinaryValue,ComparableValue,ConvertingValue,NullValue
@Immutable public interface Value extends Comparable<Value>
A value in aDocumentorArray. Note thatcompareTo(io.debezium.document.Value, io.debezium.document.Value)might perform literal comparisons; to perform semantic comparisons, usecomparable()to obtain a wrapped value with semantic comparison capability.- Author:
- Randall Hauch
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceValue.NullHandlerstatic classValue.Type
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ArrayasArray()BigDecimalasBigDecimal()BigIntegerasBigInteger()BooleanasBoolean()byte[]asBytes()DocumentasDocument()DoubleasDouble()FloatasFloat()IntegerasInteger()LongasLong()NumberasNumber()ObjectasObject()Get the raw value.StringasString()Valueclone()Obtain a clone of this value.default Valuecomparable()Get a Value representation that will allow semantic comparison of values, rather than the literal comparison normally performed bycompareTo(io.debezium.document.Value, io.debezium.document.Value).static intcompareTo(Value value1, Value value2)Compare twoValueobjects, which may or may not be null.Valueconvert()Get a Value representation that will convert attempt to convert values.static Valuecreate(boolean value)static Valuecreate(byte[] value)static Valuecreate(double value)static Valuecreate(float value)static Valuecreate(int value)static Valuecreate(long value)static Valuecreate(Array value)static Valuecreate(Document value)static Valuecreate(Double value)static Valuecreate(Float value)static Valuecreate(Integer value)static Valuecreate(Long value)static Valuecreate(Object value)static Valuecreate(String value)static Valuecreate(BigDecimal value)static Valuecreate(BigInteger value)default Value.TypegetType()default booleanifArray(Consumer<Array> consumer)If a value is an array, invoke the specified consumer with the value, otherwise do nothing.default booleanifBigDecimal(Consumer<BigDecimal> consumer)If a value is a variable-sized decimal, invoke the specified consumer with the value, otherwise do nothing.default booleanifBigInteger(Consumer<BigInteger> consumer)If a value is a variable-sized integer, invoke the specified consumer with the value, otherwise do nothing.default booleanifBinary(Consumer<byte[]> consumer)If a value is a byte array, invoke the specified consumer with the value, otherwise do nothing.default booleanifBoolean(Consumer<Boolean> consumer)If a value is a boolean value, invoke the specified consumer with the value, otherwise do nothing.default booleanifDocument(Consumer<Document> consumer)If a value is a document, invoke the specified consumer with the value, otherwise do nothing.default booleanifDouble(DoubleConsumer consumer)If a value is a double, invoke the specified consumer with the value, otherwise do nothing.default booleanifFloat(DoubleConsumer consumer)If a value is a float, invoke the specified consumer with the value, otherwise do nothing.default booleanifInteger(IntConsumer consumer)If a value is an integer, invoke the specified consumer with the value, otherwise do nothing.default booleanifLong(LongConsumer consumer)If a value is a long, invoke the specified consumer with the value, otherwise do nothing.default booleanifNull(Value.NullHandler consumer)If a value is a variable-sized integer, invoke the specified consumer with the value, otherwise do nothing.default booleanifString(Consumer<String> consumer)If a value is a string, invoke the specified consumer with the value, otherwise do nothing.booleanisArray()booleanisBigDecimal()booleanisBigInteger()booleanisBinary()booleanisBoolean()booleanisDocument()booleanisDouble()booleanisFloat()booleanisInteger()booleanisLong()default booleanisNotNull()booleanisNull()static booleanisNull(Value value)booleanisNumber()booleanisString()static booleanisValid(Object value)static booleannotNull(Value value)static ValuenullValue()-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Method Detail
-
isNull
static boolean isNull(Value value)
-
notNull
static boolean notNull(Value value)
-
isValid
static boolean isValid(Object value)
-
compareTo
static int compareTo(Value value1, Value value2)
Compare twoValueobjects, which may or may not be null.- Parameters:
value1- the first value object, may be nullvalue2- the second value object, which may be null- Returns:
- a negative integer if the first value is less than the second, zero if the values are equivalent (including if both are null), or a positive integer if the first value is greater than the second
-
create
static Value create(boolean value)
-
create
static Value create(int value)
-
create
static Value create(long value)
-
create
static Value create(float value)
-
create
static Value create(double value)
-
create
static Value create(BigInteger value)
-
create
static Value create(BigDecimal value)
-
create
static Value create(byte[] value)
-
nullValue
static Value nullValue()
-
getType
default Value.Type getType()
-
asObject
Object asObject()
Get the raw value.- Returns:
- the raw value; may be null
-
asString
String asString()
-
asInteger
Integer asInteger()
-
asLong
Long asLong()
-
asBoolean
Boolean asBoolean()
-
asNumber
Number asNumber()
-
asBigInteger
BigInteger asBigInteger()
-
asBigDecimal
BigDecimal asBigDecimal()
-
asFloat
Float asFloat()
-
asDouble
Double asDouble()
-
asDocument
Document asDocument()
-
asArray
Array asArray()
-
asBytes
byte[] asBytes()
-
isNull
boolean isNull()
-
isNotNull
default boolean isNotNull()
-
isString
boolean isString()
-
isInteger
boolean isInteger()
-
isLong
boolean isLong()
-
isBoolean
boolean isBoolean()
-
isNumber
boolean isNumber()
-
isBigInteger
boolean isBigInteger()
-
isBigDecimal
boolean isBigDecimal()
-
isFloat
boolean isFloat()
-
isDouble
boolean isDouble()
-
isDocument
boolean isDocument()
-
isArray
boolean isArray()
-
isBinary
boolean isBinary()
-
convert
Value convert()
Get a Value representation that will convert attempt to convert values.- Returns:
- a value that can convert actual values to the requested format
-
comparable
default Value comparable()
Get a Value representation that will allow semantic comparison of values, rather than the literal comparison normally performed bycompareTo(io.debezium.document.Value, io.debezium.document.Value).- Returns:
- the Value that will perform semantic comparisons; never null
-
clone
Value clone()
Obtain a clone of this value.- Returns:
- the clone of this value; never null, but possibly the same instance if the underlying value is immutable and not a document or array
-
ifDocument
default boolean ifDocument(Consumer<Document> consumer)
If a value is a document, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a document- Returns:
- true if the block was called, or false otherwise
-
ifArray
default boolean ifArray(Consumer<Array> consumer)
If a value is an array, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is an array- Returns:
- true if the block was called, or false otherwise
-
ifString
default boolean ifString(Consumer<String> consumer)
If a value is a string, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a string- Returns:
- true if the block was called, or false otherwise
-
ifBoolean
default boolean ifBoolean(Consumer<Boolean> consumer)
If a value is a boolean value, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a boolean- Returns:
- true if the block was called, or false otherwise
-
ifBinary
default boolean ifBinary(Consumer<byte[]> consumer)
If a value is a byte array, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a byte array- Returns:
- true if the block was called, or false otherwise
-
ifInteger
default boolean ifInteger(IntConsumer consumer)
If a value is an integer, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is an integer- Returns:
- true if the block was called, or false otherwise
-
ifLong
default boolean ifLong(LongConsumer consumer)
If a value is a long, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a long- Returns:
- true if the block was called, or false otherwise
-
ifFloat
default boolean ifFloat(DoubleConsumer consumer)
If a value is a float, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a float- Returns:
- true if the block was called, or false otherwise
-
ifDouble
default boolean ifDouble(DoubleConsumer consumer)
If a value is a double, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a double- Returns:
- true if the block was called, or false otherwise
-
ifBigInteger
default boolean ifBigInteger(Consumer<BigInteger> consumer)
If a value is a variable-sized integer, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a big integer- Returns:
- true if the block was called, or false otherwise
-
ifBigDecimal
default boolean ifBigDecimal(Consumer<BigDecimal> consumer)
If a value is a variable-sized decimal, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a big decimal- Returns:
- true if the block was called, or false otherwise
-
ifNull
default boolean ifNull(Value.NullHandler consumer)
If a value is a variable-sized integer, invoke the specified consumer with the value, otherwise do nothing.- Parameters:
consumer- block to be executed if the value is a big integer- Returns:
- true if the block was called, or false otherwise
-
-