Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Package com.RuntimeCollective.webapps.bean

Webapps is the core module of Josephine.


Interface Summary
Actor Abstract class for all objects that wrap a registered user of a Runtime Webapp.
DBFile Database entry which manages and refers to an file in the database
Duplicable Interface to implement if you want an EntityBean to be duplicable, that is, to make it possible to duplicate a bean into a new one, with the same properties, but a new id.
EntityBean A javabean must implement this interface in order to be handled by the EntityBeanStore.
PermissionBean Deprecated. This class shouldn't be used anymore - use the Permissions packages instead.
SequenceBean An interface for beans that can be identified by a sequence property -- this can either be a string representing an integer or a single letter.
TrackedUser A User whose logins and sessions we track.
User Interface for all objects that represent a registered user of a Runtime Webapp.
Versioned Interface to implement if you want an EntityBean to be duplicable, that is, to make it possible to duplicate a bean into a new one, with the same properties, but a new id.

Class Summary
Address An address.
AuditedExtension This Extension can be used to collect creation/lastModified user/date on any EntityBean.
AuditInfo A store for historical audit information about beans.
BeanFileFolder Object that represents a folder containing files associated with an EntityBean.
Crumb A single crumb of the crumb trail.
DateBean A date (and optional time) entered by a user (system-generated dates can stick with java.util.Date.).
FormDate A time stamp with bean style accessors which is the counterpart of ideas.tag.DateInputTag.
LabelValue A label value pair.
LoginCookie Keeps track of users who want to stay logged in
ModeratedExtension This is an extension which can be stuck to any EntityBean, and allows for the storage of moderation information for that bean.
ScreenFlowState A stack of local forwards for screens with a very simplistic workflow.
SearchResult A bean containing a single line of a search result.
ServletFile A wrapper to a DBFile which makes it more convenient to use in a servlet context.
Session The Session object is the identification that a User has logged in, and when.
SimpleActor A simple abstract implementation of the Actor interface that exposes the properties of the underlying User.
SimpleDBFile Database entry which manages and refers to an file in the database
SimpleTrackedUser The default implementation of TrackedUser.
SimpleUser Simple implementation of the User interface representing a user that has an address.
TreeExtension This is an extension which places the extended EntityBean into a tree, thus having 0/1 parent and 0/n children.
UserGroup A group of users.
UserGroupType A type of user group.
VersionedExtension An extension which can be used to stick the Versioned behaviour to any Duplicable bean.
WebFolder Object that represents the webfolder of a user -- a directory that sits on the server and can be accessed using WebDav.

Package com.RuntimeCollective.webapps.bean Description

Webapps is the core module of Josephine. It adds basic components to the Struts framework, held in the com.RuntimeCollective.webapps.* packages (webapps, webapps.bean, webapps.form, webapps.action, and webapps.tag). The javadoc has more information about each class; the following is just an overview.

1. webapps.tag

The com.RuntimeCollective.webapps.tag package includes a number of custom tags to make it easier to write JSP pages. See the individual javadoc for more details. These tags are configured using the etc/runtime-struts.tld file.

2. webapps.bean

The com.RuntimeCollective.webapps.bean package includes basic beans that are common for community systems. These can be used 'as is' or extended as necessary. The most important ones are: In addition the following interfaces are defined:

3. webapps.form

Beans often have an associated form (eg SimpleUserForm for editing the User bean). In such cases the form should be held in the com.RuntimeCollective.my_application.form package, extend the org.apache.struts.ActionForm class.

In addition, the following interface is defined:

  • BeanForm - this interface specifies methods for getting information to and from the corresponding entity bean. This interface is widely used by the persistence model.
  • (See the individual javadoc, and section 4 below for more details.)

    4. Webapps persistence model

    The Struts framework does not specify a mechanism for persisting beans to a database, or holding them in memory, so this is done using the Webapps persistence model, which comprises the following parts:

    5. Sample pages and actions

    Webapps includes some sample jsp pages (in the web/ directory) and actions (in the webapps.action package) that use the Webapps forms.

    6. Miscellaneous

    The Webapps framework also includes the following additional elements.

    7. The BeanMaker

    A lot of time can be spent just writing bean-code for an application (all those sets and gets), so Webapps includes a simple application for generating code for beans and their corresponding forms automatically. The rs_makeBean.html page prompts for the name, package, and description of the bean and form, and the type, name, and description of up to 20 properties. It will then generate the appropriate code, including stubs for the new and save methods and the populateForm and populateBean methods (see the EntityBean and BeanForm interfaces for more details).

    Note that the code is not quite ready-to-run. There are often slight differences between form and bean property types, for example. But this application can save a lot of writing. It can also be used to just generate a code fragment for the get and set methods of a single property, which can then be inserted into existing code.