4/25/2023 0 Comments Freeplane moo.do![]() The only problem with the internal API is that it can be changed at any time breaking any scripts using it. Using internal Freeplane API is not restricted by switching to Java 17. Or which are the JAVA terms I must master to understand this topic? In any case I think it will be for me a good idea to learn more about how to build APIs and which are the criteria they should achieve.Ĭan you give me some advise which are good references in these topics or if Freeplane follows a defined standard? how will you decide if, for example, a new method should be accepted to be part of the API or not?.is there any limit which objects or functions can be exposed to the API?.is it really API the only way to go or is there a way to know when it is OK to use FP classes and when it is not?.(so it gets into the standard version and I don't need to have my custom add-ons AND my custom FP version) ![]() learn how to add classes to the API and make it myself in a Freeplane's branch and, if successful, ask for a PR.(and hope that somebody will add them to FP and wait until that happens) create new feature requests asking for each API objects, properties and methods I need,.If I need to get to those objects or methods, then they must be added to the API.Calling Freeplane's methods and objects that are not part of the API is wrong.When an object or method is exposed through the API then it's available to others, but it is made in a way that doesn't expose the software's security and stability.I try to understand what this mean to me, my scripts and add-ons and I get to these conclusions (please correct me if I'm wrong in any or all of them): Thanks I looked at the link and I couldn't understand so much, but what I got is that it's not a bug, it's an intended behavior and it improves the quality and security from coding by setting higher standards. Further, I think that currently, Freeplane 1.10.x has reached a state where it could be released as stable to the general public. I could also generally block running Freeplane with Java 17 as was the case with Freeplane 1.9 but it does not seem to be a long-term solution. I could package Freeplane for Windows with Java 11 or Java 15, it would help to avoid this problem, but if someone would run Freeplane under Java 17 it would appear for this user again. ![]() There is nothing I could do if we want to allow running Freeplane under Java 17. Particularly, I think that in the case shared by use of the field children instead of the method children() is less safe because the field value might be null. You can get some background information from Therefore you can not access such protected fields from groovy scripts and formulas any longer. In Java 17 access to protected fields of internal java modules by reflection has been restricted. So let us discuss how to handle this problem.īeta Was this translation helpful? Give feedback. If the called private methods were annotated with or their visibility could be changed to package private it would fix the issue, but I am not sure if and how fast we could get Groovy devs to accept this change. I do not have any ideas how to work around it on our side. The bug was reported in 2007 and it does not look like they are going to fix it. Therefore the new Console class can not be used as a base class for any other classes. Unfortunately, I have seen that popular add-on WikdShell and related add-on Freeplane_WikdShell_Extension by are heavily incompatible with Groovy 4.0.1 because package groovy.ui and class groovy.ui.Console has been removed and the Console contained in replacement package can not be used as a base class for WikdShell and WikdExtension because of Groovy bug entitled "Closure in base class unable to call private methods when invoked from derived class". It contains the latest versions of all used libraries including the latest Groovy 4.0.1. I have released the first preview version of Freeplane 1.10.x which has the same functionality as Freeplane 1.9.14 but works with Java 15, 16, and 17.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |