Details
-
Type:
Sub-task
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 1.2.0-alpha-1
-
Component/s: None
-
Labels:None
Description
For example:
Application5Descriptor.securityRole().setRoleName(roleName)
Here the API looks backwards. "securityRole()" is really a "get" operation, because it doesn't return the descriptor, but instead SecurityRoleType. So it should be named "getSecurityRole()" if it's a get, or "newSecurityRole|createSecurityRole" if it's making a new one.
"setRoleName" on the other hand is used in method chaining, so according to the conventions we use in ShrinkWrap alongside Fowler's definition for fluent APIs in DSLs:
http://martinfowler.com/bliki/FluentInterface.html
...then "setRoleName(param)" should become simply "roleName".
So all together, I'd expect this to look more like:
Application5Descriptor.createSecurityRole().roleName(roleName)
Gliffy Diagrams
Issue Links
- is related to
-
SHRINKDESC-71
Move JavaDoc out of "gen" and into the appropriate modules.
-
- Closed
-
I suppose to introduce getOrCreate for elements which only occurring once. The underlying Node class uses the same name. Otherwise, we have to introduce a getXX and a createXX for such single elements. What do you think?
For the elements which can be defined multiple times, your suggestion is good, e.g. Application5Descriptor.createSecurityRole().roleName(roleName)