Introduction

Business

Development

Core

Entity Definitions

asciidoctor diagram SimpleBannerWidgetEntityDefinition

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:

Property Description

media

stores the respective media, associated with the banner

urlLink

stores the respective url for the banner

urlEncoded

stores a boolean value if the url is encoded or not

external

stores a boolean value if the url is external or not

lazyLoad

stores a boolean value if the media must be lazy loaded or not

SuperBannerWidgetEntityDefinition

The SuperBannerWidgetEntityDefinition extends the SimpleBannerWidgetEntityDefinition and the AbstractDescriptionableEntityDefinition. Following the inheritance tree of the SimpleBannerWidgetEntityDefinition, the extra extended interfaces are the WidgetEntityDefinition, the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractCatalogableEntityDefinition, the AbstractCmsEntityDefinition and the AbstractFilterableEntityDefinition:

asciidoctor diagram SuperBannerWidgetEntityDefinition

The extra getter-setter here is set via the links property. The respective column in the database stores a list of links for the widget.

Spring Data JPA Repositories

SimpleBannerWidgetRepository

The SimpleBannerWidgetRepository extends the ActivatableRepository and the BaseEntityRepository. The SimpleBannerWidgetRepository is the corresponding Spring Data JPA repository for the SimpleBannerWidgetEntityDefinition:

asciidoctor diagram SimpleBannerWidgetRepository
SuperBannerWidgetRepository

The SuperBannerWidgetRepository extends the ActivatableRepository and the BaseEntityRepository. The SuperBannerWidgetRepository is the corresponding Spring Data JPA repository for the SuperBannerWidgetEntityDefinition:

asciidoctor diagram SuperBannerWidgetRepository

Facade

Dto definitions

SimpleBannerWidgetDtoDefinition

The SimpleBannerWidgetDtoDefinition extends the WidgetDtoDefinition, going further to the AbstractEntityDtoDefinition. This is the corresponding Dto object for the SimpleBannerWidgetEntityDefinition:

asciidoctor diagram SimpleBannerWidgetDtoDefinition
SuperBannerWidgetDtoDefinition

The SuperBannerWidgetDtoDefinition extends the SimpleBannerWidgetDtoDefinition, going in its turn to the WidgetDtoDefinition and the AbstractEntityDtoDefinition. This is the corresponding Dto object for the SuperBannerWidgetEntityDefinition:

asciidoctor diagram SuperBannerWidgetDtoDefinition

Storefront

Renderer

SimpleBannerWidgetRenderer

The SimpleBannerWidgetRenderer extends the AbstractWidgetRenderer:

asciidoctor diagram SuperBannerWidgetDtoDefinition

Via the doRender() and appendMedia() methods, the respective view is constructed, based on the passed values.

Integration

The integration with the Nemesis platform is pretty straight-forward - just need to add the widget in your classpath:

<dependency>
    <groupId>io.nemesis.platform.module.widget</groupId>
    <artifactId>nemesis-widget-banner</artifactId>
</dependency>