Skip navigation links

Package org.apache.taverna.reference

Interfaces for the Taverna 2 reference manager.

See: Description

Package org.apache.taverna.reference Description

Interfaces for the Taverna 2 reference manager. This replaces the (badly named) DataManager and is, in effect, a version 2 of that system. While these APIs are implementation neutral the intent is heavily towards the use of an object relational mapping (ORM) tool such as Hibernate backed by a relational database to hold the various collection, external reference and error documents managed by the reference manager.

For those familiar with the previous DataManager code the table below shows the old class names and the equivalent (where appropriate) in the new code:

DataDocument net.sf.taverna.t2.reference.ReferenceSet
ReferenceScheme net.sf.taverna.t2.reference.ExternalReferenceSPI
EntityIdentifier net.sf.taverna.t2.reference.T2Reference
...

One fundamental change is a move to runtime exceptions rather than checked exceptions. This follows the pattern used by Spring and Hibernate. The rationale is the same as in those systems - in general checked exceptions are not handled properly by client code. The loss of compiler level functionality from moving to runtime exceptions is countered by much higher readability of code which in itself leads to more robust and reliable systems.

A second change is the availability of asynchronous versions of all the critical APIs. Reference construction or translation in particular can be a costly process taking substantial time to complete. Synchronous versions of the get methods still exist but in general the simple callback based asynchronous ones are recommended over them for most applications.

Skip navigation links

Copyright © 2015–2016 The Apache Software Foundation. All rights reserved.