My favorites | Sign in
Project Logo
                
Show all Featured downloads:
kiyaa-0.9.2b.jar

Introduction

Kiyaa was created in the process of building my online accounting software Clarity Accounting, which is currently the best demonstration of this toolkit's usefulness.

The name: "Kiyaa!" is a sound a code ninja can use to focus his ki while crushing bugs with his bare hands.

Template System

Kiyaa templates allow you to define a view using an XHTML+XML file to define the "appearance" of the view, plus a class which provides actions and bindings for that view. These files are theoretically editable by someone who only know XHTML+CSS, but not java.

Features include:

Read more ...

Asynchronous Operations

You'll also find some useful AsyncCallback utility classes, including:

Shared Localization Classes

Kiyaa includes a class which can use javassist to generate an implementation of your Messages and Constants interfaces for any Locale that uses ResourceBundle and honors the GWT annotations.

This is very handy for sharing some localization class between client or server, or just to take advantage of the convenience and type-safety of the GWT system compared to some more cumbersome alternatives.

Note: It doesn't use UTF-8 properties files like GWT does (yet) - I'd need an implementation of ResourceBundle that supports this - GWT's own implementation is in gwt-dev-XXX.jar, which I don't want a dependency on.

It also includes the LocalizedParser interface and a server and client-side implementation of these to use for formatting numbers and dates for the current locale. This allows shared code to do localization; previously you had to use different classes on the client and server because GWT has its own date and number formatters that don't work on the server.

Caching Classes

It includes a set of classes to help add some client-side caching to your RPC services.

DateJs

There's a wrapper for the DateJs javascript date parser that you can use for flexible date input parsing.

Calendar Widget

There's a calendar implementation you can use based on the code for jscalendar, but re-written. However, it'll still work with their CSS, I think.

Custom Combo Box and Popup

There's a somewhat sophisticated combo box and popup system that allows you to implement rich popups with a table or list of choices inside, some actions, and it with the combo box filters the list as you type, to find what you are looking for.

Generator Baseclass

The templating system uses a Generator and I also abstracted some of the Generator logic into a base class you can use to help create your own generators.

PopupPanel patch

Includes a subclass of PopupPanel that hides itself when focus moves to a widget outside the popup. This means that popups will hide correctly if the user uses keyboard navigation to leave the popup instead of clicking.

EJB Access

This includes a Servlet base class you can subclass to provide your GWT code with access to an EJB (either stateful or stateless). The EJB has to implement the interface you want to call (which must be a subclass of RemoteService), and then the Servlet redirects calls to the EJB instead of calling methods on itself. You implementation provides a method getBean() which returns the EJB that you want to direct method calls to.

Other Utilities

In the com.habitsoft.kiyaa.util package ...

Support

If you post to the Google Group I created for the project I'll get an email and answer you at my own leisure. Who knows, one day there may be a little community of people to answer your questions in that group.

Example Application

I've just released a new open source project that uses this code - a live log and stats viewer for glassfish (or similar app-servers). Find it here: glassfish-dashboard









Hosted by Google Code