Data Request Broker
2-3-release

Package fr.gael.drb

DRB main package containing the main interfaces, default and abstract classes.

See:
          Description

Interface Summary
DrbAttribute Generic attribute interface.
DrbAttributeList Collection of attributes.
DrbFactoryImpl Common interface for Node factory implementations.
DrbItem Item interface.
DrbMutableNode Mutable node interface.
DrbNode Node interface.
DrbNodeList Collection of nodes.
DrbNodesChangeListener Interface for listening DRB node changes.
DrbNodesChangeProducer Interface identifying any node change procucer.
DrbSequence Collection of item.
DrbUpdateImpl Common interface for Node factory implementations.
 

Class Summary
DrbAbstractAttribute Abstract attribute implementation.
DrbAbstractNode This class provides a skeletal implementation of the DrbNode interface, to minimize the effort required to implement this interface.
DrbAbstractNodeList This class provides a skeletal implementation of the DrbNodeList interface, to minimize the effort required to implement this interface.
DrbAbstractSequence This class provides a skeletal implementation of the DrbSequence interface, to minimize the effort required to implement this interface.
DrbDefaultAttribute Default attribute implementation.
DrbDefaultAttributeList Generic implementation of DrbAttributeList.
DrbDefaultMutableNode Simple mutable node implementation.
DrbDefaultNodeList Generic implementation of DrbNodeList.
DrbDefaultNodesChangeProducer A basic implementation of the DrbNodesChangeProducer.
DrbDefaultSequence Generic implementation of DrbSequence.
DrbFactory Node constructor.
DrbNodesChangeEvent Event reporting node changes.
 

Package fr.gael.drb Description

DRB main package containing the main interfaces, default and abstract classes.

Define how to manipulate data within the unified data model

DRB API® relies on a unified data model to represent each data elements. This last presents the data file content as an ordered tree structure which elements are nodes. Each node is described similarly to XML standards by its name, its namespace, its attributes and its atomic value c.f. XML Data Model. In others words, a node is a named logical unit of a data source annotated with attributes. Complex nodes such as directories, ZIP entries or data records contain an ordered collection of children nodes. Simple nodes store a typed value such as a character string, a number, a date or an array of atomic values. For instance, in the following XML document, there is a node named "title", its namespace is "http://www.gael.fr", its single attribute is named "lang" and its atomic value "JAVA Threads":

<book xmlns="http://www.gael.fr" isbn="2-84177-079-6">
   <title lang="en">JAVA Threads</title>
   <author>Scott Oaks</author>
   <author>Henry Wong</author>
   <editor>O'Reilly</editor>
</book>

Moreover, thanks to its namespace, expressed according to W3C recommendations, a node can be located within the tree structure by its parent, its children or its siblings. In the previous XML document, the parent of the node called "title" is "book", it doesn't have any child, its sibling are "author" (2 nodes) and "editor".

The unified data model defines also a supplementary element called "Item" . Item encompasses the elements "Node", "Attribute" and "Value" in order to increases the abstraction level and allow global processing each of them. Finally, the model also defines the element called "Sequence" which is a collection of items. This collection may be for example the result of a query which need to be quantified. All those extra elements are descriptive tools which help to manipulate data files in many complex data accessing issues.

Parameter/Type Node Attribute Value
Namespace x x x
Value x x x
Name x x
Attribute x
Child x

Description of items type and parameters

The fr.gael.drb package contains the DrbNode, DrbAttribute and DrbItem interfaces which provide primary operations to retrieve information related to item description such as name, namespace, attribute, value but also parent, children or sibling. This set of interfaces browse data files and navigate along the ancestor/descendant axis and preceding/following axis. It updates, renames, replaces, removes, inserts or appends nodes. It provides direct access to the children nodes, sibling nodes, parent node, root node, values and attributes. The fr.gael.drb package also contains the DrbSequence, DrbNodeList and DrbAttributeList interfaces which provide primary operations to read, remove, counts items within a list.

Activate appropriate implementation

DRB API® relies on implementations to build the data tree defined before. Each implementation access the data file content for a specific data format. The implementation usually wraps an existing access library which allows to extract information for such format. The fr.gael.drb package contains DrbFactoryImpl interface which provide all primary operations required to retrieve such information and converse accordingly to the unified data model.

The fr.gael.drb package also contains DrbFactory class which trigs operations which activate the appropriate implementation by calling the appropriate implementation packages. It is able to build the tree structure of any file as long its extension is supported by DRB API®. They can be viewed from the help command line:

java -jar [DRB_INSTALLATION_HOME]/lib/java/drb-[M]-[m]-[t].jar --help impl


Data Request Broker - DRB API®
2-3-release

Copyright© 2001-2009 GAEL Consultant. All rights reserved. Use is subject to license terms .