The Carbon Configuration system provides a flexible
        abstract mechanism for maintaining hierarchical, strongly-typed information.
    
    
        The configuration hierarchy is a tree structure with each node in the tree
        either a Folder, containing other nodes, or a Document, containing configuration
        information. The Carbon Core provides a file based system of nodes, but other
        Carbon modules provide jar, classloader and JNDI bases nodes. The hierarchy
        is extendable to allow implementations of other storage technologies.
    
    
        Configuration documents are accessed in the hierarchy via Java interfaces.
        These interfaces describe the contents of configuration documents. Methods
        called on the interfaces retrieve the information contained within the documents.
        Because the interfaces are strongly-typed,
        developers can be assured of the type of information
        coming from configuration documents. This limits developer mistakes
        and negates the need to write validation logic.
        It also facilitates development and maintenance because configuration interfaces
        and their corresponding javadoc can provide
        clear and concise documentation about what configuration information is required and
        in what format.