import ceylon.language.meta.declaration {
Module
}
"A file packaged within a module. A `Resource` may be
obtained by calling [[Module.resourceByPath]]. For example:
Module mod = `module com.redhat.example`;
assert (exists resource
= mod.resourceByPath(\"com/redhat/example/file.txt\"));
print(resource.textContent());"
by("Enrique Zamudio")
see (`function Module.resourceByPath`)
shared interface Resource {
"The name of the resource; usually the filename."
shared default String name {
value pos = uri.lastOccurrence('/');
if (exists pos) {
return uri[pos+1...];
}
return uri;
}
"The size of the resource, in bytes."
shared formal Integer size;
"The full path to the resource, expressed as a URI. For
a resource packaged within a module archive, this
includes both the path to the module archive file, and
the path of the resource within the module archive."
shared formal String uri;
"Retrieves the contents of the resource as a [[String]],
using the specified encoding."
shared formal String textContent(String encoding="UTF-8");
string => "``className(this)``[``uri``]";
}