MACAW

Copyright (C) 2003 Philip Dorrell

MACAW standards for Methods And Classes All Webified. It is a Java application framework layered over Freemarker. It also includes a basic integration with Hibernate, which is contained within the macaw.database package, but this is merely to wrap method invocations within transactions: a similar wrapping can be defined for any other persistence framework.

Example Application

In lieu of more substantial documentation which is yet to be written, the best way to find out more about MACAW is to look at the application that it was initially written for, which is Womcat Bookmarks. Currently the Womcat Bookmarks application source code comes bundled with the installer.

Concepts

The main concept behind MACAW is that each web page is in some sense about an application object. Following this line of thinking, each HTML form submission maps to a method call on an application object.

There are three main layers in a MACAW application:

MACAW includes the following:

Download

Latest version: macaw.v1.1.jar

Release Notes

Roadmap

The conventions used to map template properties and form methods and parameters to Java methods are a bit clunky. One particular problem is that compiled Java method parameters do not have names, which is of course incompatible with HTML form parameters that are explicitly named. The MACAW framework is defined in terms of interface classes WebifiedApplication, WebifiedClass, WebifiedObject and WebifiedMethod. The conventions given above are contained within the default implementations of these interfaces provided in the framework. This leaves open the possibility of using Java attributes, when they become available, or using some existing Java extension that does attributes, as an alternative way of exposing methods with named parameters (and update/non-update flag) to the templates.

Licence

MACAW is licenced under the LGPL

Source Code for LGPL libraries

Hibernate 1.2.5

Powered by ...

Powered by FreeMarker