[MAGNOLIA-6727] DefinitionType#name() interface method interferes with it's enum implementations Created: 21/Jul/16  Updated: 09/Feb/17  Resolved: 11/Aug/16

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: None
Fix Version/s: 5.5

Type: Improvement Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Aleksandr Pchelintcev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to MGNLSITE-69 Implement DefinitionType#getName() fo... Closed
dependency
is depended upon by CFGUI-19 Make filter combos captions human-fri... Closed
is depended upon by MGNLUI-3957 Provide human readable definition typ... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Epic Link: Definitions app
Sprint: Basel 56
Story Points: 5

 Description   

Since many implementations of DefinitionType interface are enums - it is very unfortunate that it has name() method - since enums have such name and its finalised (may not be overriden).

This means that we cannot override it for instance in order to provide human readable definition type captions.

Some concerns about the provided PR and issue in general:

  • #name() method name is unfortunate and should definitely be deprecated
  • current PR solves the problem with Java 8's default methods (for compatibility), which is bad - won't work for 5.4

Generated at Mon Feb 12 04:17:16 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.