{"id":15653770,"url":"https://github.com/pmlopes/vertx-bson-codec","last_synced_at":"2025-10-06T12:52:33.273Z","repository":{"id":5709151,"uuid":"6920043","full_name":"pmlopes/vertx-bson-codec","owner":"pmlopes","description":"BSON EventBus for Vert.x","archived":false,"fork":false,"pushed_at":"2020-09-06T12:03:52.000Z","size":11046,"stargazers_count":29,"open_issues_count":1,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-08-14T08:53:24.630Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/pmlopes.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}},"created_at":"2012-11-29T11:33:15.000Z","updated_at":"2024-05-04T03:20:55.000Z","dependencies_parsed_at":"2022-08-24T21:32:00.833Z","dependency_job_id":null,"html_url":"https://github.com/pmlopes/vertx-bson-codec","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pmlopes/vertx-bson-codec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-bson-codec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-bson-codec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-bson-codec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-bson-codec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmlopes","download_url":"https://codeload.github.com/pmlopes/vertx-bson-codec/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fvertx-bson-codec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272301970,"owners_count":24910094,"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-08-27T02:00:09.397Z","response_time":76,"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":[],"created_at":"2024-10-03T12:47:01.066Z","updated_at":"2025-10-06T12:52:28.222Z","avatar_url":"https://github.com/pmlopes.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"vertx-bson-codec\n===================\n[![Build Status](https://travis-ci.org/pmlopes/vertx-bson-codec.svg?branch=master)](https://travis-ci.org/pmlopes/vertx-bson-codec)\n\nBSON Codec for Vert.x 3\n\nWhy another codec?\n----------------------\nThe standard EventBus from Vert.x allows Verticles to communicate with each other using JSON. JSON is a generic and fairly\nsimple encoding scheme, however it limits the data types to be:\n\n* Number (normally a Double)\n* String\n* Boolean\n* Array (Ordered List)\n* Object (Map)\n* null\n\nAlthough for most cases these data types are enough, in some more complex cases a Verticle might need to exchange more\nrich type data such as Dates, Integers, UUIDs, Regular Expressions, Binary data. This is where the BSON EventBus comes in.\n\nImplementation details\n----------------------\nThe module has no external dependencies, I've decided to implement the bson codec myself to optimize the usage of vert.x\nbuffers, and for that reason it is quite basic for the moment.\n\nType mapping implementation status\n----------------------------------\n\n| BSON | Java | Implemented | Comments |\n|:-----|:-----|:-----------:|:---------|\n| Floating Point | Double | ✔ |  |\n| UTF-8 String | String | ✔ |  |\n| Embedded Document | java.util.Map | ✔ |  |\n| Array | java.util.List | ✔ |  |\n| Binary::Generic | byte[] | ✔ |  |\n| Binary::Function |  |  |  |\n| _Binary::Binary (OLD)_ | byte[] | ✔ | _Deprecated/Only ReadOnly Support (when other sources write data to the Bus_ |\n| _Binary::UUID (OLD)_ | | | _Deprecated_ |\n| Binary::UUID | java.util.UUID | ✔ |  |\n| Binary::MD5 | com.jetdrone.bson.vertx.MD5 | ✔ | This is a interface that you need to implement getHash() : byte[] |\n| Binary::User Defined | com.jetdrone.bson.vertx.Binary | ✔ | This is a interface that you need to implement getBytes() : byte[] |\n| _Undefined_ | | | _Deprecated_ |\n| ObjectId | com.jetdrone.bson.vertx.ObjectId | ✔ |  |\n| Boolean | Boolean | ✔ |  |\n| UTC Datetime | java.util.Date | ✔ |  |\n| Null | null | ✔ |  |\n| Regular Expression | java.util.regex.Pattern | ✔ |  |\n| _DBPointer_ |  |  | _Deprecated_ |\n| JavaScript Code |  |  |  |\n| _Symbol_ | | | _Deprecated_ |\n| JavaScript Code w/scope |  |  |  |\n| 32bit Integer | Integer | ✔ |  |\n| Timestamp | java.sql.Timestamp | ✔ |  |\n| 64bit Integer | Long | ✔ |  |\n| MinKey | com.jetdrone.bson.vertx.Key.MIN | ✔ |  |\n| MaxKey | com.jetdrone.bson.vertx.Key.MAX | ✔ |  |\n\nQuickstart\n----------\nJust register the Codec as any other codec:\n\n```\n    EventBus eb = vertx.eventBus();\n\n    eb.registerDefaultCodec(BSONDocument.class, new BSONMessageCodec());\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fvertx-bson-codec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmlopes%2Fvertx-bson-codec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fvertx-bson-codec/lists"}