{"id":28821255,"url":"https://github.com/cuioss/cui-core-ui-model","last_synced_at":"2026-02-05T23:02:27.813Z","repository":{"id":100588522,"uuid":"603829858","full_name":"cuioss/cui-core-ui-model","owner":"cuioss","description":"Defines types and stuctures symplifying the integration of server-side ui","archived":false,"fork":false,"pushed_at":"2025-10-09T19:50:13.000Z","size":328,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-30T22:59:12.171Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cuioss.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-19T17:37:12.000Z","updated_at":"2026-01-29T21:16:23.000Z","dependencies_parsed_at":"2023-11-13T09:24:31.091Z","dependency_job_id":"2b51af05-7490-4dc1-a4af-36cdc8bc6f9f","html_url":"https://github.com/cuioss/cui-core-ui-model","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":"cuioss/cui-java-module-template","purl":"pkg:github/cuioss/cui-core-ui-model","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuioss%2Fcui-core-ui-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuioss%2Fcui-core-ui-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuioss%2Fcui-core-ui-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuioss%2Fcui-core-ui-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuioss","download_url":"https://codeload.github.com/cuioss/cui-core-ui-model/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuioss%2Fcui-core-ui-model/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29137751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T22:49:08.052Z","status":"ssl_error","status_checked_at":"2026-02-05T22:45:32.059Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-18T22:06:07.691Z","updated_at":"2026-02-05T23:02:27.808Z","avatar_url":"https://github.com/cuioss.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= cui-core-ui-model\n\n== Status\n\nimage:https://github.com/cuioss/cui-core-ui-model/actions/workflows/maven.yml/badge.svg[Java CI with Maven,link=https://github.com/cuioss/cui-core-ui-model/actions/workflows/maven.yml]\nimage:http://img.shields.io/:license-apache-blue.svg[License,link=http://www.apache.org/licenses/LICENSE-2.0.html]\nimage:https://img.shields.io/maven-central/v/de.cuioss/cui-core-ui-model.svg?label=Maven%20Central[\"Maven Central\", link=\"https://central.sonatype.com/artifact/de.cuioss/cui-core-ui-model\"]\n\nhttps://sonarcloud.io/summary/new_code?id=cuioss_cui-core-ui-model[image:https://sonarcloud.io/api/project_badges/measure?project=cuioss_cui-core-ui-model\u0026metric=alert_status[Quality\nGate Status]]\nimage:https://sonarcloud.io/api/project_badges/measure?project=cuioss_cui-core-ui-model\u0026metric=ncloc[Lines of Code,link=https://sonarcloud.io/summary/new_code?id=cuioss_cui-core-ui-model]\nimage:https://sonarcloud.io/api/project_badges/measure?project=cuioss_cui-core-ui-model\u0026metric=coverage[Coverage,link=https://sonarcloud.io/summary/new_code?id=cuioss_cui-core-ui-model]\n\nhttps://cuioss.github.io/cui-core-ui-model/about.html[Generated Documentation on github-pages]\n\n== What is it?\n\nThe cui-core-ui-model library provides a comprehensive set of framework-agnostic UI model components designed for building robust and maintainable user interface applications. It offers core functionality that can be used independently of JSF or any other web framework.\n\n== Key Features\n\n=== Result Handling Framework\n* Type-safe wrapper for operation results (`ResultObject`)\n* Standardized error codes and states\n* Comprehensive error detail support\n* Builder pattern for fluent API usage\n* Integration with message bundles\n\n=== Name Provider System\n* Consistent handling of display names\n* Internationalization support\n* Message formatting capabilities\n* Type-safe message parameter handling\n\n=== Service Integration\n* Standardized service state management\n* Optional-based service access\n* Thread-safe operations\n* Error handling patterns\n\n=== Application Support\n* Project stage management\n* Authentication handling\n* Core application components\n\n== Getting Started\n\n=== Maven Coordinates\n\n[source,xml]\n----\n\u003cdependency\u003e\n    \u003cgroupId\u003ede.cuioss\u003c/groupId\u003e\n    \u003cartifactId\u003ecui-core-ui-model\u003c/artifactId\u003e\n\u003c/dependency\u003e\n----\n\n=== Basic Usage Example\n\n[source,java]\n----\n// Create a result with the builder pattern\nResultObject\u003cUser\u003e result = ResultObject.builder()\n    .result(user)\n    .state(ResultState.VALID)\n    .build();\n\n// Handle different result states\nif (result.isValid()) {\n    User user = result.getResult();\n    // Process valid result\n} else {\n    result.getResultDetail().ifPresent(detail -\u003e \n        // Handle error with appropriate UI feedback\n        messageProducer.addError(detail));\n}\n----\n\n== Design Principles\n\n* *Framework Independence*: Components work without specific UI frameworks\n* *Type Safety*: Strong typing to catch errors at compile time\n* *Immutability*: Thread-safe and side-effect free operations\n* *Builder Pattern*: Fluent APIs for object construction\n* *Consistent Error Handling*: Standardized approach to error management\n\n== Documentation\n\n=== Core Packages\n\n* `de.cuioss.uimodel.result`: Result handling framework\n* `de.cuioss.uimodel.nameprovider`: Display name and message handling\n* `de.cuioss.uimodel.service`: Service integration patterns\n* `de.cuioss.uimodel.application`: Application lifecycle support\n\n=== Key Components\n\n* `ResultObject`: Type-safe wrapper for operation results\n* `DisplayMessageProvider`: Localized message handling\n* `OptionalService`: Null-safe service access\n* `CuiProjectStage`: Application lifecycle management\n\nFor detailed documentation, please refer to:\n\n* https://cuioss.github.io/cui-core-ui-model/about.html[Generated Documentation]\n* JavaDoc documentation in the source code\n* Unit tests demonstrating usage patterns\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuioss%2Fcui-core-ui-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuioss%2Fcui-core-ui-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuioss%2Fcui-core-ui-model/lists"}