com.bigbross.bossa
Class BossaFactory

java.lang.Object
  extended bycom.bigbross.bossa.BossaFactory

public class BossaFactory
extends Object

This class handles the creation of a Bossa instance.

To use it, create an instance of this factory class, configure the available Bossa options by calling methods of this instance and create the Bossa instance using the createBossa() method.

Alternatively, use one of the provided static methods to get a preconfigured Bossa instance.

Author:
BigBross Team

Constructor Summary
BossaFactory()
          Creates a new Bossa factory with default configuration values.
 
Method Summary
 Bossa createBossa()
          Creates a Bossa engine instance using the current configuration of the Bossa factory.
static Bossa defaultBossa()
          Creates a Bossa engine instance with the default configuration values.
 void setActiveHistorian(boolean activeHistorian)
          Configures if the created Bossa will log its events in the historian or not.
 void setStateDir(String dir)
          Configures the directory where Bossa will save its state.
 void setTimeSource(TimeSource timeSource)
          Configures the time source of a transient Bossa engine.
 void setTransientBossa(boolean transientBossa)
          Configures if the created Bossa is transient or not.
static Bossa transientBossa()
          Creates a transient Bossa engine instance, keeping all other default configuration values.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BossaFactory

public BossaFactory()
Creates a new Bossa factory with default configuration values.

Method Detail

setTransientBossa

public void setTransientBossa(boolean transientBossa)
Configures if the created Bossa is transient or not.

A transient Bossa won't save its state, all operations will be lost in case of system shutdown. However, it is still serializable, so it can be included in a larger prevalent system (if this is the case, look the setTimeSource method).

Default: false.

Parameters:
transientBossa - true to create a transient Bossa, false to create a persistent Bossa.
See Also:
setTimeSource(TimeSource)

setTimeSource

public void setTimeSource(TimeSource timeSource)
Configures the time source of a transient Bossa engine. See the documentation of the TimeSource interface for more information on time sources.

If you don't care about how time is handled by the Bossa engine, usa an instance of the RealTimeSource class.

If you are trying to embed a transient Bossa engine in a larger prevalent system, use an instance of the DeterministicTimeSource class. Keep a reference to the time source and set the time in it every time a transaction is executed, all Bossa actions will happen using the time set.

Default: new RealTimeSource().

Parameters:
timeSource - the time source.
See Also:
setTransientBossa(boolean), TimeSource, RealTimeSource, DeterministicTimeSource

setStateDir

public void setStateDir(String dir)
Configures the directory where Bossa will save its state.

If the provided directory is empty, a new Bossa engine will be created. If the provided directory contains data of an already running Bossa engine, it will be restarted using this data.

Default: "BossaState"

Parameters:
dir - the directory where Bossa will save its state.

setActiveHistorian

public void setActiveHistorian(boolean activeHistorian)
Configures if the created Bossa will log its events in the historian or not.

Default: true.

Parameters:
activeHistorian - true for the historian to log events, false for the historian to ignore events.

createBossa

public Bossa createBossa()
                  throws PersistenceException
Creates a Bossa engine instance using the current configuration of the Bossa factory.

Returns:
the newly created bossa engine.
Throws:
PersistenceException - if an error occours starting the persistence mechanism.

defaultBossa

public static Bossa defaultBossa()
                          throws PersistenceException
Creates a Bossa engine instance with the default configuration values.

Returns:
the newly created bossa engine.
Throws:
PersistenceException - if an error occours starting the persistence mechanism.

transientBossa

public static Bossa transientBossa()
                            throws PersistenceException
Creates a transient Bossa engine instance, keeping all other default configuration values.

Returns:
the newly created bossa engine.
Throws:
PersistenceException - if an error occours starting the persistence mechanism.


Copyright © 2003,2004 OpenBR Sistemas S/C Ltda.