Given some of the complexities involved in paranamer builds, I'm wondering why Avro doesn't use annotations instead. It seems that parameter names are only needed for Avro interfaces, and these are mostly generated from .avpr files (rather than being hand-written).
I've done a quick implementation, and it seems to work well: http://github.com/justinsb/avro/commit/b5532e3bf8967a6e97c795a480f74731945849e5 The actual @Named annotation is here: http://github.com/justinsb/avro/blob/259047e9b51bdb690a8b2c0ce5693ba65ed94536/src/java/org/apache/avro/Named.java So an example generated interface looks like this, and there's no need to run Paranamer: @SuppressWarnings("all") public interface BulkData { ByteBuffer read() throws AvroRemoteException; Void write(@Named("data") ByteBuffer data) throws AvroRemoteException; } I'm guessing there's some historical reason here - can anyone fill me in on the reasoning? Justin
