Package net.walend.lyophil

This package contains generic high level interfaces and simple utility classes.

See:
          Description

Interface Summary
Caster This interface provides some simple methods for working with metainformation.
ClassDigger This optional interface returns Sets and Iterators of Freezables that implement a given interface or subinterface.
ConcreteTray An optional interface for back-end storage data access.
Digger This optional marker interface marks classes that return Freezables and Iterators of Freezables.
Freezable Objects for persistent storage should implement this interface.
Freezer This interface defines the basic functions for persisting an object.
Frozen An optional interface for the back-end storage peers.
HasTypableKey Freezables that have a typable key can implement this interface.
IdentifierSource This interface defines a source of identifier Objects.
Mother This interface creates new Freezable objects that fulfil a given named role and interface.
Tray An interface for stateless back-end storage peers.
TypableKeyDigger This optional interface returns classes by typable key.
 

Class Summary
Director A static extension of Director that holds some convinience methods for the lyophilizer.
GenericMother This class implemetns Mother.
InvalidFrozenMap  
 

Exception Summary
CannotCreateException Throw this exception when a Mother, Director, etc., can not Create an Object, usually a Freezable, as expected.
CannotFreezeException Throw this exception when a Freezer can not Freeze a given Freezable.
CannotThawException Throw this exception when a Freezer can not Thaw an Object, usually a Freezable, as expected.
CannotThrowOutException Throw this exception when the underlying system can not throw out a Freezable.
IdentifierUnavailableException Throw this exception when an IdentifierSource can not make a new id Object due to some problem.
KeyDuplicatedException Throw this exception when a Freezer can not Freeze a given Freezable.
LastIdentifierUsedException Throw this exception when an IdentifierSource is out of Identifiers.
LyophilException An abstract NestedException for the Lyophilizer kit.
LyophilRuntimeException An abstract NestedRuntimeException for the Lyophilizer kit.
MismatchedIdentifierException Throw this exception when a Frozen object is asked to freeze the wrong Freezable.
NotInFreezerException Throw this exception if the Freezer just doesn't know about the identifier but everything else is fine.
PersistenceFailureException Throw this exception when the underlying persistence system is hosed.
ZombieFreezableException Algorithms and business logic throw this exception when the Freezer does not contain a given Freezable, but the calling code expects it to.
ZombieIdentifierException Algorithms and business logic throw this exception when the Freezer does not contain a given Identifier, but the calling code expects it to.
 

Package net.walend.lyophil Description

This package contains generic high level interfaces and simple utility classes. Implement the interfaces to use this kit.

The Freezable interface shows that a java object can be persisted. It "should be a java bean" and "should at least be serializable," but that isn't required. The interface has one "getter" method.

The Freezer interface defines the persistence appliance's functions: freeze(Thawed freezable) and thaw(Object identifier).

LyophilException is a RuntimeException that contains the exception that explanes what really went wrong.

The optional IdentifierSource defines the methods that hand out new identifier Objects.

The optional Mother interface creates new Thawed objects when given an interface name. It can be extended in specific cases to work off of other parameters.

The optional Digger interface "discovers" frozen data that meets certain criteria, and hands back collections of thawed Freezable objects.

The optional FancyDirector interface hands out instances of Freezers, IdentifierSources, Mothers, and Diggers. This interface is very handy for writing data transfer widgets.

The static Director class implements the FancyDirector interface with a lot of shortcut methods. You can set the whole thing up from java properites.

The Tray interface is for helper stateless data access classes.

The Frozen interface is for identified data access peers that carry enough state to match one-for-one with a Freezable bean.



Copyright (c) 2000, 2001, David Walend