public abstract class ValueUpdate<T extends FieldValue> extends Object
Modifier and Type | Class and Description |
---|---|
static class |
ValueUpdate.ValueUpdateClassID |
Modifier and Type | Field and Description |
---|---|
protected ValueUpdate.ValueUpdateClassID |
valueUpdateClassID |
Modifier | Constructor and Description |
---|---|
protected |
ValueUpdate(ValueUpdate.ValueUpdateClassID valueUpdateClassID) |
Modifier and Type | Method and Description |
---|---|
abstract FieldValue |
applyTo(FieldValue oldValue) |
protected abstract void |
checkCompatibility(DataType fieldType) |
static ValueUpdate |
createAdd(FieldValue value)
Creates a new value update specifying an addition of a value to an array or a key to a weighted set (with default weight 1).
|
static ValueUpdate |
createAdd(FieldValue key,
Integer weight)
Creates a new value update specifying an addition of a key (with a specified weight) to a weighted set.
|
static List<ValueUpdate> |
createAddAll(List<? extends FieldValue> values)
Creates a new value update
specifying an addition of all values in a given list to an array.
|
static List<ValueUpdate> |
createAddAll(WeightedSet<? extends FieldValue> set)
Creates a new value update
specifying an addition of all key/weight pairs in a weighted set to a weighted set.
|
static ValueUpdate |
createAssign(FieldValue newValue)
Creates a new value update that assigns a new value, completely overwriting
the previous value.
|
static ValueUpdate |
createClear()
Creates a new value update that clears the field fromthe document.
|
static ValueUpdate |
createDecrement(FieldValue key,
Number decrement)
Creates a new value update that decrements a weight in a weighted set.
|
static ValueUpdate |
createDecrement(Number decrement)
Creates a new value update that decrements a value.
|
static ValueUpdate |
createDivide(FieldValue key,
Number divisor)
Creates a new value update that divides a weight in a weighted set.
|
static ValueUpdate |
createDivide(Number divisor)
Creates a new value update that divides a value.
|
static ValueUpdate |
createIncrement(FieldValue key,
Number increment)
Creates a new value update that increments a weight in a weighted set.
|
static ValueUpdate |
createIncrement(Number increment)
Creates a new value update that increments a value.
|
static ValueUpdate |
createMap(FieldValue value,
ValueUpdate update)
Creates a map value update, which is able to map an update to a value to a subvalue in an array or a
weighted set.
|
static ValueUpdate |
createMultiply(FieldValue key,
Number factor)
Creates a new value update that multiplies a weight in a weighted set.
|
static ValueUpdate |
createMultiply(Number factor)
Creates a new value update that multiplies a value.
|
static ValueUpdate |
createRemove(FieldValue value)
Creates a new value update specifying the removal of a value from an array or a key/weight from a weighted set.
|
static List<ValueUpdate> |
createRemoveAll(List<? extends FieldValue> values)
Creates a new value update
specifying the removal of all values in a given list from an array or weighted set.
|
static List<ValueUpdate> |
createRemoveAll(WeightedSet<? extends FieldValue> values)
Creates a new value update
specifying the removal of all values in a given list from an array or weighted set.
|
boolean |
equals(Object o) |
abstract T |
getValue()
Returns the primary "value" of this update, or null if this kind of update has no value
|
ValueUpdate.ValueUpdateClassID |
getValueUpdateClassID()
Returns the valueUpdateClassID of this value update.
|
int |
hashCode() |
abstract void |
serialize(DocumentUpdateWriter data,
DataType superType) |
abstract void |
setValue(T value)
Sets the value of this.
|
String |
toString() |
protected ValueUpdate.ValueUpdateClassID valueUpdateClassID
protected ValueUpdate(ValueUpdate.ValueUpdateClassID valueUpdateClassID)
public ValueUpdate.ValueUpdateClassID getValueUpdateClassID()
protected abstract void checkCompatibility(DataType fieldType)
public abstract void serialize(DocumentUpdateWriter data, DataType superType)
public abstract FieldValue applyTo(FieldValue oldValue)
public static ValueUpdate createAdd(FieldValue value)
value
- the value to add to the array, or key to add to the weighted setIllegalArgumentException
- if the runtime type of newValue does not match the type requiredUnsupportedOperationException
- if the field type is not array or weighted setpublic static ValueUpdate createAdd(FieldValue key, Integer weight)
key
- the key to addweight
- the weight to associate with the given keyIllegalArgumentException
- if the runtime type of key does not match the type requiredUnsupportedOperationException
- if the field type is not array or weighted setpublic static List<ValueUpdate> createAddAll(List<? extends FieldValue> values)
values
- a List containing the values to addIllegalArgumentException
- if the runtime type of values does not match the type requiredUnsupportedOperationException
- if the field type is not array or weighted setcreateAdd(FieldValue)
public static List<ValueUpdate> createAddAll(WeightedSet<? extends FieldValue> set)
set
- a WeightedSet containing the key/weight pairs to addIllegalArgumentException
- if the runtime type of values does not match the type requiredUnsupportedOperationException
- if the field type is not weighted set or arraycreateAdd(FieldValue, Integer)
public static ValueUpdate createIncrement(Number increment)
increment
- the number to increment byUnsupportedOperationException
- if the data type is non-numericpublic static ValueUpdate createIncrement(FieldValue key, Number increment)
key
- the key whose weight in the weighted set to incrementincrement
- the number to increment bycreateIncrement(Number)
,
createMap(FieldValue, ValueUpdate)
public static ValueUpdate createDecrement(Number decrement)
decrement
- the number to decrement byUnsupportedOperationException
- if the data type is non-numericpublic static ValueUpdate createDecrement(FieldValue key, Number decrement)
key
- the key whose weight in the weighted set to decrementdecrement
- the number to decrement bycreateDecrement(Number)
,
createMap(FieldValue, ValueUpdate)
public static ValueUpdate createMultiply(Number factor)
factor
- the number to multiply byUnsupportedOperationException
- if the data type is non-numericpublic static ValueUpdate createMultiply(FieldValue key, Number factor)
key
- the key whose weight in the weighted set to multiplyfactor
- the number to multiply bycreateMultiply(Number)
,
createMap(FieldValue, ValueUpdate)
public static ValueUpdate createDivide(Number divisor)
divisor
- the number to divide byUnsupportedOperationException
- if the data type is non-numericpublic static ValueUpdate createDivide(FieldValue key, Number divisor)
key
- the key whose weight in the weighted set to dividedivisor
- the number to divide bycreateDivide(Number)
,
createMap(FieldValue, ValueUpdate)
public static ValueUpdate createAssign(FieldValue newValue)
newValue
- the value to assignIllegalArgumentException
- if the runtime type of newValue does not match the type requiredpublic static ValueUpdate createClear()
public static ValueUpdate createMap(FieldValue value, ValueUpdate update)
value
- the index in case of array, or key in case of weighted setupdate
- the update to apply to the target sub-valueIllegalArgumentException
- in case data type is an array type and value is not an Integer; in case data type is a weighted set type and value is not equal to the nested type of the weighted set; or the encapsulated update throws such an exceptionUnsupportedOperationException
- if superType is a single-value type, or anything else than array or weighted set; or the encapsulated update throws such an exceptionpublic static ValueUpdate createRemove(FieldValue value)
value
- the value to remove from the array, or key to remove from the weighted setIllegalArgumentException
- if the runtime type of newValue does not match the type requiredUnsupportedOperationException
- if the field type is not array or weighted setpublic static List<ValueUpdate> createRemoveAll(List<? extends FieldValue> values)
values
- a List containing the values to removeIllegalArgumentException
- if the runtime type of values does not match the type requiredUnsupportedOperationException
- if the field type is not array or weighted setcreateRemove(FieldValue)
public static List<ValueUpdate> createRemoveAll(WeightedSet<? extends FieldValue> values)
values
- a List containing the values to removeIllegalArgumentException
- if the runtime type of values does not match the type requiredUnsupportedOperationException
- if the field type is not array or weighted setcreateRemove(FieldValue)
public abstract T getValue()
public abstract void setValue(T value)
Copyright © 2018. All rights reserved.