{"id":51411945,"url":"https://github.com/slothsoft/framework-random","last_synced_at":"2026-07-04T15:31:19.636Z","repository":{"id":16882323,"uuid":"19642877","full_name":"slothsoft/framework-random","owner":"slothsoft","description":"A framework for creating dummy data for POJOs.","archived":false,"fork":false,"pushed_at":"2020-10-13T22:00:01.000Z","size":4621,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-13T19:48:10.623Z","etag":null,"topics":["dummy-data-generator","framework","java"],"latest_commit_sha":null,"homepage":"http://slothsoft.de/","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/slothsoft.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}},"created_at":"2014-05-10T14:07:07.000Z","updated_at":"2020-10-13T21:59:56.000Z","dependencies_parsed_at":"2022-09-26T22:01:41.487Z","dependency_job_id":null,"html_url":"https://github.com/slothsoft/framework-random","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/slothsoft/framework-random","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slothsoft%2Fframework-random","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slothsoft%2Fframework-random/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slothsoft%2Fframework-random/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slothsoft%2Fframework-random/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slothsoft","download_url":"https://codeload.github.com/slothsoft/framework-random/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slothsoft%2Fframework-random/sbom","scorecard":{"id":832015,"data":{"date":"2025-08-11","repo":{"name":"github.com/slothsoft/framework-random","commit":"cede7bc8a3f56c6972e90accc07c2921d4150774"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T17:59:31.706Z","repository_id":16882323,"created_at":"2025-08-23T17:59:31.706Z","updated_at":"2025-08-23T17:59:31.706Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35127443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"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":["dummy-data-generator","framework","java"],"created_at":"2026-07-04T15:31:18.784Z","updated_at":"2026-07-04T15:31:19.626Z","avatar_url":"https://github.com/slothsoft.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Random Framework\r\n\r\n[![Build Status](https://travis-ci.org/slothsoft/framework-random.svg?branch=master)](https://travis-ci.org/slothsoft/framework-random) [![Maven Central](https://img.shields.io/maven-central/v/de.slothsoft.random/random.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22de.slothsoft.random%22%20AND%20a:%22random%22)\r\n\r\n- **Author:** [Stef Schulz](mailto:s.schulz@slothsoft.de)\r\n- **Repository:** \u003chttps://github.com/slothsoft/framework-random\u003e\r\n- **Open Issues:** \u003chttps://github.com/slothsoft/framework-random/issues\u003e\r\n- **Wiki:** none\r\n- **Developer Resources:** [JavaDoc](http://slothsoft.github.io/framework-random), [Executed Tests](http://slothsoft.github.io/framework-random/tests), [Code Coverage](http://slothsoft.github.io/framework-random/coverage)\r\n\r\n\r\nA framework for creating dummy data for [POJO](https://de.wikipedia.org/wiki/Plain_Old_Java_Object)s. It can fill a lot of fields with random data, and is even able to recognize some fields that need special values to look pretty.\r\n\r\n**Content:**\r\n\r\n- [Getting Started](#getting-started)\r\n    - [Prerequisites](#prerequisites)\r\n    - [Installing](#installing)\r\n    - [Using the Framework](#using-the-framework)\r\n- [Versions](#versions)\r\n- [Features](#features)\r\n- [Developer Manual](#developer-manual)\r\n- [License](#license)\r\n\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\nYou need at least **Java 1.8** or above to use this library. You can use Maven as a build tool, but Gradle or using plain JARs should work as well.\r\n\r\n### Installing\r\n\r\nThis library is in Maven Central, so you can easily add it like this:\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n    \u003cgroupId\u003ede.slothsoft.random\u003c/groupId\u003e\r\n    \u003cartifactId\u003erandom\u003c/artifactId\u003e\r\n    \u003cversion\u003e2.1.0\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nFor other build tools and the JAR take a look at [Maven Central](https://search.maven.org/artifact/de.slothsoft.random/random/2.0.0/jar) or the [MVN Repository](https://mvnrepository.com/artifact/de.slothsoft.random/random).\r\n\r\n\r\n### Using the Framework\r\n\r\nThe new and improved API is really easy to use. To create a simple POJO without much ado, do this:\r\n\r\n```java\r\nclass MyPerson { \r\n    private String firstName;\r\n    private Date birthdate;\r\n    \r\n    // add getters and setters!\r\n}\r\n\r\nRandomFactory\u003cMyPerson\u003e factory = RandomFactory.forClass(MyPerson.class);\r\n\r\n// create a single POJO\r\nSystem.out.println(factory.createSingle());\r\n\r\n\r\n// create many POJOs\r\nfor (final MyPerson person : factory.create(5)) {\r\n    System.out.println(person);\r\n}\r\n```\r\n\r\nIf you want to have more control over the generated values, you cann add your own `RandomFields` like this:\r\n\r\n\r\n```java\r\nclass MyPerson { \r\n    private String firstName;\r\n    private Date burzeltag;\r\n    \r\n    // add getters and setters!\r\n}\r\n\r\nRandomFactory\u003cMyPojo\u003e factory = RandomFactory.forClass(MyPerson.class);\r\nfactory.addRandomField(\"firstName\", new FirstNameRandomField().gender(Gender.MALE));\r\nfactory.addRandomField(\"burzeltag\", new BirthdayRandomField());\r\n\r\n\r\nSystem.out.println(factory.createSingle());\r\n```\r\n\r\nAnd finally, to create a hierarchical structure of POJOs, use the `RandomIndustrialArea` like this:\r\n\r\n```java\r\nclass MyPerson { \r\n    private MyPersonsAddress address;\r\n    // add getter and setter!\r\n}\r\nclass MyPersonsAddress { \r\n    private String city;\r\n    // add getter and setter!\r\n}\r\n\r\nRandomIndustrialArea factory = RandomIndustrialArea.forClasses(MyPerson.class, MyPersonsAddress.class);\r\n\r\nfor (final MyPerson person : factory.create(MyPerson.class, 5)) {\r\n\tSystem.out.println(person);\r\n}\r\n```\r\n\r\nEven more examples are located [here](https://github.com/slothsoft/framework-random/tree/master/random-example/src/main/java/). To see all types have a look at [the package \"types\"](https://github.com/slothsoft/framework-random/tree/master/random/src/main/java/de/slothsoft/random/types) or the [JavaDoc](http://slothsoft.github.io/framework-random/de/slothsoft/random/types/package-summary.html).\r\n\r\n\r\n##  Versions\r\n\r\n\r\n| Version       | Changes       |\r\n| ------------- | ------------- |\r\n| [2.1.0](https://github.com/slothsoft/framework-random/milestone/2?closed=1) | new fields |\r\n| [2.0.2](https://github.com/slothsoft/framework-random/milestone/3?closed=1) | fixed file access |\r\n| 2.0.1         | Made _pom.xml_ pretty |\r\n| [2.0.0](https://github.com/slothsoft/framework-random/milestone/1?closed=1) | streamlined the API and documentation; moved to Maven Central |\r\n| 1.0.0         | internal version with basic API |\r\n\r\n\r\n##  Features\r\n\r\nThe following classes and semantic fields are supported.\r\n\r\n- arrays\r\n- `BigDecimal`\r\n- `BigInteger`\r\n- `Boolean`\r\n- `Calendar`\r\n- `Character` and `char`\r\n- `Collection` (including `List`, `Set` and `Queue`\r\n- `Date` (and \"birthdays\", which have another range)\r\n- `Double` and `double`\r\n- `Enum`\r\n- `Float` and `float`\r\n- `Integer` and `int`\r\n- `LocalDateTime`\r\n- `LocalDate`\r\n- `LocalTime`\r\n- `Long` and `long`\r\n- `Short` and `short`\r\n- some special `Strings`\r\n    * cities\r\n    * first names\r\n    * last names\r\n    * patterns (i.e. combination of all other fields)\r\n    * postal codes\r\n    * streets (with house number)\r\n    * word (random letters)\r\n    * words (random letters with spaces, dots and paragraphs between them)\r\n    \r\nIf something is missing, request it via [a new issue](https://github.com/slothsoft/framework-random/issues/new).\r\n\r\n\r\n\r\n# Developer Manual\r\n\r\n### How to Release?\r\n\r\nThe release process is basically [as defined in this guide](https://github.com/slothsoft/charts/wiki/How-To-Release):\r\n\r\n- **Pre-Release Steps**\r\n    1. Check TODOs and FIXMEs: Create issues for the next milestone(s) or fix them \r\n    1. Update documentation via `mvn clean verify -Pdoc` or the Eclipse launch config \"Create Doc.launch\" \r\n    1. Commit documentation \r\n    1. Update README.md with the planned version:\r\n        - **Getting Started** \u003e **Installing** - change Maven version\r\n        - **Versions** - add new milestone / version here\r\n- **Release**\r\n    1. `mvn clean release:prepare -DreleaseVersion=2.1.0 -DdevelopmentVersion=2.2.0-SNAPSHOT -DscmCommentPrefix=\"[#26] \" -B`\r\n    1. `mvn release:perform`\r\n    1. `git push origin -–tags`\r\n    1. `git push origin master`   \r\n- **Post-Release Steps**\r\n    1. Check that the project got released to [Sonatype](https://oss.sonatype.org/)\r\n\r\n\r\n### How to Create a New Random Field?\r\n\r\nCreate new implementation of `RandomField` in `de.slothsoft.random.types`. To test this implementation, you can (should) use:\r\n\r\n- `RandomFactoryTest` - to test that the basic setup of setting a property of a POJO works\r\n- `AbstractRandomFieldTest` - to test that the interface is correctly implemented\r\n\r\nAlso it should be added to the [Features](#features) section of this README.\r\n\r\n\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [MIT license](LICENSE) for details.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslothsoft%2Fframework-random","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslothsoft%2Fframework-random","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslothsoft%2Fframework-random/lists"}