$URL: svn+ssh://christianc@svn.forge.objectweb.org/svnroot/barracudamvc/Barracuda2/trunk/WEB-INF/src_docs/architecture/comp/overview.html $ - $Revision: 125 $

Plankton FAQ

This document tries to answer frequently asked questions (FAQ) about the Plankton Utilities library.

  1. What is plankton?
  2. What are the major features of Plankton?
  3. What does the Plankton Data Collection provide?

Q1: What is Plankon?

Plankton is really just a convenient term used to describe the org.barracudamvc.core.util.* classes contained within the Barracuda Presentation Framework. Many of these classes address problems that occur across a wide range of problem domains. As such, they can be viewed as belonging to the lower levels of the development food chain, hence the name Plankton.

Plankton classes are used extensively within Barracuda, but as some developers may wish to use these classes in other places as well, Plankton is available as a standalone jar file which can be found in the /WEB-INF/jars directory. Some of the classes may have dependencies on 3rd party libraries (like Log4j and XMLC).

Q2: What are the major features of Plankton?

For an in-depth explanation of all the functionality available, please refer to the Javadocs. In brief, however, Plankton addresses the following areas:

Q3: What does the Plankton Data Collection provide?

A: The Plankton Data Collection classes extend the functionality found in the standard java.util Data Collection classes. The UML is available here. In a nutshell, you get PMap and PList data types which provide all the functionality of the standard Map and List interfaces, with 2 key behavioural additions:

  1. All Plankton data structures have the notion of parental hierarchy (they can have a parent). This allows you to navigate bi-directionally (both up and down) through a collection of data. With the standard Java Collections classes, you can only navigate down.
     

  2. All Plankton data structures carry the notion of state. They do this by implementing the StateMap interface. This is particularly useful when you'd like to use the collection mechanism to assemble a hierarchy of data elements, but you also wish to associate additional "state" data about the various elements (without actually modifying the element data).

 

 


$Date: 2006-01-02 15:59:13 -0500 (Mon, 02 Jan 2006) $