Skip to content
This repository has been archived by the owner on Jul 1, 2024. It is now read-only.

Latest commit

 

History

History
51 lines (31 loc) · 2.2 KB

README.md

File metadata and controls

51 lines (31 loc) · 2.2 KB

xconfig specification

This document describes the xconfig structure and exchange flow between its 3 main components.

Table of contents

Frontend

The frontend is the part of the configuration that is user-interactable. It is the part that allows for configuration view and/or modification.

At its core, while a frontend is mostly imagined as a graphical user interface, it can be anything that allows for interaction with the configuration, i.e a CLI application for example.

Frontend flow

The frontend service must be implemented with the enterprises.stardust.xconfig.frontend.Frontend interface and be exposed via the Java ServiceLoader API.

The frontend service will utilize the backend service(s) as well as the middle-end service(s) to provide a user interface for configuration modification.

Backend

The backend is

Backend flow

The backend service must be implemented with the enterprises.stardust.xconfig.backend.Backend interface and be exposed via the Java ServiceLoader API.

Middle-end

The middle-end is the part of the configuration that is programmer-interactable. It is the part that allows for configuration declaration and (sometimes) validation.

A middle-end service can be seen as a collection of middle serializers, paired with frontend-facing instructions, such as rendering styles or dependency information.

writing note: This means that color can = 3 ints basically

Middle-end flow

The middle-end service will provide proxy methods to the backend service(s) for easier access for developers.