# com.beasys.commerce.foundation Package

## Interface Summary

Belonging | A Belonging is a lightweight, local value that can be serialized.
BusinessPolicy | A business policy provides for the implementation of instance specific methods, commonly referred to as the Strategy Pattern (Gamma et al) or the Individual Instance Method Pattern (Fowler).
BusinessPolicyManager | The Business Policy Manager provides an interface by which a set of Business Policies can be associated with any object that implements it.
BusinessSmartComponent | This is the base interface for all Business Smart Component (BSC) classes.
Entity | A Business Smart Component (BSC) Entity provides access to a remote instance of a persistent BSC (EJB Entity Bean).
PropertyCache | This class defines the interfaces that are needed to maintain a local cache of entity properties.
RelationalReference | Interface for metadata required to persist associations.
RemoteRelationalReference | Interface for metadata required to persist associations, FOR REMOTE OBJECTS Associations among classes require certain metadata for persistence: containingEntity: provides foreign key information to containing entity bean classID: identifies a subclass in the database.
Session | A Business Smart Component (BSC) Session provides access to a remote instance of a session-based BSC (EJB Session Bean).
SmartCollectionReference | An interface for classes that wrap a collection, and handle intelligent persistence of the Collection's contents; i.e., only making database calls when necessary rather than updating the entire collection when only a subset of it has changed, etc.
SmartEJBHome | The Smart EJB Home interface is extended by all Business Smart Component home interfaces that service BSCs.
SmartEntityReference | A smart handle optimizes the the use of handles for entity beans by storing a local copy of the primary key (SmartKey) for the BSC Entity.
SmartHome | The SmartHome interface is extended by all Business Smart Component home interfaces.
SmartMapReference | An interface for classes that wrap a Map, and handle intelligent persistence of the Map's contents; i.e., only making database calls when necessary rather than updating the entire Map when only a subset of it has changed, etc.
State | Represents a discrete state in a state machine or workflow.
Transition | A named transition from one `State` to another state.
TransitionPolicy | An action to be completed when a `Transition` takes place on a `StateMachine`.
Workflow | A Business Smart Component (BSC) Workflow provides access to a remote instance of a BSC Workflow Implementation.

## Class Summary

BelongingHome | This is a Belonging home/bean factory.
BelongingImpl | The BelongingImpl provides the abstract base class from which all Belonging implementations must be derived.
BusinessPolicyHome | This is a BusinessPolicy home/bean factory.
EntityHome | This is the abstract base class that all entity homes must extend.
EntityImpl | This is the base implementation of the Business Smart Component (BSC) entity interface.
SessionHome | This is the abstract base class that all session homes must extend.
SessionImpl | This is the base implementation of the Business Smart Component (BSC) Session interface.
SmartComparator | This is an implementation of the Comparator Interface that compares two objects.
SmartKey | For each Entity there must be a primary key class derived from SmartKey.
SmartValue | The SmartValue is a data-only representation of the contents of a BSC Entity.
StateHome | The home class for the State belonging.
StateImpl | Represents a discrete state in a state machine or workflow.
StateMachine | This is the reference implemenation of a Workflow object.
TransitionHome | The home class for the Transition belonging.
TransitionImpl | A named transition from one `State` to another state.
TransitionPolicyHome | The home class for the TransitionPolicy business policy.
TransitionPolicyImpl | An action to be completed when a `Transition` takes place on a `StateMachine`.
WorkflowContext | This class should be used only by the classes that implement the Workflow interface.
WorkflowHome | A specialized home that returns instances of a specific class of Workflow.

## Exception Summary

FatalWorkflowTransitionException | `FatalWorkflowTransitionException` is thrown when an unexpected illegal workflow transition occurs.
IllegalWorkflowTransitionException | IllegalWorkflowTransitionException is thrown when the transition for a workflow is invalid.
WorkflowInstantiationException | Thrown when an application tries to instantiate a workflow that does not exist.