MultiCatch in c# and old java

Posted by & filed under c#, Java.

Someone on IRC was asking whether it was possible to do catch multiple types of exceptions at the same time in c#. In Java 7 there’s a feature from project coin called multi catch that enables the following syntax: public class MultiCatch { public static void main(String… args) { try { throw new ExceptionA(); }… Read more »

Jammer – IRC to Yammer Bridge

Posted by & filed under Java.

Jammer is a quick 1hr project that clones IRC discussion on Yammer. Yammer is a social network for internal use by organisations. It’s a great way to broadcast information and have asynchronous discussion, and simple enough for anyone to use. Developers already have a great forum for asynchronous discussion – IRC. IRC is great for… Read more »

Typesafe Hibernate POJO Queries without code generation

Posted by & filed under Java.

Hibernate is great, but often one has to specify queries as HQL in Strings, or as criteria which allow building of invalid queries. It would be great to use the java type system to help enforce correct queries. I am aware of some tools to do this, but all the ones I have seen require… Read more »

Java Abuse: Inline instanceof

Posted by & filed under Java, Uncategorized.

One annoyance in Java is having to do instanceof checks on multiple lines. e.g. if (object instanceof Foo) { Foo foo = (Foo)object;; }if (object instanceof Foo) { Foo foo = (Foo)object;; } While this is often a sign of a design failure, there are times when instanceof checks are required often due… Read more »

Java Abuse – Currency Pattern

Posted by & filed under Java.

Here’s a sillier one from last night… People often complain about not being able to return multiple values from a method in Java. I can’t see a good reason for wanting to do this, but some do. The example I was given was wanting to do: int foo, bar, baz; list(foo, bar, bar) = func(ponies);int… Read more »

Java Abuse – Ternary Try/Catch

Posted by & filed under Java, Uncategorized.

We often discuss Java limitations on IRC and try to come up with (sometimes silly) workarounds. Unfortunately after time passes it’s often easy to forget the outcome, and lose code snippets. So I thought I’d start blogging some of them so I don’t lose them, and other people might suggest other ways of doing things… Read more »