{"id":26401237,"url":"https://github.com/webbeta/serializer","last_synced_at":"2026-04-20T19:31:45.162Z","repository":{"id":33839206,"uuid":"133226015","full_name":"webbeta/Serializer","owner":"webbeta","description":"Framework agnostic YAML based serializer for Java.","archived":false,"fork":false,"pushed_at":"2023-04-26T04:56:31.000Z","size":99,"stargazers_count":1,"open_issues_count":26,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-02T10:36:38.497Z","etag":null,"topics":["agnostic-to-frameworks","java","serializer","yml"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webbeta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-13T10:15:57.000Z","updated_at":"2022-11-10T12:10:15.000Z","dependencies_parsed_at":"2025-03-18T22:01:11.690Z","dependency_job_id":null,"html_url":"https://github.com/webbeta/Serializer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/webbeta/Serializer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbeta%2FSerializer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbeta%2FSerializer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbeta%2FSerializer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbeta%2FSerializer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webbeta","download_url":"https://codeload.github.com/webbeta/Serializer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbeta%2FSerializer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004168,"owners_count":26083688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":["agnostic-to-frameworks","java","serializer","yml"],"created_at":"2025-03-17T14:50:41.954Z","updated_at":"2025-10-10T14:34:56.061Z","avatar_url":"https://github.com/webbeta.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# webBeta Serializer\n\n[![Build Status](https://travis-ci.org/webbeta/Serializer.svg?branch=master)](https://travis-ci.org/webbeta/Serializer)\n[![Coverage Status](https://codecov.io/gh/webbeta/Serializer/branch/master/graph/badge.svg)](https://codecov.io/gh/webbeta/Serializer)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/cc4bdde6e4434963be65533dc32907ac)](https://app.codacy.com/app/mowcixo/Serializer?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=webbeta/Serializer\u0026utm_campaign=Badge_Grade_Settings)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/webbeta/Serializer/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/webbeta/Serializer/?branch=master)\n[![GitHub license](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Maven](https://img.shields.io/maven-central/v/es.webbeta/serializer.svg)](http://mvnrepository.com/artifact/es.webbeta/serializer)\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/webbeta/Serializer.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/webbeta/Serializer/alerts/)\n[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/webbeta/Serializer.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/webbeta/Serializer/context:java)\n\n* [What is webBeta Serializer?](#what-is-webbeta-serializer?)\n* [Quick examples](#quick-examples)\n* [License](#license)\n\n## What is webBeta Serializer?\n\nYML based serializer for Java. Based on JMS serializer https://jmsyst.com/libs/serializer/master/reference/yml_reference\n\nTo create a Serializer instance:\n\n```java\nCache cache = new Cache() {\n    @Override\n    public String get(String key) { return null; }\n    \n    @Override\n    public void set(String key, String content) {}\n    \n    @Override\n    public void remove(String key) {}\n};\n\nConfigurationProvider configurationProvider = new ConfigurationProvider() {\n    @Override\n    public boolean getBoolean(String key, boolean defaultValue) { return true; }\n    \n    @Override\n    public String getString(String key, String defaultValue) {  return \"\"; }\n};\n\nEnvironment environment = () -\u003e false;\n\nSerializer serializer = SerializerBuilder.build()\n        .withCache(cache)\n        .withConfigurationProvider(configurationProvider)\n        .withEnvironment(environment)\n        .get();\n```\n\nAnd to add a logger instance:\n\n```java\nLogger logger = new Logger() {\n    @Override\n    public Level getLevel() { return Level.ERROR; }\n\n    @Override\n    public void setLevel(Level level) { }\n\n    @Override\n    public void error(String message) { }\n};\n\nserializer.setLogger(logger);\n```\n## Quick examples\n\nClass Foo:\n\n```java\npackage foo.bar;\n\nclass Foo {\n    \n    private String bar = \"foobar\";\n    \n    public String getBar() {\n        return bar;\n    }\n    \n    public Long getCalc() {\n        return 2 + 2;\n    }\n    \n}\n\n```\n\nYml file (named ```foo.bar.Foo.yml```):\n\n```yaml\nfoo.bar.Foo:\n  virtual_properties:\n    getCalc:\n      serialized_name: calc\n      groups: [barGroup]\n  properties:\n    bar:\n      groups: [fooGroup]\n\n```\n\nUsage:\n\n```java\nserializer.serialize(fooInstance, \"fooGroup\", \"barGroup\");\n\n// it will return\n// {\"bar\": \"foobar\", \"calc\": 4}\n```\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebbeta%2Fserializer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebbeta%2Fserializer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebbeta%2Fserializer/lists"}