...
Thanks to this you can make your code even cleaner. Check the following code snippets and see how Reportit has been simplified by use of the new feature.
Code Block | ||||
---|---|---|---|---|
| ||||
// Now - with @Follow annotation @SliceResource public class ReportComponent { @Follow @JcrProperty(value = "reportPath") private ReportModel report; // this will build ReportModel based on resource path // kept in reportPath property of current resource public String getReportValue() { return report.getValue(); } } // Before @SliceResource public class ReportComponent implements InitializableModel { @JcrProperty private String reportPath; private ReportModel report; private ModelProvider modelProvider; @Inject public ReportComponent(ModelProvider modelProvider) { this.modelProvider = modelProvider } @Override public void afterCreated() { report = modelProvider.get(ReportModel.class, reportPath); } public String getReportValue() { return report.getValue(); } } |
...
Semantic versioning approach
We've introduce introduced full semantic versioning in Slice, so you can be sure that all interfaces are semantically versioned and you can upgrade safely with each minor release of Slice.
...