org.broadleafcommerce.openadmin.web.service
Interface FormBuilderService

All Known Implementing Classes:
FormBuilderServiceImpl

public interface FormBuilderService

Author:
Andre Azzolini (apazzolini)

Method Summary
 EntityForm buildAdornedListForm(AdornedTargetCollectionMetadata adornedMd, AdornedTargetList adornedList, String parentId)
          Builds the EntityForm used in modal dialogs when adding items to adorned target collections.
 ListGrid buildCollectionListGrid(String containingEntityId, DynamicResultSet drs, Property field, String sectionKey)
          Builds a list grid that is used to render a collection inline in an entity form.
 ListGrid buildMainListGrid(DynamicResultSet drs, ClassMetadata cmd, String sectionKey)
          Builds a list grid that is typically used at the top entity level to select an entity for modification.
 EntityForm buildMapForm(MapMetadata mapMd, MapStructure mapStructure, ClassMetadata cmd, String parentId)
          Builds the EntityForm used in modal dialogs when adding items to map collections.
 EntityForm createEntityForm(ClassMetadata cmd)
          Creates a new EntityForm with the a default 'Save' action.
 EntityForm createEntityForm(ClassMetadata cmd, Entity entity)
          Creates a new EntityForm that has all of the appropriate fields set up along with the values for those fields from the given Entity.
 EntityForm createEntityForm(ClassMetadata cmd, Entity entity, Map<String,DynamicResultSet> collectionRecords)
          Builds an EntityForm that has all of the appropriate fields set up along with the values for those fields from the given Entity as well as all sub-collections of the given Entity that appear in the collectionRecords map.
 void populateAdornedEntityFormFields(EntityForm ef, Entity entity, AdornedTargetList adornedList)
          Sets values for the necessary adorned fields on the EntityForm from the specified entity.
 void populateEntityForm(ClassMetadata cmd, Entity entity, EntityForm ef)
          Populates a given ef based on the given cmd to initially create fields with the necessary metadata and then fills those fields out based on the property values from entity.
 void populateEntityForm(ClassMetadata cmd, EntityForm ef)
          Populates the given ef with all of the fields based on the properties from cmd.
 void populateEntityForm(ClassMetadata cmd, Entity entity, Map<String,DynamicResultSet> collectionRecords, EntityForm entityForm)
          Builds an EntityForm that has all of the appropriate fields set up along with the values for thsoe fields from the given Entity as well as all sub-collections of the given Entity that appear in the collectionRecords map.
 void populateEntityFormFields(EntityForm ef, Entity entity)
          Sets values for all fields found on the EntityForm from the specified entity.
 void populateMapEntityFormFields(EntityForm ef, Entity entity)
          Sets values for the necessary map fields on the EntityForm from the specified entity.
 void removeNonApplicableFields(ClassMetadata cmd, EntityForm entityForm, String entityType)
          Loops through all of the fields that are specified in given class metadata and removes fields that are not applicable for the given polymorphic entity type from the entity form.
 

Method Detail

buildMainListGrid

ListGrid buildMainListGrid(DynamicResultSet drs,
                           ClassMetadata cmd,
                           String sectionKey)
                           throws ServiceException
Builds a list grid that is typically used at the top entity level to select an entity for modification. Note that it can also be used in other places that require the same grid as the main entity search screen provided the type on the returned ListGrid is set appropriately.

Parameters:
drs -
cmd -
sectionKey -
Returns:
the ListGrid
Throws:
ServiceException

buildCollectionListGrid

ListGrid buildCollectionListGrid(String containingEntityId,
                                 DynamicResultSet drs,
                                 Property field,
                                 String sectionKey)
                                 throws ServiceException
Builds a list grid that is used to render a collection inline in an entity form. Note that it can also be used in other places that require the same grid provided the type on the returned ListGrid is set appropriately.

Parameters:
containingEntityId -
drs -
field -
sectionKey -
Returns:
the ListGrid
Throws:
ServiceException

removeNonApplicableFields

void removeNonApplicableFields(ClassMetadata cmd,
                               EntityForm entityForm,
                               String entityType)
Loops through all of the fields that are specified in given class metadata and removes fields that are not applicable for the given polymorphic entity type from the entity form.

Parameters:
cmd -
entityForm -
entityType -

createEntityForm

EntityForm createEntityForm(ClassMetadata cmd)
                            throws ServiceException
Creates a new EntityForm with the a default 'Save' action. This will then delegate to populateEntityForm(ClassMetadata, EntityForm) to ensure that the newly created EntityForm has all of the appropriate fields set up without any values based on cmd

Parameters:
cmd -
Returns:
the EntityForm
Throws:
ServiceException
See Also:
#populateEntityForm(ClassMetadata, EntityForm)}

populateEntityForm

void populateEntityForm(ClassMetadata cmd,
                        EntityForm ef)
                        throws ServiceException
Populates the given ef with all of the fields based on the properties from cmd. For all the fields that are created, no values are set (as cmd usually does not have any). In order to fill out values in the given ef, consider instead calling populateEntityForm(ClassMetadata, Entity, EntityForm)

Parameters:
cmd -
ef -
Throws:
ServiceException

createEntityForm

EntityForm createEntityForm(ClassMetadata cmd,
                            Entity entity)
                            throws ServiceException
Creates a new EntityForm that has all of the appropriate fields set up along with the values for those fields from the given Entity. Delegates to createEntityForm(ClassMetadata) for further population

Parameters:
cmd - metadata that the created EntityForm should use to initialize its fields
entity -
Returns:
the EntityForm
Throws:
ServiceException
See Also:
#createEntityForm(ClassMetadata)}

populateEntityForm

void populateEntityForm(ClassMetadata cmd,
                        Entity entity,
                        EntityForm ef)
                        throws ServiceException
Populates a given ef based on the given cmd to initially create fields with the necessary metadata and then fills those fields out based on the property values from entity.

Parameters:
cmd -
entity -
ef -
Throws:
ServiceException
See Also:
#populateEntityForm(ClassMetadata, EntityForm)}

createEntityForm

EntityForm createEntityForm(ClassMetadata cmd,
                            Entity entity,
                            Map<String,DynamicResultSet> collectionRecords)
                            throws ServiceException
Builds an EntityForm that has all of the appropriate fields set up along with the values for those fields from the given Entity as well as all sub-collections of the given Entity that appear in the collectionRecords map. This method simply delegates to create a standard EntityForm (that has a save action) and then populates that EntityForm using populateEntityForm(ClassMetadata, Entity, Map, EntityForm). NOTE: if you are submitting a validation result, you must not call this method and instead invoke the one that has an EntityForm as a parameter. You cannot re-assign the entityForm to the model after it has already been bound to a BindingResult, else the binding result will be removed.

Parameters:
cmd -
entity -
collectionRecords -
Returns:
the EntityForm
Throws:
ServiceException
See Also:
#populateEntityForm(ClassMetadata, Entity, Map, EntityForm)}

populateEntityForm

void populateEntityForm(ClassMetadata cmd,
                        Entity entity,
                        Map<String,DynamicResultSet> collectionRecords,
                        EntityForm entityForm)
                        throws ServiceException
Builds an EntityForm that has all of the appropriate fields set up along with the values for thsoe fields from the given Entity as well as all sub-collections of the given Entity that appear in the collectionRecords map. NOTE: This method is mainly used when coming back from validation. In the case of validation, you cannot re-add a new EntityForm to the model or else you lose the whole BindingResult and errors will not properly be displayed. In that scenario, you must use this method rather than the one that does not take in an entityForm as it will attempt to instantiate a new object.

Parameters:
cmd -
entity -
collectionRecords -
entityForm - rather than instantiate a new EntityForm, this will use this parameter to fill out
Throws:
ServiceException

populateEntityFormFields

void populateEntityFormFields(EntityForm ef,
                              Entity entity)
Sets values for all fields found on the EntityForm from the specified entity.

Parameters:
ef -
entity -

populateAdornedEntityFormFields

void populateAdornedEntityFormFields(EntityForm ef,
                                     Entity entity,
                                     AdornedTargetList adornedList)
Sets values for the necessary adorned fields on the EntityForm from the specified entity.

Parameters:
ef -
entity -
adornedList -

populateMapEntityFormFields

void populateMapEntityFormFields(EntityForm ef,
                                 Entity entity)
Sets values for the necessary map fields on the EntityForm from the specified entity.

Parameters:
ef -
entity -

buildAdornedListForm

EntityForm buildAdornedListForm(AdornedTargetCollectionMetadata adornedMd,
                                AdornedTargetList adornedList,
                                String parentId)
                                throws ServiceException
Builds the EntityForm used in modal dialogs when adding items to adorned target collections.

Parameters:
adornedMd -
adornedList -
parentId -
Returns:
the EntityForm
Throws:
ServiceException

buildMapForm

EntityForm buildMapForm(MapMetadata mapMd,
                        MapStructure mapStructure,
                        ClassMetadata cmd,
                        String parentId)
                        throws ServiceException
Builds the EntityForm used in modal dialogs when adding items to map collections.

Parameters:
mapMd -
mapStructure -
cmd -
parentId -
Returns:
the EntityForm
Throws:
ServiceException


Copyright © 2013. All Rights Reserved.