Class Block

java.lang.Object
All Implemented Interfaces:
Displayable, HasName, StringFiller, HasId

public final class Block extends AbstractUnit
Represents a Block (or a Building or something similar), which is a specific unit of functionality or data in the application framework, extending the capabilities of AbstractUnit. This class provides various functionalities to manage blocks, such as storing and retrieving attributes like site information, layout styles, image names, and more.
It also supports statistical computations, consumption computations, and validation of the block's data. The class is immutable (marked as final) and aims to encapsulate block-related business logic.
Key features:
 - Handles block configuration including associated site, image name, captions, and layout style.
 - Provides mechanisms to list or retrieve blocks based on search criteria or links.
 - Offers utility methods for recomputing statistics and consumption of resources associated with the block.
 - Ensures uniqueness of key attributes, such as block codes, through validation.
 - Encapsulates connectivity to related entities like Site and MessageGroup.
 
Author:
Syam