{"id":15830175,"url":"https://github.com/astrapi69/data-api","last_synced_at":"2025-04-01T13:33:39.160Z","repository":{"id":57730215,"uuid":"160574724","full_name":"astrapi69/data-api","owner":"astrapi69","description":"Defines interfaces for data beans like jpa entities or DTO(Data Transfer Object)  objects","archived":false,"fork":false,"pushed_at":"2024-09-09T14:51:31.000Z","size":308,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2024-10-12T11:15:01.300Z","etag":null,"topics":["active","data","dto","identity","java","jpa","modification","tree-structure","versioning"],"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/astrapi69.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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},"funding":{"github":null,"patreon":null,"open_collective":"asterios-raptis","ko_fi":"astrapi69","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://flattr.com/@astrapi69","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=GVBTWLRAZ7HB8"]}},"created_at":"2018-12-05T20:31:06.000Z","updated_at":"2024-09-09T14:51:34.000Z","dependencies_parsed_at":"2024-06-18T16:38:10.901Z","dependency_job_id":"95fc475c-f03f-44ed-9b81-d26016a0ddb3","html_url":"https://github.com/astrapi69/data-api","commit_stats":{"total_commits":153,"total_committers":4,"mean_commits":38.25,"dds":0.05228758169934644,"last_synced_commit":"8ce91696e326007b042baba036dab75515287023"},"previous_names":["astrapi69/ent-api"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrapi69%2Fdata-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrapi69%2Fdata-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrapi69%2Fdata-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrapi69%2Fdata-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astrapi69","download_url":"https://codeload.github.com/astrapi69/data-api/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246604616,"owners_count":20804100,"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":["active","data","dto","identity","java","jpa","modification","tree-structure","versioning"],"created_at":"2024-10-05T11:05:09.179Z","updated_at":"2025-04-01T13:33:38.438Z","avatar_url":"https://github.com/astrapi69.png","language":"Java","readme":"# Overview\n\n\u003cdiv style=\"text-align: center\"\u003e\n\n[![Java CI with Gradle](https://github.com/astrapi69/data-api/actions/workflows/gradle.yml/badge.svg)](https://github.com/astrapi69/data-api/actions/workflows/gradle.yml)\n[![Open Issues](https://img.shields.io/github/issues/astrapi69/data-api.svg?style=flat)](https://github.com/astrapi69/data-api/issues)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.astrapi69/data-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.github.astrapi69/data-api)\n[![Javadocs](http://www.javadoc.io/badge/io.github.astrapi69/data-api.svg)](http://www.javadoc.io/doc/io.github.astrapi69/data-api)\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](http://opensource.org/licenses/MIT)\n[![Donate](https://img.shields.io/badge/donate-❤-ff2244.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=GVBTWLRAZ7HB8)\n[![Hits Of Code](https://hitsofcode.com/github/astrapi69/data-api)](https://hitsofcode.com/github/astrapi69/data-api/view)\n[![Lines Of Code](https://tokei.rs/b1/github/astrapi69/data-api)](https://github.com/astrapi69/data-api)\n\n\u003c/div\u003e\n\nThis api project provides interfaces that data objects(for instance jpa entities or DTO objects) can implement for\nproviding api features like:\n\n- identifiable objects\n- id generation\n- provide information for the creation, last modification and deletion\n- activate or deactivate objects\n- name- or textable objects that holds a name property\n- versionable objects that holds a version property\n- key value pair objects\n- processable objects\n- traceable objects\n- treeable objects\n- validatable objects\n- verifiable objects\n- visibility of objects\n- and composition of the above described objects\n\nNote: The project holds only interfaces and has no dependencies to other libraries\n\n\u003e Please support this project by simply putting a Github \u003c!-- Place this tag where you want the button to render. --\u003e\n\u003ca class=\"github-button\" href=\"https://github.com/astrapi69/data-api\" data-icon=\"octicon-star\" aria-label=\"Star astrapi69/data-api on GitHub\"\u003eStar ⭐\u003c/a\u003e\n\u003e\n\u003e Share this library with friends on Twitter and everywhere else you can\n\u003e\n\u003e If you love this project [![donation](https://img.shields.io/badge/donate-❤-ff2244.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=GVBTWLRAZ7HB8)\n\n## Import dependencies to your project\n\n\u003cdetails\u003e\n  \u003csummary\u003egradle (click to expand)\u003c/summary\u003e\n\n## gradle dependency\n\nReplace the variable ${latestVersion} with the current latest\nversion: [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.astrapi69/data-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.github.astrapi69/data-api)\n\nYou can first define the version in the ext section and add than the following gradle dependency to\nyour project `build.gradle` if you want to import the core functionality of data-api:\n\ndefine version in file gradle.properties\n\n```\ndataApiVersion=${latestVersion}\n```\n\nor in build.gradle ext area\n\n```\n    dataApiVersion = \"${latestVersion}\"\n```\n\nthen add the dependency to the dependencies area\n\n```\n    implementation(\"io.github.astrapi69:data-api:$dataApiVersion\")\n```\n\n# with new libs.versions.toml file\n\nIf you use the new libs.versions.toml file for new automatic catalog versions update\n\n```\n[versions]\ndata-api-version= \"${latestVersion}\"\n\n[libraries]\ndata-api = { module = \"io.github.astrapi69:data-api\", version.ref = \"data-api-version\" }\n```\n\nthen add the dependency to the dependencies area\n\n```\n    implementation libs.data.api\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMaven (click to expand)\u003c/summary\u003e\n\n## Maven dependency\n\nMaven dependency is now on sonatype.\nCheck\nout [sonatype repository](https://oss.sonatype.org/index.html#nexus-search;gav~io.github.astrapi69~data-api~~~)\nfor latest snapshots and releases.\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the core\nfunctionality of data-api:\n\nThen you can add the dependency to your dependencies:\n\n    \u003cproperties\u003e\n        ...\n\n```xml\n        \u003c!-- data-api version --\u003e\n\u003cdata-api.version\u003e${latestVersion}\u003c/data-api.version\u003e\n```\n\n        ...\n    \u003c/properties\u003e\n        ...\n        \u003cdependencies\u003e\n        ...\n\n```xml\n            \u003c!-- data-api DEPENDENCY --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.astrapi69\u003c/groupId\u003e\n    \u003cartifactId\u003edata-api\u003c/artifactId\u003e\n    \u003cversion\u003e${data-api.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n        ...\n        \u003c/dependencies\u003e\n\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary\u003eSnapshots (click to expand)\u003c/summary\u003e\n\n## 📸 Snapshots\n\n[![Snapshot](https://img.shields.io/badge/dynamic/xml?url=https://oss.sonatype.org/service/local/repositories/snapshots/content/io/github/astrapi69/data-api/maven-metadata.xml\u0026label=snapshot\u0026color=red\u0026query=.//versioning/latest)](https://oss.sonatype.org/content/repositories/snapshots/io/github/astrapi69/data-api/)\n\nThis section describes how to import snapshot versions into your project.\nAdd the following code snippet to your gradle file in the repositories section:\n\n```\nrepositories {\n   //...\n```\n\n```groovy\n    maven {\n    name \"Sonatype Nexus Snapshots\"\n    url \"https://oss.sonatype.org/content/repositories/snapshots\"\n    mavenContent {\n        snapshotsOnly()\n    }\n}\n```\n```\n}\n```\n\n\u003c/details\u003e\n\n## Note\n\nNo animals were harmed in the making of this library.\n\n# Donations\n\nThis project is kept as an open source product and relies on contributions to remain being developed. If you like this\nlibrary, please consider a donation\n\nover paypal:\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=MJ7V43GU2H386\" target=\"_blank\"\u003e\n\u003cimg src=\"https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif\"\nalt=\"PayPal this\"\ntitle=\"PayPal – The safer, easier way to pay online!\"\nstyle=\"border: none\" /\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\nor over bitcoin(BTC) with this address:\n\nbc1ql2y99q7e8psndhcc3gferk03esw3qqf677rhjy\n\n\u003cimg\nsrc=\"https://github.com/astrapi69/jgeohash/blob/master/src/main/resources/img/bc1ql2y99q7e8psndhcc3gferk03esw3qqf677rhjy.png\"\nalt=\"Donation Bitcoin Wallet\" width=\"250\"/\u003e\n\nor over FIO with this address:\n\nFIO7tFMUVAA9cHiPPqKMfMXiSxHrbpiFyRYqTketNuM67aULuwjop\n\n\u003cimg\nsrc=\"https://github.com/astrapi69/jgeohash/blob/master/src/main/resources/img/FIO7tFMUVAA9cHiPPqKMfMXiSxHrbpiFyRYqTketNuM67aULuwjop.png\"\nalt=\"Donation FIO Wallet\" width=\"250\"/\u003e\n\nor over Ethereum(ETH) with:\n\n0xc057D159D3C8f3311E73568b334FF6fE82EB2b7D\n\n\u003cimg\nsrc=\"https://github.com/astrapi69/jgeohash/blob/master/src/main/resources/img/0xc057D159D3C8f3311E73568b334FF6fE82EB2b7D.png\"\nalt=\"Donation Ethereum Wallet\" width=\"250\"/\u003e\n\nor over Ethereum Classic(ETC) with:\n\n0xF708cA86D86C246B69c3F4BAe431eBbe0c2bfddD\n\n\u003cimg\nsrc=\"https://github.com/astrapi69/jgeohash/blob/master/src/main/resources/img/0xF708cA86D86C246B69c3F4BAe431eBbe0c2bfddD.png\"\nalt=\"Donation Ethereum Classic Wallet\" width=\"250\"/\u003e\n\nor over Dogecoin(DOGE) with:\n\nD5yi4Um8cpakd6yPRm2hGWuQ5nrVzhSSW1\n\n\u003cimg\nsrc=\"https://github.com/astrapi69/jgeohash/blob/master/src/main/resources/img/D5yi4Um8cpakd6yPRm2hGWuQ5nrVzhSSW1.png\"\nalt=\"Donation Dogecoin Wallet\" width=\"250\"/\u003e\n\nor over Monero(XMR) with:\n\n49bqeRQ7Bf49oJFVC72pqpe5hFbb62pfXDYPdLsadGGF81KZW2ZfrPZ8PbAVu5X2v1TYAspeczMya3cYQysNS4usRRPQHVw\n\n\u003cimg\nsrc=\"https://github.com/astrapi69/jgeohash/blob/master/src/main/resources/img/49bqeRQ7Bf49oJFVC72pqpe5hFbb62pfXDYPdLsadGGF81KZW2ZfrPZ8PbAVu5X2v1TYAspeczMya3cYQysNS4usRRPQHVw.png\"\nalt=\"Donation Monero Wallet\" width=\"250\"/\u003e\n\nor over the donation buttons at the top.\n\n## License\n\nThe source code comes under the liberal MIT License, making data-api great for all types of applications.\n\n## Semantic Versioning\n\nThe versions of data-api are maintained with the Simplified Semantic Versioning guidelines.\n\nRelease version numbers will be incremented in the following format:\n\n`\u003cmajor\u003e.\u003cminor\u003e.\u003cpatch\u003e`\n\nFor detailed information on versioning for this project you can visit\nthis [wiki page](https://github.com/lightblueseas/mvn-parent-projects/wiki/Simplified-Semantic-Versioning)\n.\n\n## Want to Help and improve it? ###\n\nThe source code for data-api are on GitHub. Please feel free to fork and send pull requests!\n\nCreate your own fork of [astrapi69/data-api/fork](https://github.com/astrapi69/data-api/fork)\n\nTo share your changes, [submit a pull request](https://github.com/astrapi69/data-api/pull/new/develop).\n\nDon't forget to add new units tests on your changes.\n\n## Contacting the Developers\n\nDo not hesitate to contact the data-api developers with your questions, concerns, comments, bug reports, or feature\nrequests.\n\n- Feature requests, questions and bug reports can be reported at\n  the [issues page](https://github.com/astrapi69/data-api/issues).\n\n## Credits\n\n|**Nexus Sonatype repositories**|\n|     :---:      |\n|[![sonatype repository](https://img.shields.io/nexus/r/https/oss.sonatype.org/io.github.astrapi69/data-api.svg?style=for-the-badge)](https://oss.sonatype.org/index.html#nexus-search;gav~io.github.astrapi69~data-api~~~)|\n|Special thanks to [sonatype repository](https://www.sonatype.com) for providing a free maven repository service for open source projects|\n|     \u003cimg width=1000/\u003e     |\n\n|**javadoc.io**|\n|     :---:      |\n|[![Javadocs](http://www.javadoc.io/badge/io.github.astrapi69/data-api.svg)](http://www.javadoc.io/doc/io.github.astrapi69/data-api)|\n|Special thanks to [javadoc.io](http://www.javadoc.io) for providing a free javadoc documentation for open source projects|\n|     \u003cimg width=1000/\u003e     |\n","funding_links":["https://opencollective.com/asterios-raptis","https://ko-fi.com/astrapi69","https://flattr.com/@astrapi69","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=GVBTWLRAZ7HB8","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=MJ7V43GU2H386"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrapi69%2Fdata-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastrapi69%2Fdata-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrapi69%2Fdata-api/lists"}