FileSystem component provides a set of operations that are performed on files, directories and abstract pathnames, including: file reading, writing (streams, byte[], String), random access (read, write, rewinding), atomic creation, deletion and renaming; directory creation, deletion, renaming and listings; path name normalisation and basename / directory name splitting and creation of java.net.URL objects that can be used to access the component's functionality.
The primary schema language used throughout ObjectLedge project is RelaxNG, but the Jing library determines the schema languague using XML namespace of the top level element. At the moment XML based schema languages supported by Jing and thus by XMLValidator are W3C XSD, Scheamtron and Namespace Routing Language.
Provides dependant components with a nontion of thread context, that is a set of name - value pairs (boths elements are arbitrary Java objectss) that is specific to the currently executing thread. This allows passing information across the method call stack without actually pushing it through formal arguments. Servlet Request and Response objects, authentication and transactiotion managment objects are conveniently passed around using thread context.
A pipeline component can be considered a composite java.lang.Runnable
implementation. It delegates the invocation of it's run() to a number of
dependant components called Valves. The "units of work" are passed between the
Valves using thread Context.