<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Generics on Sven Ruppert</title><link>https://svenruppert.com/tags/generics/</link><description>Sven Ruppert — Java Veteran, Speaker, Trainer &amp; Bushcrafter. Articles, talks, workshops and videos on Core Java, Cybersecurity, Vaadin and Developer Relations.</description><generator>Hugo</generator><language>en</language><managingEditor>sven.ruppert@gmail.com (Sven Ruppert)</managingEditor><webMaster>sven.ruppert@gmail.com (Sven Ruppert)</webMaster><copyright>© 2026 Sven Ruppert</copyright><atom:link href="https://svenruppert.com/tags/generics/index.xml" rel="self" type="application/rss+xml"/><image><url>https://svenruppert.com/img/sven-ruppert.jpg</url><title>Sven Ruppert</title><link>https://svenruppert.com/tags/generics/</link></image><lastBuildDate>Sun, 15 Jan 2023 00:00:00 +0000</lastBuildDate><item><title>TypeTool</title><link>https://svenruppert.com/projects/typetool/</link><pubDate>Sun, 15 Jan 2023 00:00:00 +0000</pubDate><author>sven.ruppert@gmail.com (Sven Ruppert)</author><dc:creator>Sven Ruppert</dc:creator><guid isPermaLink="true">https://svenruppert.com/projects/typetool/</guid><description>Open-source library for type-safe generic programming in Java — utilities that lean into the type system instead of fighting it.</description><content:encoded>&lt;![CDATA[<p>A small library of building blocks for<strong>type-safe generic programming</strong> in
Java. Born out of the realisation that most &ldquo;generic&rdquo; Java code drops to<code>Object</code> and casts back — and that this is largely fixable by leaning harder
on the type system rather than around it.</p><h2 id="whats-in-the-box">What&rsquo;s in the box</h2><ul><li><strong>Type witnesses</strong> for runtime generic introspection (working around erasure)</li><li><strong>Builder patterns</strong> that retain compile-time type information</li><li><strong>Composition helpers</strong> for functions, predicates and consumers</li><li><strong>Result / Either</strong> style utilities that compose with<code>Optional</code> and<code>CompletableFuture</code></li></ul><h2 id="when-it-helps">When it helps</h2><ul><li>Library code that needs to expose generic APIs without forcing callers to cast</li><li>Domain models where a<code>Map&lt;String, Object&gt;</code> would technically work but losing
type info costs maintainability</li><li>Glue code between strongly-typed Java and weakly-typed external sources (JSON, configs)</li></ul><p>Documentation, releases and discussion live on<a href="https://github.com/svenruppert">GitHub</a>.</p>
]]></content:encoded></item></channel></rss>