{"id":19742140,"url":"https://github.com/merkle-open/java-random","last_synced_at":"2025-04-30T06:30:55.044Z","repository":{"id":53746356,"uuid":"76849913","full_name":"merkle-open/java-random","owner":"merkle-open","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-15T21:18:01.000Z","size":2084,"stargazers_count":18,"open_issues_count":3,"forks_count":8,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-05T23:32:13.521Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/merkle-open.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":"2016-12-19T09:53:44.000Z","updated_at":"2024-08-24T10:57:56.000Z","dependencies_parsed_at":"2024-11-12T01:31:23.061Z","dependency_job_id":"7b3398c3-353b-487d-ae0a-2f24dde8a9fb","html_url":"https://github.com/merkle-open/java-random","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merkle-open%2Fjava-random","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merkle-open%2Fjava-random/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merkle-open%2Fjava-random/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merkle-open%2Fjava-random/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/merkle-open","download_url":"https://codeload.github.com/merkle-open/java-random/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251653967,"owners_count":21622230,"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":[],"created_at":"2024-11-12T01:29:21.024Z","updated_at":"2025-04-30T06:30:54.421Z","avatar_url":"https://github.com/merkle-open.png","language":"Java","readme":"# Advanced Random Test Data Utils\n\n[Project Documentation](http://merkle-open.github.io/java-random)\n\nSystem        | Status\n--------------|------------------------------------------------        \nDependency    | [![Maven Central][maven-central-version]][maven-central]\n\nThis modules aims to provide a universal mechanism to create random test dummies of java objects.\n\n## Usage\n\n### Maven Dependency (Latest Version in `pom.xml`):\n\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003ecom.namics.oss\u003c/groupId\u003e\n\t\t\u003cartifactId\u003ejava-random\u003c/artifactId\u003e\n\t\t\u003cversion\u003e1.3.0\u003c/version\u003e\n\t\u003c/dependency\u003e\n\n[![Maven Central][maven-central-version]][maven-central]\t\n\n### Requirements\t\n\n#### Minumum Java Version\n\n- Java: JDK 8  \n\n#### Java 9 Notes\n\n- Module is not prepared for java 9 yet.\n- Due to heavy use of reflection in this lib it might not be that simple to adopt java 9 \n          \t \n\n## Create random values\n\n### Basic values\n\nThe  `com.namics.commons.random.RandomData` util provides a lot of convenience methods to create basic random values.\n\n### Java beans and advanced types\n\nUse the generic method `com.namics.commons.random.RandomData.random(Class\u003c?\u003e type)` to create random instance of the object.\n\nThis works for types with available generators \n```java \nInteger random = RandomData.random(Integer.class);\n``` \n\nBut also for Java beans:\n\n```java\n public class Demo {\n \tpublic static class Person{\n \t\tprivate String name;\n \t\tpublic String getName() {return name;}\n \t\tpublic void setName(String name) {this.name = name;}\n \t}\n \n \t@Test\n \tpublic void simplePerson() throws Exception {\n \t\tPerson person = RandomData.random(Person.class);\n \t\tSystem.out.println(person.getName()); // Leonel Bowers\n \t}\n } \n```\n\nThis requires a registered instance of  `com.namics.commons.random.generator.RandomGenerator\u003cSupportedType\u003e` for the requested type.\nThere is a basic list of generators registered by default to support most basic type.\nSee [basic generators](src/main/java/com/namics/commons/random/generator/basic) for complete list.\n\nThere is a basic support for Collections.\n\n#### Register custom generators `RandomGenerator\u003cSupportedType\u003e` \n\nThere are several ways to register custom `RandomGenerator\u003cSupportedType\u003e`s:\n\n- auto discovery: \n\t- place `RandomGenerator\u003cSupportedType\u003e` in same package as type to be generated\n\t- add custom scan package `RandomData.addRandomGenerators(String scanpackage )`\t \n- explicit registration:\n    - Register generator class `RandomData.addRandomGenerator(Class\u003c? extends RandomGenerator\u003e generatorClass )`\n    - Register generator instance `RandomData.addRandomGenerator(RandomGenerator generator)`\n    - Ein zu scannendes Package registrieren: \n\n### Accented chars in random names\n\nYou may enable international names by setting either\n\n- system property \"random.names.international\" to \"true\"\n- environment variable \"RANDOM_NAMES_INTERNATIONAL\" to \"true\"\n\nif not enabled, only names without accents are used.\n\n[maven-central-version]: https://maven-badges.herokuapp.com/maven-central/com.namics.oss/java-random/badge.svg\n[maven-central]: https://maven-badges.herokuapp.com/maven-central/com.namics.oss/java-random\n","funding_links":[],"categories":["测试"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerkle-open%2Fjava-random","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmerkle-open%2Fjava-random","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerkle-open%2Fjava-random/lists"}