Field<T> class
sealed
The difference between "the caller did not mention this column" and "the caller set this column to NULL".
A Patch carries one of these per writable column:
- AbsentField — the column is not named in the statement. On an UPDATE, the row keeps what it holds; on an INSERT, the column takes its default.
- ValueField — the column is named, and its value is ValueField.value.
Only a nullable column accepts Field<T?>.value(null); a non-null column
given Field<T>.value(null) is a programming error caught at the type
level, because T is not nullable.
final clearCity = CustomerPatch(city: Field<String?>.value(null));
final keepCity = CustomerPatch();
- Implementers
- Annotations
-
- @immutable
Constructors
- Field.absent()
-
The column is not named.
constfactory
- Field.value(T value)
-
The column is named and carries
value.constfactory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- isAbsent → bool
-
Whether this is AbsentField.
no setter
- isPresent → bool
-
Whether this is ValueField.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- value → T
-
The carried value. Throws if this is AbsentField.
no setter
- valueOrNull → T?
-
The value, or null when absent.
no setter
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited