Indexing repositories

Dependency management was always one of the crucial Java project management tasks. It’s where tools such as Maven and Ivy make all the difference and allow developers to maintain their project dependencies in an easy way. There are two important elements for this to happen: Centralized repositories – containing library JARs Metadata – describing those… Continue reading Indexing repositories

Published
Categorized as Java

Customizing Enums

Enumerated types (enums) are a way to define fixed set of constants, so helpful in many areas of software development. In the most common case, in your Java code written for Java 5 or newer, you will use enums for int constants and replace chunks of code that look like this public static final int… Continue reading Customizing Enums

Published
Categorized as Java

Dealing with large code bases

If you haven’t already, be sure to read Steve Yegge’s post on his experience of dealing with large code bases (it’s a bit long post but an excellent read). He explains the maintenance nightmare of his 500.000 lines of code game written in Java and quite correctly concludes that code size is a crucial problem… Continue reading Dealing with large code bases

Published
Categorized as Java, onJava

Extension methods proposals

There’s a quite interesting discussion in the blogosphere about proposed extension methods feature for Java 7. The problem tackled by this proposal is how to extend an API (interface) with new methods without breaking existing implementations. The example used in a discussion is a List interface and the sort() method. In order to add another… Continue reading Extension methods proposals

Published
Categorized as Java, onJava

Groovy StAX builder

I’ve always loved Groovy builders concept for handling (mostly creating) hierarchical documents. On the other hand I find StAX, pull-based processing API, to be one of my favorite methods for dealing with simple XML processing. It’s simple and fast, so what more can I ask for? Additionally, thanks to the Jettison project you can also… Continue reading Groovy StAX builder

XStream and Spring OXM (Object/XML Mapping framework)

It all started when I tried to find a solution for customizing an XStream instance for my ActiveMQ XStream message transformer that would be better than currently used (extending a base transformer and providing a custom factory method that will do things like alias, converter, annotation, etc. settings). I wanted an easy solution to configure… Continue reading XStream and Spring OXM (Object/XML Mapping framework)

Future of Java

Tomorrow, on Wednesday 7th, there will be a panel at IJTC with Joel Spolsky and James Strachan discussing the future of Java. It sounds very compiling to me and I hope to meet you there.

Published
Categorized as Java

Multi-Language VM

OpenJDK community has a new project, Multi-Language VM (or just mlvm). It is announced by John Rose, from Sun, on the announcement list. The focus of the project will be to prototype JVM features beneficial for dynamic languages and remove “pain points” that current dynamic language developers have with standard JVM. Here’s the snippet from… Continue reading Multi-Language VM

Published
Categorized as Java

Scripting API for everyone

I definitely think that dynamic languages for Java platform is an important topic. In that context, a Scripting API as a standardized scripting framework has its own role for Java developers. It is definitely a good thing it is included in JDK 6, but the lack of proper support for earlier JDK’s, in my opinion,… Continue reading Scripting API for everyone

Published
Categorized as Java, onJava

XStream 1.2.2

XStream 1.2.2 is released with JettisonMappedXmlDriver used for serialization and deserialization from JSON. It is the driver first presented in Java and JSON post. All modifications are submitted to Jettison and XStream projects respectfully and documented in an appropriate tutorial (http://xstream.codehaus.org/json-tutorial.html). From now on, XStream has a full support for JSON serialization. Enjoy.

Published
Categorized as Java, onJava