{"id":27328714,"url":"https://github.com/10d9e/sugar-framework","last_synced_at":"2026-04-30T09:36:07.488Z","repository":{"id":91548902,"uuid":"85641423","full_name":"10d9e/sugar-framework","owner":"10d9e","description":"Sugar Framework is a View Inversion framework for the Java Programming Language.","archived":false,"fork":false,"pushed_at":"2017-03-21T02:21:39.000Z","size":749,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T12:16:43.901Z","etag":null,"topics":["java","uikit","web"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/10d9e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-03-21T00:34:23.000Z","updated_at":"2017-03-21T02:17:32.000Z","dependencies_parsed_at":"2023-11-27T19:38:48.938Z","dependency_job_id":null,"html_url":"https://github.com/10d9e/sugar-framework","commit_stats":null,"previous_names":["10d9e/sugar-framework"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/10d9e/sugar-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10d9e%2Fsugar-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10d9e%2Fsugar-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10d9e%2Fsugar-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10d9e%2Fsugar-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/10d9e","download_url":"https://codeload.github.com/10d9e/sugar-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10d9e%2Fsugar-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32460781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["java","uikit","web"],"created_at":"2025-04-12T12:16:41.512Z","updated_at":"2026-04-30T09:36:07.473Z","avatar_url":"https://github.com/10d9e.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sugar Framework\nSugar Framework is a View Inversion framework for the Java Programming Language. It abstracts away the complexity of web request/response lifecycle and web container management with simple annotations.\n\n# What is View Inversion?\nIn the same way that modern inversion of control containers like Spring and Guice have successfully inverted data and service resource dependencies, View Inversion delegates view generation and data binding via inversion annotations.\n\n# Show me the code\n```java\n/** Data Inversion with JPA/Hibernate */\n@Entity\npublic class Employee {\n  private String name;\n}\n\n/** Control/Resource Inversion with Spring/JEE */\n@Service(\"Employee Service\")\npublic class EmployeeService {\n  @Inject\n  private Employee employee;\n}\n\n/** View Inversion with Sugar */\n@View(value=\"Home\", title=\"My Home Page\", url=\"home.html\")\npublic class EmployeeView {\n  @Inject\n  private EmployeeService service;\n  \n  // Inverted fields bind Collection data to view components like Tables, Lists, etc \n  @Table(\"Animals at the Zoo\")\n  private Collection\u003cAnimal\u003e animals = new ArrayList\u003cAnimal\u003e();\n  \n  // Inverted methods are bound to View actions\n  @Action(\"Do Something\")\n  public void executeSomething(@Label(\"First Name\") String name){\n      // do something here...\n  }\n}\n```\n\n# Setup\n1. ./gradlew clean eclipse\n2. Try out the test application : 'org.sugarframework.test.TestContext.java'\n3. Navigate to 'http://localhost:8080/sparkles/index'\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F10d9e%2Fsugar-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F10d9e%2Fsugar-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F10d9e%2Fsugar-framework/lists"}