| Summary: | Support model element interfaces that do not use 'I' prefix convention | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Konstantin Komissarchik <konstantin> |
| Component: | Sapphire | Assignee: | Konstantin Komissarchik <konstantin> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | shenxue.zhou |
| Version: | unspecified | Keywords: | plan |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
Done. Verified with Purchase order sample. Closing. |
A convention to prefix interfaces with 'I' is common, but it is only a convention and there are plenty of developers who prefer not to use this convention. Sapphire currently requires this convention to be used. This requirement should be removed. Proposed changes: 1. Add className attribute to @GenerateImpl annotation. This will allow explicit control over impl class name. The @GenerateImpl annotation already supports explicit control over impl package name with packageName attribute. 2. The default value for impl className should be computed as follows: if using 'I' prefix convention default impl class name is typeClassName.substring(1) else default impl class name is typeClassName + "Impl"