Javabean convention - method naming for property gId

convention, conventions, java, javabeans, naming-conventions

Solution

The reference you are interested in can be found in the Beans specification at Section 8.8.

That being said, it does not explicitly cover your particular case of `gId`/`gURL`. The specification says that to provide a getter/setter, we simply capitalize the first letter. To recover the property from the getter/setter, if the first two letters are uppercase, then the whole property is left as-is. Otherwise we decapitalize the first letter. So your getter would become `getGURL`, but your property would be incorrectly recovered from the getter as `GURL`. You have the same problem with `gId`.

Therefore it seems that the specification does not allow you to provide a consistent translation of any property with a first lowercase character followed by an uppercase character.

My suggestion is to either adopt a completely lowercase property, or to extend the lowercase prefix to two letters (`glURL`, for example).

Problem

If I have a property 'gId' in my Java class what should the accessor method be named as? `getGId` is what I assume. If there were a property `gURL` I think it would be `getGURL`, which kind of looks ugly (not referring to the alternative spelling of girl though). If the property was just `url` the method name `getUrl` is good on the eye and yeah I would not name the property as URL in the first place which would make the accessor ugly again - `getURL` I remember reading from the Javabean Specification PDF somewhere about capitalization of properties and also cases involving acronyms but cant find it in the PDF anymore. Does anyone have a reference to it or please confirm if I am right in what I am saying?

Original source