net.sf.jguiraffe.gui.builder
Interface BeanBuilder

All Known Implementing Classes:
JellyBeanBuilder, JellyBuilder

public interface BeanBuilder

Definition of an interface for processing scripts with bean definitions.

A bean builder is able to create and populate BeanStore objects to be used by the dependency injection framework. After a successful build operation the defined beans can be easily accessed.

This interface is pretty lean. It defines only a single method for executing a script with bean definitions. The return value is a data object, from which the initialized BeanStore instances can be queried.

For obtaining concrete implementations of this interface, usually a BeanBuilderFactory is used.

Version:
$Id: BeanBuilder.java 156 2009-03-03 21:04:47Z oheger $
Author:
Oliver Heger

Method Summary
 BeanBuilderResult build(Locator script, MutableBeanStore rootStore, ClassLoaderProvider loaderProvider)
          Executes a script with bean definitions.
 void release(BeanBuilderResult result, ClassLoaderProvider loaderProvider)
          Releases the specified BeanBuilderResult object.
 

Method Detail

build

BeanBuilderResult build(Locator script,
                        MutableBeanStore rootStore,
                        ClassLoaderProvider loaderProvider)
                        throws BuilderException
Executes a script with bean definitions.

Parameters:
script - points to the script to be executed (must not be null)
rootStore - the root BeanStore object; if defined, the processed bean definitions will be added to this store unless otherwise specified; if null, a new bean store will be created
loaderProvider - an object with information about registered class loaders; can be null, then a default class loader provider will be used
Returns:
an object providing access to the BeanStore instances created or populated during the builder operation
Throws:
BuilderException - if an error occurs
java.lang.IllegalArgumentException - if the script is null

release

void release(BeanBuilderResult result,
             ClassLoaderProvider loaderProvider)
Releases the specified BeanBuilderResult object. This frees all resources associated with that data object. Especially on all BeanProvider objects found in one of the BeanStores referenced by the BeanBuilderResult object the shutdown() method is called. When the data produced by a BeanBuilder is no more needed clients should invoke this method to ensure a proper clean up.

Parameters:
result - the BeanBuilderResult object to be released (must not be null)
loaderProvider - an object with information about registered class loaders; can be null, then a default class loader provider will be used
Throws:
java.lang.IllegalArgumentException - if the data object is null


Copyright © 2009 The JGUIraffe Team. All Rights Reserved.