{"id":16284990,"url":"https://github.com/goodforgod/dummymaker","last_synced_at":"2025-03-20T02:31:24.190Z","repository":{"id":21676809,"uuid":"92751534","full_name":"GoodforGod/dummymaker","owner":"GoodforGod","description":"🧰 Generates random Java Classes/Records for you.","archived":false,"fork":false,"pushed_at":"2023-04-18T20:16:02.000Z","size":2265,"stargazers_count":13,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T22:41:08.950Z","etag":null,"topics":["bean","data","dto","dummy","easy-random","entities","export","factory","fill","generate","java","pojo","random","random-generation","record"],"latest_commit_sha":null,"homepage":"http://goodforgod.dev/dummymaker/","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/GoodforGod.png","metadata":{"files":{"readme":"README-EXPORT.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":"2017-05-29T15:18:39.000Z","updated_at":"2024-03-16T11:43:56.000Z","dependencies_parsed_at":"2024-10-10T19:22:04.816Z","dependency_job_id":"690ac13d-7195-4aac-a02d-0ad51c0ae172","html_url":"https://github.com/GoodforGod/dummymaker","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodforGod%2Fdummymaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodforGod%2Fdummymaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodforGod%2Fdummymaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodforGod%2Fdummymaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoodforGod","download_url":"https://codeload.github.com/GoodforGod/dummymaker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244043332,"owners_count":20388563,"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","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":["bean","data","dto","dummy","easy-random","entities","export","factory","fill","generate","java","pojo","random","random-generation","record"],"created_at":"2024-10-10T19:21:49.624Z","updated_at":"2025-03-20T02:31:23.504Z","avatar_url":"https://github.com/GoodforGod.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Documentation is relative to DummyMaker versions 1+ and 3+.\n\n## Content\n- [Exporters](#exporters)\n- [Exporter Examples](#exporters-examples)\n- [Export File Structures](#export-file-structures)\n  - [Dummy Class Example](#dummy-class-example)\n  - [CSV](#csv)\n  - [JSON](#json)\n  - [XML](#xml)\n  - [SQL](#sql)  \n\n## Exporters\n\n*IExporter* exporters allow you to export Dummy objects to the shown format via *file* or as a *string*.\n\nThere are 4 available exporters with different formats:\n* JsonExporter\n* CsvExporter\n* SqlExporter\n* XmlExporter\n\n### **All Exporters Parameters**\n\nConstructor parameters available for all exporters.\n\n* *withCase* - naming case applied to all export fields (excluding *GenRenameExport*), default value is *DEFAULT*. All cases presets are in **Cases** enum and inherit **ICase** interface.\n\n\t**Available cases:**\n\t* *DEFAULT* - name as is.\n\t* *LOW_CASE* - name in low case (like *DummyList - dummylist*)\n\t* *UPPER_CASE* - name in upper case (like *DummyList - DUMMYLIST*)\n\t* *CAMEL_CASE* - name as is, but first letter is low case (like *DummyList - dummyList*)\n\t* *PASCAL_CASE* - name as is, but first letter is upper case (like *DummyList - dummyList*)\n\t* *SNAKE_CASE* - name in low case, with *_* symbol before each capital letter (like *DummyList - dummy_list*)\n\t* *UPPER_SNAKE_CASE* - name in upper case, with *_* symbol before each capital letter (like *DummyList - DUMMY_LIST*)\n    * *KEBAB_CASE* - name in low case, with *-* symbol before each capital letter (like *DummyList - dummy_list*)\n    * *UPPER_KEBAB_CASE* - name in upper case, with *-* symbol before each capital letter (like *DummyList - DUMMY_LIST*)\n\nOr you can create your own case using *ICase* interface.\n\n### **CsvExporter Specific Parameters**\n* *withHeader* - if true will generate CSV header, default *False*.\n* *withSeparator* - set CSV format separator, default is '**,**' comma.\n\n### **SqlExporter Specific Parameters**\n* *withTypes* - map with *key* as a class, and sql data type as string as map *value*.\n\n*DataTypeMap* is used to extend your data types to export in sql format.\n\nSo you can match java class to SQL type. Like map Java Integer to SQL INT type. Using this parameter you can extend or change defaults mapped data types.\n\n## **Exporters Examples**\n\nExporters allow you to export Dummy objects to shown format as a *file* or *string*.\n\nAvailable formats:\n- [CSV](#csv)\n- [JSON](#json)\n- [XML](#xml)\n- [SQL](#sql)\n\n#### *Export demonstration*\n\n![](https://media.giphy.com/media/9JgcqumizCKFYMt8tm/giphy.gif)\n\n#### *Exporters with parameters*\n\nAll *Exporters* parameters you can find in specified section.\n\n![](https://media.giphy.com/media/u47tJEILiglFtyM2Yy/giphy.gif)\n\n#### *Export as a string*\n\n*Export as string* is useful in case you have custom writer or need to send it over network.\n\n![](https://media.giphy.com/media/kS8R51TFsdCw2Agv97/giphy.gif)\n\n\n## Export File Structures\n\nExamples of exported Dummy object in each format.\n\n### Dummy Class Example\n\n```java\npublic class User {\n\n    @GenInteger\n    public Integer id;\n\n    @GenName\n    public String name;\n}\n```\n\n### *CSV*\n\nCan be used to import data in ***Cassandra, Mongo, Neo4j, etc...*** \n\nCsv exporter can generate *header*. (Like in example below)\nThis option is available to set during instantiating like others.\n\n```csv\nname,id\nERASMO,1746885991\nHELEN,-625322461\n```\n\n### *JSON*\n\nCan be used to import data in ***Mongo, MySQL, etc...***\n\n```json\n{\n\t\"User\": [\n\t\t{\n\t\t\t\"name\": \"GREGORY\",\n\t\t\t\"id\": \"-2123372253\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"HAROLD\",\n\t\t\t\"id\": \"-1637387700\"\n\t\t}\n\t]\n}\n```\n\n### *XML*\n\nCan be used to import data in ***MySQL, SQL Server, etc...***\n\n```xml\n\u003cUserList\u003e\n\t\u003cUser\u003e\n\t\t\u003cname\u003eGREGORY\u003c/name\u003e\n\t\t\u003cid\u003e-2123372253\u003c/id\u003e\n\t\u003c/User\u003e\n\t\u003cUser\u003e\n\t\t\u003cname\u003eHAROLD\u003c/name\u003e\n\t\t\u003cid\u003e-1637387700\u003c/id\u003e\n\t\u003c/User\u003e\n\u003c/UserList\u003e\n```\n\n### *SQL*\n\nCan be executed to load data in any ***SQL database***.\n\nDon't forget about **Primary Key**!\n\nEach insert query can contains max ***999*** rows (Due to ***1000*** insert row limit in *SQL*).\n\n```sql\nCREATE TABLE IF NOT EXISTS user(\n\tname\tVARCHAR,\n\tid  INT,\n\tPRIMARY KEY (id)\n);\n\nINSERT INTO user (name, id) VALUES \n('GREGORY', -2123372253),\n('HAROLD', -1637387700);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodforgod%2Fdummymaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodforgod%2Fdummymaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodforgod%2Fdummymaker/lists"}