Implements a resource catalog backed by a resource store.
class base resource catalog
implements resource catalog, reference[dictionary[string, resource identifier] or null]
private resource store the resource store
protected base resource catalog(resource store the resource store, immutable list[string] path)
this • the resource store = the resource store
this • path = path
overload implement resource identifier resolve(string name)
if name • is empty
while index < components • size
else if component == resource util • PARENT CATALOG
if absolute
else if result • is empty
var nonnegative index
if components • first • is empty
else
index = 0
index += 1
if component • is empty || component == resource util • CURRENT CATALOG
continue
if result • is empty
else
else
if result • last == resource util • PARENT CATALOG
else
assert the resource store • allow up
result • remove last()
result • prepend("")
overload implement resource identifier resolve(string name, extension or null the extension)