Package org.oddjob.arooa

AROOA stands for A Rip Off Of Ant, and provides ant like configuration.

See:
          Description

Interface Summary
ComponentProxyResolver  
ComponentRestorer An implementation is able to restore a component which will be used as a primary component in the ArooaFramework.
ConfigurationListener  
ObjectFactory Interface for a factory that is capable of creating an object.
RuntimeConfiguration  
 

Class Summary
ArooaClassLoader Used to load classes within ant with a different classpath from that used to start ant.
ArooaConstants Constant values used in the Arooa Framework.
ArooaContext Context information for the processing.
ArooaFactory Builds an object from XML.
ArooaHandler The common superclass for all SAX event handlers used to parse the configuration file.
ArooaRuntime Wrapper class that holds the attributes of an element, its children, and any text within it.
Lifecycle Various utility methods used in the lifecycle of a component.
Location Stores the location of a piece of text within a file (file name, line number and column number).
PropertyHelper Used for replacing properties in strings.
PropertyProxyResolver Provide a PropertyProxy Object which will be used to set a property with it's valueOf method.
RootHandler Handler for ant processing.
SimpleObjectFactory A Simple object factory that uses property sets of name class pairs to create the objects.
 

Exception Summary
ArooaConfigException  
ArooaException An exception used when creation fails.
 

Package org.oddjob.arooa Description

AROOA stands for A Rip Off Of Ant, and provides ant like configuration.

An ArooaHandler is used to process the XML these are quite confusing. This table shows the sequence of events for a small document.

context1  context3 
context2  context4 
<doc>  h1.onStartChild("doc", context1)
h2.onStartElement("doc" contex2)
 <fred x="y">  h2.onStartChild("fred", atts="x" context2)
h3.onStartElement("fred", atts=x, context3)
 <jane a="b"/> h3.onStartChild("jane", atts=a, context3)
h4.onStartElement("jane", atts=a, context4)
h4.onEndElement("jane", context4)
h3.onEndChild("jane", context3)
 </fred>  h3.onEndElement("fred", context3)
h2.onEndChild("fred", context2)
</doc>  h2.onEndElement("doc", context2)
h1.onEndChild("doc", context1)

h1 is typically a MainHandler which just returns the next handler h2.

h2 is typically a DocumentStartHandler.

h3 and h4 are typically either a DefaultComponentHandler, NestedPropertyHandler, MappedPropertyHandler or NestedElementHandler depending on the methods the object being configured has.