Package au.gov.tas.dpiwe.mr.bean

The au.gov.tas.dpiwe.mr.bean package contains the classes and interfaces supporting the development and deployment of Mr Architecture beans, as well as an example bean, consisting of three components, Bean, BeanHome and BeanObject, and its corresponding implementation components, ThinBean, MrBeanHome and MrBean, as would be created by the DeploymentTool.

See:
          Description

Interface Summary
BeanHome An example home interface written by a bean provider as it should be provided to the DeploymentContainer.
BeanObject An example component interface written by a bean provider as it should be provided to the DeploymentContainer.
BeanWrapper A BeanWrapper is an entity bean which contains another entity bean, called the wrapped entity bean.
ClientManagedLocalObject This interface allows an external client to manage the persistence of bean objects.
CloningUtilities This interface provides internal utility methods used during the implementation of deeperClone() in order to preserve relationships.
FieldEqualFinder This is the internal interface implemented by implementations of homes generated by the Mr Architecture DeploymentTool which provides access to information extracted from the home source file about the longest findWhereFieldsEqual() method.
LocalHome Contains additional methods provided in home implementations generated by the Mr Architecture DeploymentTool.
LoginEntityBean This is one of the interfaces used in providing security for applications.
MetaData MetaData objects describe bean types and their constituent fields.
MetaData.TypeRecord Encapsulates the metadata for a particular field in a bean.
MrEntityBean A Mr Architecture "Thin" entity bean implementation has additional life-cycle methods which are used internally.
SecureEntityBeanHome The home of Session/LoginEntityBeans, which provides a single method allowing creation.
SessionEntityBean This is one of the interfaces used in providing security for applications.
SiameseBeanObject A siamese bean object conatins multiple beans joined at the hip.
SimpleValidator This interface specifies that an entity bean can be validated automatically by the architecture (although this may not be sufficient validation, particularly if the bean also implements Validatable.)
UserEntityBean A user entity bean is a token which identifies a user, describes whether they are authenticatable, and provides some indication of authorization credentials.
UserEntityBeanHome The home of UserEntityBeans, which provides a method which can be used by the Architecture to lookup a UserEntityBean.
Validatable This interface specifies that an entity bean can be validated.
WrappedBean A WrappedBean is an entity bean that may have a corresponding BeanWrapper.
 

Class Summary
Bean An example bean written by a bean provider as it should be provided to the DeploymentContainer.
BeanMethodComparator A comparator which orders bean methods on their names, but placing the primary key getter and setter methods first and second respectively.
DebugBean All the methods herein (except containerChanged(), getBeanObject(), throwEJBException() and simpleValidate()) must be provided to implement an entity bean.
Identifier An object which identifies a bean.
MrBean This is an implementation of the abstract Bean class which wraps a ThinBean with container-based persistence logic.
MrBeanHome This is an implementation of the BeanHome interface which allows BeanObjects to be created and retrieved from persistent storage.
MrEntityContext An implementation of EntityContext with a few internal methods utilized by the Architecture added for good measure.
MrImmediateBean A MrImmediateBean wraps a MrBean such that it no longer participates in transactions.
MrMetaData An implementation of MetaData, which encapsulates metainformation about a bean's persistent fields.
MrSiameseBean The implementation of a siamese bean object.
NullBean All the methods herein (except containerChanged(), getBeanObject(), throwEJBException() and simpleValidate()) must be provided to implement an entity bean.
SerializableBeanObject This is a ClientManagedBeanObject wrapper which can be serialized.
ThinBean This is a simple field-based implementation of the abstract Bean class.
ThinSiameseBean This is a simple implementation of a siamese bean.
 

Exception Summary
AlreadyExistsException Exception to indicate that an EJBLocalObject which was to be created was found to already exist.
AlreadyRelatedException This exception is thrown when attempt is made to relate one bean to another when that bean is already realted to the other.
NotUniqueException This exception is thrown when a findByUniqueKey() or findByPrimaryKey() method needs to return more than one bean.
SisterException This exception is thrown when a loadSister() call is made to an original bean or when the original bean's object wrapper cannot be notified in order to synchronize it.
ValidateException Validate exception is thrown when a bean fails a validation test.
ValidateFieldsException ValidateFields exception is thrown when a bean fails one or more validation tests.
 

Package au.gov.tas.dpiwe.mr.bean Description

The au.gov.tas.dpiwe.mr.bean package contains the classes and interfaces supporting the development and deployment of Mr Architecture beans, as well as an example bean, consisting of three components, Bean, BeanHome and BeanObject, and its corresponding implementation components, ThinBean, MrBeanHome and MrBean, as would be created by the DeploymentTool. See the package au.gov.tas.dpiwe.mr.test for beans that have actually been created by the DeploymentTool.

In this package, implementation classes are prefixed by Mr. MrEntityBean is the exception which proves the rule- it is an extension of the EntityBean interface which has some additional methods used internally by the Architecture.

Since:
Mr Architecture 1.0
Author:

Mr Architecture — an EJB 2.1 subset with relational and other extensions
by Kade Hansson <kade.hansson@dpiwe.tas.gov.au>

Concurrent collections framework: Copyright © 1994-2004 Doug Lea and Sun Microsystems, Inc., used under license.

All other code: Copyright © 2001-2004 Department of Primary Industries, Water and Environment (Tasmania.)

Mr Architecture is a not-for-profit project of DPIWE Tasmania. Its code is distributed under the terms of the Lesser GNU Public License (LGPL), either version 2.1 or a later version (at your option.) A copy should have been provided with this distribution, but a copy can be obtained on the web at http://www.gnu.org/licenses/lgpl.html or by writing to:

Free Software Foundation, Inc
59 Temple Place
Suite 330
Boston, MA 02111-1307
USA

Mr Architecture is supplied "as is" without any warranty whatsoever, and should therefore be considered to be without any implied warranty of merchantability or fitness for any particular purpose. See the Lesser GNU Public License (LGPL) for details.

Sun hereby grants Doug Lea a non-exclusive, worldwide, non-transferrable license to use, reproduce, create derivative works of, and distribute the Java software and derivative works thereof in source and binary forms as part of a larger work, and to sublicense the right to use, reproduce and distribute the Java Software and Doug Lea's derivative works as the part of larger works through multiple tiers of sublicensees provided that the following conditions are met:

[The concurrent collections framework] is provided "as is," without warranty of any kind. All express or implied conditions, representations or warranties, including any implied warranty of merchantability, fitness for a particular purpose or non-infringement, are hereby excluded. [Sun] and its licensors shall not be liable for any damages suffered by [a] licensee as a result of using, modifying or distributing the [concurrent collections framework] or its derivatives. In no event will [Sun] or its licensors be liable for any lost revenue, profit or data, or for direct, indirect, special, consequential, incidental or punitive damages, however caused and regardless of the theory of liability, arising out of the use of or inability to use [the concurrent collections framework], even if [Sun] has been advised of the possibility of such damages.

You acknowledge that [the concurrent collections framework] is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.

See Also:
DeploymentTool