While refining my Type Safe Fluent Builder pattern implementation I wanted a way to materialize an Interface without having to write all the boilerplate code related to value objects and having huge constructors or lots of closure like inner class implementation scoped temporary variables that were not immutable and the like I decided I needed… Read the full article
As I was reverse engineering some proprietary Java code that I only had the binaries for. Being able to view the .class files as hex and see the plain text contents of all the String objects made it much easier to figure out what was going on. This reminded me of a simple but old… Read the full article
There seems to be dozens of new questions about how to use `Scanner` on Stackoverflow every day. All of them duplicates of the hundreds of questions already asked about how to use this class and it is confusing API. Probably some new text book this year is causing this torrent of craptastic questions from anonymous… Read the full article
The argument rages on still to this day about checked exceptions in Java. Personally I think they have always been a bad idea. Python gets along fine without checked exceptions, and I love me some Python. The Java developers don’t even get the concept of checked exceptions correct most of the time and the SDK… Read the full article
The following is the source code for a javax.management.ObjectName serializer that recursively serializes and is a good example of how to avoid circular references. This is specifically aimed at dumping the DomainRuntimeServiceMBean and the RuntimeServiceMBean servers from Weblogic 11g, but it should work with any JMX standards compliant MBServer implementations.
This some considerable noise on the internet about Fluent APIs and using them. There was a question on stackoverflow.com about how to enforce calling all the required methods to guarantee you fully materialize an object when using a Builder Pattern with a Fluent API approach. The appropriate way to achieve this is through Interfaces that… Read the full article
Where is final used? There are a lot of Java developers that don’t understand the keyword final. The keyword final is one of your greatest allies in writing bug free maintainable code. It makes reading code much more deterministic and step debugging a breeze. And it makes your code side effect free. Side effects are… Read the full article
I have released my first Maven artifacts to the Central Repository through Sonatype’s Open Source Nexus Server. You have to jump through some hoops to get everything just right to be able to release to the Sonatype Nexus repository, and I could not find all the information I needed in one place so I will… Read the full article
Make your pom.xml dependency entry for Jasper Reports look like this If you don’t use the excludes directive you get the java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExceptionIncludeDocCommentReference error.
I have created my first Maven 2 / 3 Archetype for generating command line applications that are powered by Java Simple Argument Parser ( JSAP ). Its source code lives on GitHub. I am working on getting it posted to Sonatype and synced to Central Repository.