Non-final field in enum

I started cleaning up my code and get lots of warnings on jmix enums that id field is not final.

perhaps an improvement for studio?

1 Like

I agree with that. It’s not only in enums. The setters in any entity could have final arguments and the generated code for login and main screen and application class have some potential to be optimized.

I’ve created an issue for final fields in enumeration.
As for login and main screen optimizations, could you please be more specific? What is wrong there?

  • Main screen:
    • onCollapseDrawerButtonClick(final Button.ClickEvent event)
    • onAfterShow(final AfterShowEvent event)
  • Login screen
    • onInit (final InitEvent event)
    • onLocalesFieldValueChangeEvent(final HasValue.ValueChangeEvent event)
    • initDefaultCredentials() {
      final String defaultUsername …
      final String defaultPassword …
    • onSubmitActionPerformed(final Action.ActionPerformedEvent event)
    • login() {
      final String username …
      final String password …
      try { …
      } catch (final … e)
  • UserEdit.java
    • onInitEntity(final InitEntityEvent event)
    • onAfterShow(final AfterShowEvent event)
    • onBeforeCommit(final BeforeCommitEvent event)
    • onInit(final InitEvent event)

We also need to change all generated handlers like onBeforeCommit(final BeforeCommitEvent event) etc.