Skip to content

Latest commit

 

History

History
81 lines (59 loc) · 2.67 KB

File metadata and controls

81 lines (59 loc) · 2.67 KB

Flamingock logo

flamingock-general-util

Internal shared utilities for the Flamingock ecosystem.

Maven Version Build License


Internal library. This module is a shared dependency used across Flamingock modules. It is published to Maven Central for build convenience, but is not intended for direct external consumption. Its API surface may change without notice between releases.


What it provides

General-purpose utilities and helper classes shared across Flamingock modules:

  • HTTP client — Fluent request builder on top of Apache HttpClient with JSON serialization.
  • Reflection utilities — Generic type resolution, constructor and method discovery, annotation collection.
  • Typed identifiers — Immutable, validated ID types (RunnerId, ServiceId, EnvironmentId).
  • Error model — Standardized FlamingockError with HTTP variants and recovery flags.
  • Time and concurrency — Testable TimeService, StopWatch, and controlled ThreadSleeper.
  • Serialization — Pre-configured Jackson ObjectMapper and YAML file loading via SnakeYAML.
  • Audit constants — Field names and store names used by the audit subsystem.
  • Common typesResult<Ok, Error>, Pair, Trio, Wrapper, functional interfaces.
  • Logging — Centralized logger factory with consistent Flamingock log formatting.

Coordinates

<dependency>
    <groupId>io.flamingock</groupId>
    <artifactId>flamingock-general-util</artifactId>
    <version>${flamingock-general-util.version}</version>
</dependency>
implementation("io.flamingock:flamingock-general-util:$flamingockGeneralUtilVersion")

Requirements

  • Java 8+

Building

./gradlew build

License

This project is licensed under the Apache License 2.0.

flamingock.io