org.sandev.basics.util
Class StandardFormManager

java.lang.Object
  extended byorg.sandev.basics.util.AbstractFormManager
      extended byorg.sandev.basics.util.StandardFormManager
All Implemented Interfaces:
UIFormManager

public class StandardFormManager
extends AbstractFormManager
implements UIFormManager

An implementation of UIFormManager suitable for general use.


Field Summary
 
Fields inherited from class org.sandev.basics.util.AbstractFormManager
CLASS_DISAMBIGUATION_PROMPT, FIX_FIELDS_BEFORE_SAVE, INVALID_FIELD_VALUE_PREFIX, RC_CANCELLED, RC_DONE, RC_QUERYING, uifa
 
Constructor Summary
StandardFormManager()
           
 
Method Summary
protected  boolean mergeChangesToParentBeforeAdd(UIFormContext uifc)
          Merge subtree editing of an unresolved parent back into the rootMsg.
protected  boolean supportsTopLevelAdd()
          Returns true if this form manager allows new top level object instances to be created while in LISTING mode.
protected  boolean supportsTopLevelFind()
          Returns true if this form manager allows other top level object instances to be found while in LISTING mode.
protected  void trackUpdates(SandUpdateMessage update, UIFormContext uifc)
          Track this update for save processing.
 
Methods inherited from class org.sandev.basics.util.AbstractFormManager
disableUnsupportedActions, doActionAdd, doActionCancel, doActionDelete, doActionDeref, doActionDrilldown, doActionEdit, doActionFind, doActionHelp, doActionMove, doActionNew, doActionNext, doActionOk, doActionParent, doActionPrevious, doActionRemove, doActionSave, doActionSelect, fieldValidateCurrentInstance, getClassDisambiguationPrompt, getFieldValidationFailureText, getInvalidFieldMessagePrefix, initFormAdaptor, okContainedAdd, okNewReference, okTopLevelAdd, okUpdate, outstandingChangesExist, processForm, processUpdate, resolveClass, resolveReferences, trace, wrappedGenAdd, wrappedGenMod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.sandev.basics.util.UIFormManager
disableUnsupportedActions, initFormAdaptor, processForm
 

Constructor Detail

StandardFormManager

public StandardFormManager()
Method Detail

mergeChangesToParentBeforeAdd

protected boolean mergeChangesToParentBeforeAdd(UIFormContext uifc)
                                         throws UIFormManagerException
Merge subtree editing of an unresolved parent back into the rootMsg. Return true so the ADD action can proceed.

Examples:

Specified by:
mergeChangesToParentBeforeAdd in class AbstractFormManager
Throws:
UIFormManagerException

supportsTopLevelAdd

protected boolean supportsTopLevelAdd()
Description copied from class: AbstractFormManager
Returns true if this form manager allows new top level object instances to be created while in LISTING mode. Typically a single object editor would not support this, while a general persistent object editor might.

Specified by:
supportsTopLevelAdd in class AbstractFormManager

supportsTopLevelFind

protected boolean supportsTopLevelFind()
Description copied from class: AbstractFormManager
Returns true if this form manager allows other top level object instances to be found while in LISTING mode. Typically a single object editor would not support this, while a general persistent object editor might.

Specified by:
supportsTopLevelFind in class AbstractFormManager

trackUpdates

protected void trackUpdates(SandUpdateMessage update,
                            UIFormContext uifc)
                     throws UIFormManagerException
Description copied from class: AbstractFormManager
Track this update for save processing. The update will already have been merged into the rootMsg of the uifc. This given update message is a part of the root message which has changed. It may be modified multiple times before save is called.

The update is typically either added to the AggregateUpdate in the uifc updates, or it is ignored because the rootMsg is written directly. Note that if find or add is supported at the top level, then the rootMsg may change and not be available at save time.

Specified by:
trackUpdates in class AbstractFormManager
Throws:
UIFormManagerException