Interface ExtensionHandler

All Known Subinterfaces:
AdditionStatusDaoExtensionHandler, AdminAbstractControllerExtensionHandler, AdminAbstractListGridExtensionHandler, AdminBasicOperationsControllerExtensionHandler, AdminCatalogServiceExtensionHandler, AdminExternalLoginExtensionHandler, AdminFieldBuilderProcessorExtensionHandler, AdminNavigationServiceExtensionHandler, AdminRequestProcessorExtensionHandler, AdminSectionCustomCriteriaExtensionHandler, AdminSecurityCheckExtensionHandler, AdminSecurityServiceExtensionHandler, AdminTranslationControllerExtensionHandler, AdornedTargetAutoPopulateExtensionHandler, AnonymousCustomerExtensionHandler, ArchiveStatusPersistenceEventHandlerExtensionHandler, AuthSuccessHandlerExtensionHandler, BasicFieldPersistenceProviderExtensionHandler, BasicPersistenceModuleExtensionHandler, BLCICacheExtensionHandler, BreadcrumbServiceExtensionHandler, BroadleafCheckoutControllerExtensionHandler, BroadleafCommonAddressValidatorExtensionHandler, BroadleafFileServiceExtensionHandler, BroadleafMergeResourceExtensionHandler, BroadleafStaticAssetExtensionHandler, BroadleafTemplateViewResolverExtensionHandler, CacheKeyResolverExtensionHandler, CartStateRequestProcessorExtensionHandler, CatalogServiceExtensionHandler, CategoriesProcessorExtensionHandler, CategoryCustomPersistenceHandlerExtensionHandler, CategoryDaoExtensionHandler, CategoryParentCategoryFieldPersistenceProviderExtensionHandler, ConfirmationControllerExtensionHandler, ContentProcessorExtensionHandler, CreditCardTypesExtensionHandler, CriteriaTransferObjectExtensionHandler, CustomerMergeExtensionHandler, DatabaseResourceResolverExtensionHandler, EntityDuplicatorExtensionHandler, EntityInformationServiceExtensionHandler, EntityParentIdServiceExtensionHandler, FilterProductTypePersistenceHandlerExtensionHandler, FormBuilderExtensionHandler, IndexFieldCustomPersistenceHandlerExtensionHandler, InventoryServiceExtensionHandler, LinkedDataGeneratorExtensionHandler, ListGridErrorMessageExtensionHandler, MediaFieldPersistenceProviderExtensionHandler, MergeCartServiceExtensionHandler, MultipleCatalogExtensionHandler, MultiTenantCopierExtensionHandler, NativeMethodEntityExtensionHandler<T>, OfferCodeDaoExtensionHandler, OfferCustomServiceExtensionHandler, OfferServiceExtensionHandler, OfferValueModifierExtensionHandler, OrderDaoExtensionHandler, OrderItemServiceExtensionHandler, OrderServiceExtensionHandler, PageServiceExtensionHandler, PaymentGatewayFieldExtensionHandler, PostUpdateCustomerExtensionHandler, PostUpdateOrderExtensionHandler, PreviewProductUrlModifierExtensionHandler, ProductCustomPersistenceHandlerExtensionHandler, ProductDaoExtensionHandler, ProductOptionsProcessorExtensionHandler, ProductParentCategoryFieldPersistenceProviderExtensionHandler, ProductProcessorExtensionHandler, ProductUrlDuplicatorExtensionHandler, ProductUrlFieldPersistenceProviderExtensionHandler, PurgeSandboxClonedEntitiesExtensionHandler, QueryExtensionHandler, ResourcePurgeExtensionHandler, ResourceRequestExtensionHandler, RuleBuilderFieldServiceExtensionHandler, RuleFieldPersistenceProviderCascadeExtensionHandler, RuleFieldPersistenceProviderExtensionHandler, SiteMapExtensionHandler, SiteServiceExtensionHandler, SkuCustomPersistenceHandlerExtensionHandler, SkuDaoExtensionHandler, SolrIndexServiceExtensionHandler, SolrSearchServiceExtensionHandler, SparselyPopulatedQueryExtensionHandler, StaticAssetServiceExtensionHandler, StructuredContentServiceExtensionHandler, SystemPropertyServiceExtensionHandler, TemplateCacheExtensionHandler, TemplateOnlyQueryExtensionHandler, TemplateOverrideExtensionHandler, TranslationDaoExtensionHandler, TRCreditCardExtensionHandler, UncacheableDataProcessorExtensionHandler, UpdateCartServiceExtensionHandler, URLHandlerFilterExtensionHandler, ValidateAddRequestActivityExtensionHandler, ValidateCheckoutActivityExtensionHandler
All Known Implementing Classes:
AbstractAdditionStatusDaoExtensionHandler, AbstractAdminAbstractControllerExtensionHandler, AbstractAdminBasicOperationsControllerExtensionHandler, AbstractAdminNavigationServiceExtensionHandler, AbstractAdminSectionCustomCriteriaExtensionHandler, AbstractAdminTranslationControllerExtensionHandler, AbstractAnonymousCustomerExtensionHandler, AbstractAuthSuccessHandlerExtensionHandler, AbstractBasicPersistenceModuleExtensionHandler, AbstractBLCICacheExtensionHandler, AbstractBreadcrumbServiceExtensionHandler, AbstractBroadleafMergeResourceExtensionHandler, AbstractBroadleafTemplateResolverExtensionHandler, AbstractCacheKeyResolverExtensionHandler, AbstractCartStateRequestProcessorExtensionHandler, AbstractCatalogServiceExtensionHandler, AbstractCategoryDaoExtensionHandler, AbstractCheckoutControllerExtensionHandler, AbstractCommonAddressValidatorExtensionHandler, AbstractConfirmationControllerExtensionHandler, AbstractContentProcessorExtensionHandler, AbstractCreditCardTypesExtensionHandler, AbstractDatabaseResourceResolverExtensionHandler, AbstractEntityInformationServiceExtensionHandler, AbstractExtensionHandler, AbstractFieldBuilderProcessorExtensionHandler, AbstractFilterProductTypePersistenceHandlerExtensionHandler, AbstractFormBuilderExtensionHandler, AbstractIndexFieldCustomPersistenceHandlerExtensionHandler, AbstractInventoryServiceExtensionHandler, AbstractLinkedDataGeneratorExtensionHandler, AbstractMergeCartServiceExtensionHandler, AbstractMultiTenantCopierExtensionHandler, AbstractOfferCustomServiceExtensionHandler, AbstractOfferServiceExtensionHandler, AbstractOfferValueModifierExtensionHandler, AbstractOrderDaoExtensionHandler, AbstractOrderItemServiceExtensionHandler, AbstractOrderServiceExtensionHandler, AbstractPageServiceExtensionHandler, AbstractPaymentGatewayFieldExtensionHandler, AbstractPostUpdateCustomerExtensionHandler, AbstractPostUpdateOrderExtensionHandler, AbstractPreviewProductUrlModifierExtensionHandler, AbstractProductCustomPersistenceHandlerExtensionHandler, AbstractProductDaoExtensionHandler, AbstractProductProcessorExtensionHandler, AbstractPurgeSandboxClonedEntitiesExtensionHandler, AbstractResourcePurgeExtensionHandler, AbstractResourceRequestExtensionHandler, AbstractRuleBuilderFieldServiceExtensionHandler, AbstractSiteMapExtensionHandler, AbstractSiteServiceExtensionHandler, AbstractSkuDaoExtensionHandler, AbstractSolrIndexServiceExtensionHandler, AbstractSolrSearchServiceExtensionHandler, AbstractStructuredContentServiceExtensionHandler, AbstractSystemPropertyServiceExtensionHandler, AbstractTemplateOverrideExtensionHandler, AbstractTRCreditCardExtensionHandler, AbstractUpdateCartServiceExtensionHandler, AbstractValidateAddRequestActivityExtensionHandler, AbstractValidateCheckoutActivityExtensionHandler, AdminOfferControllerExtensionHandler, AdminProductTranslationExtensionHandler, AdminRequestProcessorExtensionManager, CartMessageOrderItemServiceExtensionHandler, CategoryBreadcrumbServiceExtensionHandler, CMSFormBuilderExtensionHandler, CookieFieldServiceExtensionHandler, DefaultAdminCatalogExtensionHandler, DefaultAdminSecurityServiceExtensionHandler, DefaultBasicPersistenceModuleExtensionHandler, DefaultCustomerMergeExtensionHandler, DefaultLinkedDataGeneratorExtensionHandler, DefaultOfferCodeDaoExtensionHandler, DefaultURLHandlerFilterExtensionHandler, DuplicationValidatorExtensionHandlerImpl, EntityDuplicatorExtensionManager, EntityInformationServiceExtensionManager, GeolocationFieldServiceExtensionHandler, HomePageBreadcrumbServiceExtensionHandler, I18nSolrIndexServiceExtensionHandler, I18nSolrSearchServiceExtensionHandler, i18nUpdateCartServiceExtensionHandler, OfferCustomServiceExtensionManager, OfferServiceExtensionManager, OrderServiceExtensionManager, ParentCategorySortExtensionHandler, ProductBreadcrumbServiceExtensionHandler, SimpleSearchBreadcrumbServiceExtensionHandler, TemplateCacheExtensionManager, TemplateOnlyQueryExtensionManager, TranslationsFormBuilderExtensionHandler, TypedEntityBasicEntityExtensionHandler

public interface ExtensionHandler

An extension handler represents a generic pattern used in BroadleafCommerce when an out-of-box service with complex logic provides implementation hooks.

The pattern is primarily used internally by Broadleaf as a mechanism to provide extension points for Broadleaf modules.

Consumers of BroadleafCommerce framework typically would not need to use this pattern and instead would opt. for more typical extension patterns including overriding or extending the actual component for which alternate behavior is desired.

ExtensionHandler api methods should always return an instance of ExtensionResultStatusType and will usually extend from AbstractExtensionHandler

In order to associate an {@link ExtensionHandler) with an {@link ExtensionManager}, each handler should have an @PostConstruct override and associate itself with the manager:

  
    {@literal @}Resource(name = "blSomeExtensionManager")
    protected ExtensionManager extensionManager;

    {@literal @}PostConstruct
    public void init() {
       if (isEnabled()) {
           extensionManager.registerHandler(this);
       }
    }
  
 
Author:
bpolster
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Determines the priority of this extension handler.
    boolean
    If false, the ExtensionManager should skip this Handler.
  • Method Details

    • getPriority

      int getPriority()
      Determines the priority of this extension handler.
      Returns:
    • isEnabled

      boolean isEnabled()
      If false, the ExtensionManager should skip this Handler.
      Returns: