public interface RoleClosureIterator
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
next()
Returns the next (as yet unreturned) role in the transitive closure of
the grant or grant-1 relation.
|
java.lang.String next()
throws StandardException
Example:
Assume a set of created roles forming nodes:
{a1, a2, a3, b, c, d, e, f, h, j}
Assume a set of GRANT statements forming arcs:
GRANT a1 TO b; GRANT b TO e; GRANT e TO h;
GRANT a1 TO c; GRANT e TO f;
GRANT a2 TO c; GRANT c TO f; GRANT f TO h;
GRANT a3 TO d; GRANT d TO f; GRANT a1 to j;
a1 a2 a3
/ | \ | |
/ b +--------> c d
j | \ /
e---+ \ /
\ \ \ /
\ \---------+ \ /
\ \_ f
\ /
\ /
\ /
\ /
\ /
\ /
h
An iterator on the inverse relation starting at h for the above
grant graph will return:
closure(h, grant-inv) = {h, e, b, a1, f, c, a2, d, a3}
An iterator on normal (not inverse) relation starting at a1 for the above grant graph will return:
closure(a1, grant) = {a1, b, j, e, h, f, c}
StandardExceptionApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.