Finalizes locks. Replaces context references with current database, sorts entries, removes duplicates, assigns global read lock if global write lock exists. @param ctx database context @return self reference
(final Context ctx)
| 22 | * @return self reference |
| 23 | */ |
| 24 | public Locks finish(final Context ctx) { |
| 25 | // global write lock: no read locks required |
| 26 | if(writes.global()) reads.reset(); |
| 27 | |
| 28 | // resolve context references, sort, remove duplicates |
| 29 | final Data data = ctx.data(); |
| 30 | final String name = data == null ? null : data.meta.name; |
| 31 | writes.finish(name); |
| 32 | reads.finish(name); |
| 33 | |
| 34 | // remove read locks that are also defined as write locks |
| 35 | reads.remove(writes); |
| 36 | return this; |
| 37 | } |
| 38 | |
| 39 | @Override |
| 40 | public String toString() { |
no test coverage detected