The runtime handle the store is resolved from.
Runs several statements together.
The runtime handle.
The statements, in order.
One result per statement, in the same order.
Runs a query and returns its first row.
The runtime handle.
The query, using ? placeholders.
Values bound to the placeholders, in order.
The first row, or null when the query matched nothing.
Reports whether the capability is actually usable on this runtime.
The runtime handle.
true when calls will reach a real backing resource.
A capability backed by an optional resource answers false when that
resource was never provisioned. Implementations must document what each
method does in that state — degrade or throw — and must not vary it, since
a caller choosing between two implementations is relying on the answer
meaning the same thing in both.
Runs a statement that changes data.
The runtime handle.
The statement, using ? placeholders.
Values bound to the placeholders, in order.
What the write changed.
Relational storage addressed with SQL.
Remarks
Deliberately expressed in SQL and rows rather than entities. Nothing at this level knows what an article or a user is; mapping rows onto a domain is the business service's job, which is what keeps one storage capability usable by every service in the application.
Unlike a cache, storage is not optional infrastructure — an implementation whose Capability.isAvailable is
falsethrows rather than quietly returning nothing, because a silent empty result set is indistinguishable from real data and would corrupt whatever read it.Author
Bayu Dwiyan Satria
Version
1.0.0
Since
1.0.0