Overview
TMS BIZ Core Library (BCL) is the foundational library of the TMS BIZ product suite. It provides the base classes, utility types, and core functionality that are shared across all TMS BIZ products such as TMS Aurelius, TMS XData, TMS Sparkle, TMS Sphinx, and others.
BCL is not typically used directly by end-user applications. Instead, it is automatically included as a dependency when you install any TMS BIZ product. However, many of its types and utilities are part of the public API and are used directly in application code.
TMS BIZ Core Library product page: https://www.tmssoftware.com/site/tmsbiz.asp
TMS Software site: https://www.tmssoftware.com
Main Areas
BCL provides functionality in the following main areas:
JSON Framework A complete JSON framework with two complementary approaches: a Document Object Model (TJObject, TJArray, TJElement) for fine-grained control over JSON structures, and a high-level serialization API (TJson) for automatic conversion between Delphi objects and JSON. Supports custom converters, naming strategies, and attribute-based configuration. Used extensively by TMS XData and TMS Aurelius for data transport and storage.
Core Types Generic core types including Nullable for representing optional values, Assignable for tracking assignment state, TEvent for multicast events, and TOrderedDictionary for insertion-order-preserving dictionaries. Widely used across TMS Aurelius, TMS XData, and other TMS BIZ products.
Logging A logging abstraction layer that allows TMS BIZ products to emit diagnostic log messages through a unified interface. Provides a simple ILogger interface for writing messages and a pluggable factory system for configuring output targets, including integration with TMS Logging for production use.
Internationalization
A lightweight internationalization framework inspired by GNU gettext for translating application strings at runtime. Provides simple GetText and _() functions for retrieving translations from JSON files, with support for locale negotiation, per-thread language switching in server applications, and TMS Web Core browser targets.
Code Generation A framework for generating Delphi source code programmatically using a Document Object Model (DOM). Build an in-memory representation of a Delphi unit with types, methods, properties, and statements, then use TDelphiCodeGenerator to produce formatted source code. Used by TMS Data Modeler and other code-generation tools.
In this section:
JSON Framework
Documentation about the JSON framework provided by BCL, including serialization and deserialization features, custom converters, naming strategies, and attribute-based configuration.
Core Types
Documentation about generic core types provided by BCL, including nullable values, assignment tracking, multicast events, and ordered dictionaries.
Logging
Documentation about the logging abstraction layer for emitting diagnostic messages through a unified interface.
Internationalization
Documentation about the internationalization framework for translating application strings at runtime using a gettext-inspired approach.
Code Generation
Documentation about the code generation framework for building Delphi source code programmatically using a Document Object Model.
Release Notes
List of releases, new features added and bugs fixed.
Breaking Changes
Information about breaking changes introduced by releases.
Copyright Information
Copyright information about this library.