SalesPoint Framework v3.1

data.stdforms.twotableformsheet
Class CSDBStrategy

java.lang.Object
  extended bysale.stdforms.FormSheetStrategy
      extended bydata.stdforms.twotableformsheet.MoveStrategy
          extended bydata.stdforms.twotableformsheet.CSDBStrategy
All Implemented Interfaces:
ProcessErrorCodes, Serializable

public class CSDBStrategy
extends MoveStrategy

MoveStrategy for a CountingStock source and a DataBasket destination.

Since:
v2.0
Author:
Steffen Zschaler
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class sale.stdforms.FormSheetStrategy
FormSheetStrategy.ErrorHandler
 
Field Summary
 
Fields inherited from class sale.stdforms.FormSheetStrategy
DEFAULT_ERROR_HANDLER, m_ehErrHandler, MSG_POPUP_ERROR_HANDLER
 
Fields inherited from interface sale.ProcessErrorCodes
DATABASKET_CONFLICT_ERROR, DUPLICATE_KEY_EXCEPTION, ERR_INTERNAL, ERR_LOWERBOUND, ERR_NOERROR, ERR_UPPERBOUND, NOT_ENOUGH_ELEMENTS_ERROR, REMOVE_VETO_EXCEPTION
 
Constructor Summary
CSDBStrategy()
           
 
Method Summary
protected  int checkMoveToDest(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, CatalogItem ci, int nCount)
          Check whether the indicated move is allowable.
protected  int checkMoveToSource(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, DataBasketEntry dbe, int nCount)
          Check whether the indicated move is allowable.
protected  Gate getCheckMoveToDestGate(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, CatalogItem ci, int nCount, TwoTableFormSheet ttfs)
          Get the first gate of the sub-process that will move items from the source to the destination.
protected  Gate getCheckMoveToSourceGate(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, DataBasketEntry dbe, int nCount, TwoTableFormSheet ttfs)
          Get the first gate of the sub-process that will move items from the destination to the source.
 Transition getMoveToDestProcess(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, CatalogItem ci, int nCount, TwoTableFormSheet ttfs)
          Get the sub-process that will move items from the source to the destination.
 Transition getMoveToSourceProcess(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, DataBasketEntry dbe, int nCount, TwoTableFormSheet ttfs)
          Get the sub-process that will move items from the destination to the source.
protected  void moveToDest(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, CatalogItem ci, int nCount)
          Move the indicated number of items as indicated into the destination DataBasket.
protected  void moveToSource(SaleProcess p, SalesPoint sp, CountingStock csSource, DataBasket dbDest, DataBasketEntry dbe, int nCount)
          Move the indicated number of items as indicated from the source into the destination.
 
Methods inherited from class data.stdforms.twotableformsheet.MoveStrategy
canMoveToDest, canMoveToSource
 
Methods inherited from class sale.stdforms.FormSheetStrategy
error, setErrorHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CSDBStrategy

public CSDBStrategy()
Method Detail

getMoveToDestProcess

public Transition getMoveToDestProcess(SaleProcess p,
                                       SalesPoint sp,
                                       CountingStock csSource,
                                       DataBasket dbDest,
                                       CatalogItem ci,
                                       int nCount,
                                       TwoTableFormSheet ttfs)
Get the sub-process that will move items from the source to the destination.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
ci - the CatalogItem that is selected in the source.
nCount - the number of items to be moved.
ttfs - the FormSheet that triggers the process.
Override:
Never

getCheckMoveToDestGate

protected Gate getCheckMoveToDestGate(SaleProcess p,
                                      SalesPoint sp,
                                      CountingStock csSource,
                                      DataBasket dbDest,
                                      CatalogItem ci,
                                      int nCount,
                                      TwoTableFormSheet ttfs)
Get the first gate of the sub-process that will move items from the source to the destination.

This Gate will check whether the move is allowable, and if so, will trigger a Transition that performs it.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
ci - the CatalogItem that is selected in the source.
nCount - the number of items to be moved.
ttfs - the FormSheet that triggers the process.
Override:
Never Instead, override checkMoveToDest(sale.SaleProcess, sale.SalesPoint, data.CountingStock, data.DataBasket, data.CatalogItem, int) and/or moveToDest(sale.SaleProcess, sale.SalesPoint, data.CountingStock, data.DataBasket, data.CatalogItem, int).

checkMoveToDest

protected int checkMoveToDest(SaleProcess p,
                              SalesPoint sp,
                              CountingStock csSource,
                              DataBasket dbDest,
                              CatalogItem ci,
                              int nCount)
                       throws InterruptedException
Check whether the indicated move is allowable. If so, return 0, otherwise return a non-zero error value that can be passed on to FormSheetStrategy.error(sale.SaleProcess, int). You can assume that you are at a Gate.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
ci - the CatalogItem that is selected in the source.
nCount - the number of items to be moved.
Throws:
InterruptedException
Override:
Sometimes The default implementation returns 0.

moveToDest

protected void moveToDest(SaleProcess p,
                          SalesPoint sp,
                          CountingStock csSource,
                          DataBasket dbDest,
                          CatalogItem ci,
                          int nCount)
Move the indicated number of items as indicated into the destination DataBasket. You can assume that you are in a Transition.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
ci - the CatalogItem that is selected in the source.
nCount - the number of items to be moved.
Override:
Sometimes

getMoveToSourceProcess

public Transition getMoveToSourceProcess(SaleProcess p,
                                         SalesPoint sp,
                                         CountingStock csSource,
                                         DataBasket dbDest,
                                         DataBasketEntry dbe,
                                         int nCount,
                                         TwoTableFormSheet ttfs)
Get the sub-process that will move items from the destination to the source.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
dbe - the DataBasketEntry that is selected in the destination.
nCount - the number of items to be moved.
ttfs - the FormSheet that triggers the process.
Override:
Never

getCheckMoveToSourceGate

protected Gate getCheckMoveToSourceGate(SaleProcess p,
                                        SalesPoint sp,
                                        CountingStock csSource,
                                        DataBasket dbDest,
                                        DataBasketEntry dbe,
                                        int nCount,
                                        TwoTableFormSheet ttfs)
Get the first gate of the sub-process that will move items from the destination to the source.

This Gate will check whether the move is allowable, and if so, will trigger a Transition that performs it.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
dbe - the DataBasketEntry that is selected in the destination.
nCount - the number of items to be moved.
ttfs - the FormSheet that triggers the process.
Override:
Never Instead, override checkMoveToSource(sale.SaleProcess, sale.SalesPoint, data.CountingStock, data.DataBasket, data.DataBasketEntry, int) and/or moveToSource(sale.SaleProcess, sale.SalesPoint, data.CountingStock, data.DataBasket, data.DataBasketEntry, int).

checkMoveToSource

protected int checkMoveToSource(SaleProcess p,
                                SalesPoint sp,
                                CountingStock csSource,
                                DataBasket dbDest,
                                DataBasketEntry dbe,
                                int nCount)
                         throws InterruptedException
Check whether the indicated move is allowable. If so, return 0, otherwise return a non-zero error value that can be passed on to FormSheetStrategy.error(sale.SaleProcess, int). You can assume that you are at a Gate.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
dbe - the DataBasketEntry that is selected in the destination.
nCount - the number of items to be moved.
Throws:
InterruptedException
Override:
Sometimes The default implementation returns ProcessErrorCodes.NOT_ENOUGH_ELEMENTS_ERROR if yoy try to move more elements than are available in the DataBasketEntry.

moveToSource

protected void moveToSource(SaleProcess p,
                            SalesPoint sp,
                            CountingStock csSource,
                            DataBasket dbDest,
                            DataBasketEntry dbe,
                            int nCount)
Move the indicated number of items as indicated from the source into the destination. You can assume that you are in a Transition.

Parameters:
p - the process into which the sub-process wil be embedded.
sp - the SalesPoint, if any, at which the FormSheet is being displayed.
csSource - the source CountingStock.
dbDest - the destination DataBasket.
dbe - the DataBasketEntry that is selected in the destination.
nCount - the number of items to be moved.
Override:
Sometimes

SalesPoint Framework v3.1