Package org.activemath.omdocjdom

This package contains a set of classes to provide accessors to OMdoc specific informations on XML trees encoded as a subclass of JDOM documents.

See:
          Description

Interface Summary
Infoable A simple interface to denote objects capable of storing and retrieving any type of information in one slot.
OJCollection A class representing a collection of OMDoc documents, identified with its unique-identifier (it's public-id) and in the future with it's theory-collection element.
OJNode A minimum interface decribing the requirements of a JDOM node.
OJSAXBuilder.LocationProvider  
PointerElement Objects implementing this interface are elements pointing to another elements hence can provide a target-id.
SimplePool.Poolable  
SimplePool.PoolableFactory  
 

Class Summary
DefaultCollection A collection that does nothing but contain a string for marking.
DirectoryCollection A simple OJCollection meaning the collection of OMDocs within a directory and its subdirectories.
ID This implements the ID interface in the simplest manner.
ID.PoolableRE  
IID Simple extension of ID that guarantees that its constituents are interned strings producing faster comparisons.
MDAttribute A pair value and name that's an attribute of an item.
OJConstants This interface should gather all the constants that appear in the omdocjdom classes.
OJConstants.EnNsAnNs  
OJContentCollectionUtil Simple methods to easily find properties of an enclosing collections as determined by a heuristics.
OJDocument A generic subclass of Document to provide support for origin tracking (OJDocument.getCollectionID() and OJDocument.getFile().
OJDynamicItem  
OJElement Objects of these classes are any XML element of an OMdoc.
OJFactory The responsible for creation the JDOM nodes populating the object-structure.
OJgroup This subclass is represents omgroup elements.
OJItem This class implements a default behaviour for an OJItem which supposes a complete OMdoc is loaded as parent of the item.
OJoms Objects of these classes represent ref elements of OMdoc.
OJref Objects of these classes represent ref elements of OMdoc.
OJReferenceAttribute An attribute meant to contain a pointer value.
OJSAXBuilder This class is a simple extension of SAXBuilder that uses its own factory, namely OJFactory.
OJSAXBuilder.LocationInfo A simple record-like class to be used as part of the info OJElement.setInfo(java.lang.Object).
OJSAXBuilder.OJSAXHandler  
OJText This subclass of Text is an almost trivial extension.
OJUtilities  
OJUtilities.NameAndNamespace A simple class to contain a record of a name and a namespace.
OmdocFileFilter  
PlainTextConverter A utility class to convert to plain-text the content of an item's titles and textual content.
ReadWriteLock  
SimplePool Simple pool class with objects that have a life and death.
SimplePoolPassive This extension of SimplePool is meant for SimplePoolPassive.Wrapper objects that do not SimplePool.Poolable.run() but are notified of their SimplePool.Poolable.isBusy() status using method-calls from outside.
XMLOutputterWithClasses A debug-oriented XML-outputter which puts, inside the nodes the class-name.
ZoologyProducer This class produces a recorded-book presenting the items sorted and grouped by types and metadata-attributes.
 

Exception Summary
InvalidID  
MBaseBuildException This exception caused if some thing wrong in the omdoc Document.
NoSuchIDException A generic exception type to store information about what and where are things wrong.
 

Package org.activemath.omdocjdom Description

This package contains a set of classes to provide accessors to OMdoc specific informations on XML trees encoded as a subclass of JDOM documents.

The goal of this API is to specify in a more procedural way than the specification, and implement, the reading of OMdoc informations. It is hoped that this implementation will have general usage so as to have a homogene interpretation of OMdocs.

Aside of these interfaces, an implementation is provided that corresponds mostly to elements loaded in a standalone OMdoc. An implementation for database connected elements may need to modify this implementation so as to ensure the consistency.

To obtain an object structure with objects of this package, an one must build the document with a builder using the OJFactory such as the OJSAXBuilder.

All the node types defined in this package implement the Infoable package which is used as weakly-typed extension mechanism that allows applications to attach informations to the elements during the process of building or afterwards. This package does not use these informations slots, however, an implementation with location informations for the source has been made. This interface was voluntarily weakly typed so as to avoid the cascading load of useless classes (in the case of a the implementation with locations uses classes from the package.html package.

TODO: this package does miss most of the good APIs a program that generates OMdoc would expect. It is planned to have clean constructors like: