About Lukas Eder
Lukas is a Java and SQL enthusiast developer working for Adobe Systems in Basel, Switzerland. He is the creator of jOOQ, a comprehensive SQL library for Java, and he is blogging mostly about these three topics: Java, SQL and jOOQ.
List/Grid Author Archives Subscribe to the RSS feed of Lukas Eder

Rare Uses of a “ControlFlowException”
Control flows are a “relict” from imperative programming, which has leaked into various other programming paradigms, including Java’s object oriented paradigm. Apart from the ...

On Java 8′s introduction of Optional
I had recently discovered the JDK 8′s addition of the Optional type. The Optional type is a way to avoid NullPointerException, as API consumers that get Optional return values from ...

Inadvertent Recursion Protection with Java ThreadLocals
Now here’s a little trick for those of you hacking around with third-party tools, trying to extend them without fully understanding them (yet!). Assume the following situation:You ...

How to Design a Good, Regular API
People have strong opinions on how to design a good API. Consequently, there are lots of pages and books in the web, explaining how to do it. This article will focus on a particular ...

Java Collections API Quirks
So we tend to think we’ve seen it all, when it comes to the Java Collections API. We know our ways around Lists, Sets, Maps, Iterables, Iterators. We’re ready for Java 8?s Collections ...

Easy Mocking of Your Database
Test-driven development is something wonderful! Once you’ve established it in your organisation, you will start to:Greatly improve your quality (things break less often) Greatly ...

Bloated JavaBeans – Don’t Add “Getters” to Your API
I have recently blogged about an idea how JavaBeans™ could be extended to reduce the bloat created by this widely-accepted convention in the Java world. That article was reblogged ...

Java, if this were a better world
Just a little dreaming about a better world, where some old blunders in the Java platform would’ve been corrected and some awesome missing features would’ve been implemented. Don’t ...

Defensive API evolution with Java interfaces
API evolution is something absolutely non-trivial. Something that only few have to deal with. Most of us work on internal, proprietary APIs every day. Modern IDEs ship with awesome ...

Database Abstraction and SQL Injection
I have subscribed to various user groups of jOOQ’s competing database abstraction tools. One of which is ActiveJDBC, a Java implementation of Active Record design pattern. Its maintainer ...







