{"id":17846485,"url":"https://github.com/technicalguru/rslibs","last_synced_at":"2026-01-15T22:10:55.065Z","repository":{"id":45147378,"uuid":"74030865","full_name":"technicalguru/rslibs","owner":"technicalguru","description":"RSLibs - A Java class library for day-2-day development","archived":false,"fork":false,"pushed_at":"2024-09-30T05:28:18.000Z","size":2046,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T15:55:37.810Z","etag":null,"topics":["hibernate","java","rs-library","tools","utilities","utils"],"latest_commit_sha":null,"homepage":"https://techblog.ralph-schuster.eu/rs-library/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/technicalguru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-11-17T13:45:33.000Z","updated_at":"2024-09-12T10:33:48.000Z","dependencies_parsed_at":"2024-01-10T11:46:29.215Z","dependency_job_id":"983c8eba-bacf-4a39-811f-4e899acf1f3a","html_url":"https://github.com/technicalguru/rslibs","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technicalguru%2Frslibs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technicalguru%2Frslibs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technicalguru%2Frslibs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technicalguru%2Frslibs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/technicalguru","download_url":"https://codeload.github.com/technicalguru/rslibs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244570550,"owners_count":20474091,"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":["hibernate","java","rs-library","tools","utilities","utils"],"created_at":"2024-10-27T21:40:03.220Z","updated_at":"2026-01-15T22:10:55.038Z","avatar_url":"https://github.com/technicalguru.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RS Libs\nA Java class library that is useful for day-2-day development\n\n## Synopsis\nThe RS Library project was established to support my daily Java development. It is a collection of interfaces, classes and static Utils that are part of each of my projects. That’s why I decided to publish them the same way so everyone can benefit of the work. And of course, it will be easier for myself to fulfill common development tasks.\n\nRS Library is divided into four areas, each of them published as a Maven module to RS Library:\n\n * [Base Library](https://github.com/technicalguru/rslibs/blob/master/baselib/README.md) – provides non-specific code such as Java language tasks, IO tasks, bean handling, Configuration helpers and many more.\n * [Templating](https://github.com/technicalguru/rslibs/blob/master/templating/README.md) – provides an easy Typo3-like way of processing text templates within Java.\n * [Jackson](https://github.com/technicalguru/rslibs/blob/master/jackson/README.md) – provides Jackson-based serialization/deserialization with JSON and YAML\n * [TOTP](https://github.com/technicalguru/rslibs/blob/master/otp/README.md) – provides TOTP generation and verification library\n \nMost of this code was created when I faced specific problems in my professional work. I usually work out solutions in private projects, test them there and then apply them to my professional work. That’s why few of my employers will find the same code in their products. However, the code was created outside of professional environments and therefore is my own intellectual property.\n\nRS Library modules are maintained in the same Maven project and, hence, follow the same release cycle. That means that each modules will have the same version numbers and are published at the same time.\n\n## Latest Version\nLatest version is 5.2.2. Please note that Java 21 is required since 5.1.0.\n\n## Upgrading v4 to v5\nV5 is a major release that removes several deprecated date and calendar classes. This includes the ``RsDate`` class and its descendants as well as some bean helper classes. They can be easily replaced nowadays with other standard libraries such as the Java Time API or commons-beans or alike. \n\n## Upgrading v3 to v4\nV4 is a major release that marks several classes as deprecated. This includes the ``RsDate`` class and its descendants as well as some bean helper classes. They can be easily replaced nowadays with other standard libraries such as the Java Time API or commons-beans or alike. \n\n## Upgrading v2 to v3\nV3 is a major release that removes the Data APIs. They will not be maintained any longer - in favour of Spring Data Framework. Do not upgrade to this version when you need the Data API.\n\n## Upgrading v1 to v2\nV2 which has some minor compatibility breaks that result from upgrading [commons-configuration](https://commons.apache.org/proper/commons-configuration/) dependency:\n\n* Replace references to ``org.apache.commons.configuration.Configuration`` by ``org.apache.commons.configuration2.Configuration``\n* ``SubnodeConfiguration`` was removed in favour of ``HierarchicalConfiguration`` \n* New utility methods for the ease of creating configurations from properties and XML files were added in [ConfigurationUtils](baselib/src/main/java/rs/baselib/configuration/ConfigurationUtils.java):\n    *  getXmlConfiguration() - will create a ``XMLConfiguration`` object from a given file or URL\n    *  getPropertiesConfiguration() - will create a ``PropertiesConfiguration`` object from a given file or URL\n\n## API Reference\n\nJavadoc API for latest stable version can be accessed here:\n\n* [baselib](https://www.javadoc.io/doc/eu.ralph-schuster/baselib)\n* [templating](https://www.javadoc.io/doc/eu.ralph-schuster/templating)\n* [jackson](https://www.javadoc.io/doc/eu.ralph-schuster/jackson)\n* [totp](https://www.javadoc.io/doc/eu.ralph-schuster/totp)\n\n## Contributions\n\n * [Project Homepage](https://github.com/technicalguru/rslibs)\n * [Issue Tracker](https://github.com/technicalguru/rslibs/issues)\n \n## License\n\nRsLibs is free software: you can redistribute it and/or modify it under the terms of version 3 of the GNU \nLesser General Public  License as published by the Free Software Foundation.\n\nRsLibs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied \nwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public \nLicense for more details.\n\nYou should have received a copy of the GNU Lesser General Public License along with RsLibs.  If not, see \n\u003chttp://www.gnu.org/licenses/lgpl-3.0.html\u003e.\n\nSummary:\n 1. You are free to use all this code in any private or commercial project. \n 2. You must distribute license and author information along with your project.\n 3. You are not required to publish your own source code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnicalguru%2Frslibs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechnicalguru%2Frslibs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnicalguru%2Frslibs/lists"}