This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
I am myself leaning a lot towards using public final variables for a small and simple subsystem. There are no methods and I only need to transfer data in the form of String(s). I could use a String, but it is easier to read code if I use an object consisting only of public final variables instead.
To mark these objects as 'Data Structures' rather than true objects, I can keep them all in a separate package with a name that clearly indicates that these are not objects in the OO sense.
The use of these objects is limited to a small subsystem, and is not part of a public API that will be used by external systems, so refactoring them to promote these to 'real' objects if needed wouldn't be too hard.
It just seems like the simplest thing that will get the work done, at the moment. What do the ranchers think?