Hi Kevin,

in the meantime I have tried to come up with a formulation for the 
"Introduction to FXML"
specification about the new compile processing instruction which is brief and 
complete. While being
there I fixed a typo in the document and added a missing language processing 
instruction to an
existing script example, hope that was o.k. as I have not filed an explicit bug 
for it.

Also closed the PR 129 and 187, removed the WIP from PR 192, and supplied the 
CSR draft as a comment.

If there is anything else I should do, please let me know.

Cheers,

---rony


On 11.05.2020 14:12, Rony G. Flatscher wrote:
> Hi Kevin,
>
> On 09.05.2020 17:16, Kevin Rushforth wrote:
>> I'm finally getting back to this. I took a look at 
>> https://github.com/openjdk/jfx/pull/192 and I
>> like that as the direction for this enhancement.
>>
>> The initial CSR you have is a good start.
> Thank you!
>
>> Next steps are:
>>
>> 1. Update the "Introduction to FXML" specification (see my comment in the PR)
>> 2. Update PR 192 with the draft CSR as a comment, modifying it to include 
>> the above additions to
>> "Introduction to FXML"
>> 3. Remove WIP from the title
>>
>> You can then close the other two PRs (129 and 187).
> will do (may take a little bit).
>
> Cheers
>
> ---rony
>
>
>> On 4/28/2020 6:15 AM, Rony G. Flatscher wrote:
>>> Hi Kevin,
>>>
>>> what should be the next steps?
>>>
>>> Should I remove "WIP" from the title in 
>>> <https://github.com/openjdk/jfx/pull/192> and add the CSR
>>> draft text of my last e-mail as a "CSR" comment with PR # 192, thereby 
>>> requesting it to be added
>>> to <https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8238080>?
>>>
>>> Please advise.
>>>
>>> TIA,
>>>
>>> ---rony
>>>
>>> P.S.: This is the RFE:
>>>
>>>   * RFE (2020-01-24): 
>>> <https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8238080>
>>>
>>> These are the three versions (all with appropriate unit tests) that I came 
>>> up with
>>> chronologically to implement the RFE, would prefer the latest version (PR # 
>>> 192):
>>>
>>>   * Compile if Compilable implemented (2020-02-28): 
>>> <https://github.com/openjdk/jfx/pull/129>
>>>   * Compile if compile PI and Compilable is implemented (2020-04-11):
>>>     <https://github.com/openjdk/jfx/pull/187>
>>>   * Compile with fallback, if Compilable is implemented, compile PI for 
>>> fine-grained control
>>>     (2020-04-14): <https://github.com/openjdk/jfx/pull/192>
>>>
>>>
>>> On 22.04.2020 20:01, Rony G. Flatscher wrote:
>>>> Hi Kevin,
>>>>
>>>> as I am not able to file a CSR with the issue you suggested to come up 
>>>> with a draft, so here it goes:
>>>>
>>>>     Summary
>>>>     =======
>>>>     Have javafx.fxml.FXMLLoader compile FXML scripts before evaluating 
>>>> them, if the script engine
>>>>     implements the javax.script.Compilable interface to speed up 
>>>> execution. In case compilation
>>>>     throws a javax.script.ScriptException fall back to evaluating the 
>>>> uncompiled script. Allow
>>>>     control of script compilation with a "compile" PI for FXML files.
>>>>
>>>>     Problem
>>>>     =======
>>>>     javafx.fxml.FXMLLoader is able to execute scripts in Java script 
>>>> languages
>>>>     (javax.script.ScriptEngine implementations) referred to or embedded in 
>>>> a FXML file.
>>>>
>>>>     If a script engine implements the javax.script.Compilable interface, 
>>>> then such scripts could be
>>>>     compiled and the resulting javax.script.CompiledScript could be 
>>>> executed instead using its
>>>>     eval() methods.
>>>>
>>>>     Evaluating the javax.script.CompiledScript objects may help speed up 
>>>> the execution of script
>>>>     invocations, especially for scripts defined for event attributes in 
>>>> FXML elements (e.g. like
>>>>     onMouseMove) which may be repetitively invoked and evaluated.
>>>>
>>>>     Solution 
>>>>     ========
>>>>     Before evaluating the script code test whether the 
>>>> javax.script.ScriptEngine implements
>>>>     javax.script.Compilable. If so, compile the script to a 
>>>> javax.script.CompiledScript object first
>>>>     and then use its eval() method to evaluate the script, otherwise 
>>>> continue to use the
>>>>     javax.script.ScriptEngine's eval() method instead. Should compilation 
>>>> of a script yield
>>>>     (unexpectedly) a javax.script.ScriptException then fall back to using 
>>>> the
>>>>     javax.script.ScriptEngine's eval() method. A new process instruction 
>>>> "compile" allows control of
>>>>     the compilation of scripts ("true" sets compilation on, "false" to set 
>>>> compilation off) in FXML
>>>>     files.
>>>>
>>>>     Specification
>>>>     =============
>>>>     If a javax.script.ScriptEngine implements the javax.script.Compilable 
>>>> interface, then use its
>>>>     compile() method to compile the script to a 
>>>> javax.script.CompiledScript object and use its
>>>>     eval() method to run the script. In the case that the compilation 
>>>> throws (unexpectedly) a
>>>>     javax.script.ScriptException log a warning and fall back to using the
>>>>     javax.script.ScriptEngine's eval() method instead.
>>>>     To allow setting this feature off and on while processing the FXML 
>>>> file a "compile" process
>>>>     instruction ("<?compile false?>" or "<?compile true?>") gets defined 
>>>> that allows to turn
>>>>     compilation off and on throughout a FXML file.
>>>>
>>>> Having never seen a real CSR I hope that this matches what is expected and 
>>>> is helpful for
>>>> assessment. If not please advise (got the name of these fields from [1]).
>>>>
>>>> ---
>>>>
>>>> Also added brief information about the respective test units (what they 
>>>> test and yield) in the WIP  [2].
>>>>
>>>> ---rony
>>>>
>>>> [1] "CSR-FAQ": <https://wiki.openjdk.java.net/display/csr/CSR+FAQs>
>>>>
>>>> [2] "WIP: Script compilable+compile PI+fallback: 8238080: FXMLLoader: if 
>>>> script engines implement
>>>> javax.script.Compilable compile scripts #192":  
>>>> <https://github.com/openjdk/jfx/pull/192>
>>>>
>>>>
>>>> On 20.04.2020 14:58, Rony G. Flatscher wrote:
>>>>> There is a new WIP at <https://github.com/openjdk/jfx/pull/192>:
>>>>>
>>>>>     This WIP adds the ability for a fallback in case compilation of 
>>>>> scripts fails, in which case a
>>>>>     warning gets issued about this fact and evaluation of the script will 
>>>>> be done without
>>>>>     compilation. Because of the fallback scripts get compiled with this 
>>>>> version by default. It
>>>>>     extends PR 187 #187.
>>>>>
>>>>>     To further ease spotting scripts that cause a ScriptException a 
>>>>> message in the form of
>>>>>     "filename: caused ScriptException" gets added to the exception 
>>>>> handling in either of the three
>>>>>     locations: an error message, a stack trace or a wrap-up into a 
>>>>> RuntimeException (having three
>>>>>     different kinds of reporting ScriptExceptions may be questioned, 
>>>>> however none of these tear down
>>>>>     the FXML GUI).
>>>>>
>>>>> This WIP comes with proper test units as well. As per Kevin's suggestion 
>>>>> a warning gets logged
>>>>> whenever a script cannot be compiled and the fallback gets used.
>>>>>
>>>>> It is suggested to use this WIP as it includes the compilation by default 
>>>>> with a safe fallback to
>>>>> evaluate the uncompiled script, if compilation (unexpectedly) fails.
>>>>>
>>>>> Again, any feedback, discussion welcome!
>>>>>
>>>>> ---rony
>>>>>
>>>>> P.S.: In the log history there is a commit message "Make message more 
>>>>> pregnant.", it should have
>>>>> read "Make messages more terse." instead|.||
>>>>> |
>>>>>
>>>>>
>>>>> On 17.04.2020 19:37, Rony G. Flatscher wrote:
>>>>>> There is a new WIP at <https://github.com/openjdk/jfx/pull/187> which 
>>>>>> adds a compile PI (process
>>>>>> instruction) for turning on and off script compilation if the script 
>>>>>> engine implements the
>>>>>> Compilable interface.
>>>>>>
>>>>>> By default compilation is off (no compilation), such that one needs to 
>>>>>> add a compile PI
>>>>>> ("<?compile?>") at the top to activate this feature. Supplying "true" 
>>>>>> (default) or "false" as the PI
>>>>>> data turns this feature on and off.
>>>>>>
>>>>>> The WIP comes with adapted test units that test "compile on" for an 
>>>>>> entire fxml file, "compile off",
>>>>>> alternating using "compile on and off", and alternating using "compile 
>>>>>> off and on". This will test
>>>>>> all variants of applying the compile PI for all categories of scripts.
>>>>>>
>>>>>> Any feedback appreciated!
>>>>>>
>>>>>> ---rony
>>>>>>
>>>>>> P.S.: FXML files that contain unknown PIs do not cause a runtime error 
>>>>>> by FXMLLoader, they just get
>>>>>> ignored. Therefore one could apply the compile PI to FXML files that are 
>>>>>> used in older JavaFX runtimes.
>>>>>>
>>>>>> P.P.S.: In the next days I will also add Kevin's idea in a separate 
>>>>>> version that will have a
>>>>>> fallback solution in case a compilation is (unexpectedly) not 
>>>>>> successful, reverting to
>>>>>> (interpretative) evaluation/execution of the script. In that version it 
>>>>>> is planned to have
>>>>>> compilation on by default as in the case of a compilation failure there 
>>>>>> will be a safe backup solution.
>>>>>>
>>>>>>
>>>>>> On 14.04.2020 19:52, Kevin Rushforth wrote:
>>>>>>> Yes, I agree that enough time has gone by. Go ahead with your proposal. 
>>>>>>> I would wait a bit to
>>>>>>> create the CSR until the review is far enough along to know which 
>>>>>>> direction we intend to go.
>>>>>>>
>>>>>>> Unless there is a real concern about possible regressions if scripts 
>>>>>>> are compiled by default, I
>>>>>>> think "enabled by default" is the way to go. Your argument that such 
>>>>>>> script engines are broken
>>>>>>> seems reasonable, since this only applies to script engines that 
>>>>>>> implement javax.script.Compilable
>>>>>>> in the first place. We still might want to add way to turn compilation 
>>>>>>> off for individual scripts.
>>>>>>> One other thing to consider is that if compilation fails, it might make 
>>>>>>> sense to log a warning and
>>>>>>> fall back to the existing interpreted mode.
>>>>>>>
>>>>>>> Does anyone else have any concerns with this?
>>>>>>>
>>>>>>> -- Kevin
>>>>>>>
>>>>>>>
>>>>>>> On 4/14/2020 9:48 AM, Rony G. Flatscher wrote:
>>>>>>>> Hi there,
>>>>>>>>
>>>>>>>> as there was probably enough time that has passed by I would intend to 
>>>>>>>> create a CSR in the next days
>>>>>>>> with the PR as per Kevin's suggestion.
>>>>>>>>
>>>>>>>> (For the case that this feature should not be active by default, the 
>>>>>>>> CSR will suggest to define a
>>>>>>>> new "compile" PI in the form <?compile [true|false] ?> (default, if no 
>>>>>>>> PI data given: true), which
>>>>>>>> is independent of the existence of a language PI (this way it becomes 
>>>>>>>> also possible to allow
>>>>>>>> compilation of external scripts denoted with the script-element, which 
>>>>>>>> do not need a page language
>>>>>>>> to be set as the file's extension allows the appropriate script engine 
>>>>>>>> to be loaded and used for
>>>>>>>> execution). A compile-PI would allow for turning compilation of 
>>>>>>>> scripts on by just adding the PI
>>>>>>>> <?compile?> or <?compile true?>  to FXML files (and <?compile false?> 
>>>>>>>> to turn off), which seems to
>>>>>>>> be simple and self-documentary. In general employing such compile PIs 
>>>>>>>> allows for setting compilation
>>>>>>>> of scripts on and off throughout an FXML file.)
>>>>>>>>
>>>>>>>> ---rony
>>>>>>>>
>>>>>>>>
>>>>>>>> On 04.04.2020 18:03, Rony G. Flatscher wrote:
>>>>>>>>
>>>>>>>>> Hi Kevin,
>>>>>>>>>
>>>>>>>>> On 03.04.2020 01:21, Kevin Rushforth wrote:
>>>>>>>>>> I see that you updated the PR and sent it for review.
>>>>>>>>>>
>>>>>>>>>> Before we formally review it in the PR, let's finish the discussion 
>>>>>>>>>> as to whether this is a useful
>>>>>>>>>> feature, and if so, what form this feature should take.
>>>>>>>>>>
>>>>>>>>>>  From my point of view, this does seem like a useful feature. Would 
>>>>>>>>>> other users of FXML benefit
>>>>>>>>>> from it?
>>>>>>>>> Script code should be executed faster after compilation, so any FXML 
>>>>>>>>> page that hosts script code
>>>>>>>>> may
>>>>>>>>> benefit.
>>>>>>>>>
>>>>>>>>> The benefits depend on the type of script (and maybe its size and its 
>>>>>>>>> complexity) and also on the
>>>>>>>>> types of event handlers the scripts serve, e.g. move or drag event 
>>>>>>>>> handlers may benefit
>>>>>>>>> significantly. This is because repeated invocation of compiled script 
>>>>>>>>> event handlers do not cause
>>>>>>>>> the reparsing of that script's source and interpreting it on each 
>>>>>>>>> invocation, which may be
>>>>>>>>> expensive
>>>>>>>>> depending on the script engine, but rather allows the immediate 
>>>>>>>>> evaluation/execution of the
>>>>>>>>> compiled
>>>>>>>>> script by the script engine.
>>>>>>>>>
>>>>>>>>>> I'm not certain whether we want it to be implicit, compiling the 
>>>>>>>>>> script if the script engine in
>>>>>>>>>> question implements Compilable, or via a new keyword or tag. What 
>>>>>>>>>> are the pros / cons?
>>>>>>>>> In principle there are three possibilities:
>>>>>>>>>
>>>>>>>>>      1) If a script engine implements javax.script.Compilable, 
>>>>>>>>> compile the script and execute the
>>>>>>>>>      compiled version. In the case of event handlers compile and 
>>>>>>>>> buffer the compiled script and
>>>>>>>>>      execute the compiled script each time its registered event fires.
>>>>>>>>>
>>>>>>>>>        o Pro: immediately benefits all existing FXML pages that host 
>>>>>>>>> scripts
>>>>>>>>>        o Con: it is theoretically possible (albeit quite unlikely) 
>>>>>>>>> that there are scripts that fail
>>>>>>>>>          compiling but have been employed successfully in interpreted 
>>>>>>>>> mode
>>>>>>>>>
>>>>>>>>>      2) Introduce some form of an optional attribute (e.g. 
>>>>>>>>> "compile={true|false}") to the FXML
>>>>>>>>>      language PI that switches on compilation of scripts hosted in 
>>>>>>>>> FXML definitions if the script
>>>>>>>>>      engine implements the javax.script.Compilable interface. If 
>>>>>>>>> missing it would default to
>>>>>>>>> "false".
>>>>>>>>>      (Alternatively, add a "compile" PI, that if present causes the 
>>>>>>>>> compilation of scripts, if the
>>>>>>>>>      script engine supports it. It would be an error if the "compile" 
>>>>>>>>> PI was present, but the
>>>>>>>>>      "language" PI was not.)
>>>>>>>>>
>>>>>>>>>        o Pro: compilation of FXML hosted scripts is done only, if the 
>>>>>>>>> FXML definition of the
>>>>>>>>> language
>>>>>>>>>          PI gets changed
>>>>>>>>>        o Con: benefit not made available automatically to existing 
>>>>>>>>> FXML pages that host scripts
>>>>>>>>>
>>>>>>>>>      3) Another possibility would be to define a boolean 
>>>>>>>>> attribute/property "compile" for script
>>>>>>>>> and
>>>>>>>>>      node elements and only compile the scripts, if the property is 
>>>>>>>>> set to true
>>>>>>>>>
>>>>>>>>>        o Pro: compilation of FXML hosted scripts is done only, if the 
>>>>>>>>> FXML definition gets changed
>>>>>>>>>          accordingly
>>>>>>>>>        o Con: potential benefit not made available automatically to 
>>>>>>>>> existing FXML pages that
>>>>>>>>> host scripts
>>>>>>>>>
>>>>>>>>> 2 and 3 could be combined, where 2 would define the default 
>>>>>>>>> compilation behavior that then could be
>>>>>>>>> overruled individually by 3.
>>>>>>>>>
>>>>>>>>> The question would be whether 2 or/and 3 are really necessary as it 
>>>>>>>>> can be expected that
>>>>>>>>> compilation
>>>>>>>>> of scripts by the script engines would find the same errors as while 
>>>>>>>>> interpreting the very same
>>>>>>>>> scripts (if not, the script engine is badly broken and it could be 
>>>>>>>>> argued that then the
>>>>>>>>> interpretation part of the script engine might be expected to be 
>>>>>>>>> broken as well which would be
>>>>>>>>> quite
>>>>>>>>> dangerous from an integrity POV; the same consideration applies as 
>>>>>>>>> well if the execution of the
>>>>>>>>> compiled script would behave differently to interpreting the very 
>>>>>>>>> same script by the same script
>>>>>>>>> engine).
>>>>>>>>>
>>>>>>>>> The current WIP implements 1 above and includes an appropriate test 
>>>>>>>>> unit.
>>>>>>>>>
>>>>>>>>>> What do others think?
>>>>>>>>>> In either case, we would need to make sure that this doesn't present 
>>>>>>>>>> any security concerns in the
>>>>>>>>>> presence of a security manager. As long as a user-provided class is 
>>>>>>>>>> on the stack, it will be fine,
>>>>>>>>>> but we would need to ensure that.
>>>>>>>>> The compilation of scripts needs to be done by the Java script 
>>>>>>>>> engines (implementing both,
>>>>>>>>> javax.script.Engine and javax.script.Compilable) as well as 
>>>>>>>>> controlling the execution of compiled
>>>>>>>>> scripts ([javax.script.CompiledScript]
>>>>>>>>> (https://docs.oracle.com/en/java/javase/14/docs/api/java.scripting/javax/script/CompiledScript.html)).
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---rony
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On 4/2/2020 10:41 AM, Rony G. Flatscher wrote:
>>>>>>>>>>> After merging master, applying some fixes and changing the title to 
>>>>>>>>>>> reflect the change from
>>>>>>>>>>> WIP to a
>>>>>>>>>>> pull request I would kindly request a review of this pull request!
>>>>>>>>>>>
>>>>>>>>>>> Here the URL: <https://github.com/openjdk/jfx/pull/129>, title 
>>>>>>>>>>> changed to: "8238080:
>>>>>>>>>>> FXMLLoader: if
>>>>>>>>>>> script engines implement javax.script.Compilable compile scripts".
>>>>>>>>>>>
>>>>>>>>>>> ---rony
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 28.02.2020 19:22, Rony G. Flatscher wrote:
>>>>>>>>>>>> Here is a WIP [1] implementation of [2]. The WIP is based on [3], 
>>>>>>>>>>>> which is currently in
>>>>>>>>>>>> review, and
>>>>>>>>>>>> has an appropriate test unit going with it as well, please review.
>>>>>>>>>>>>
>>>>>>>>>>>> There should be no compatibility issue with this implementation.
>>>>>>>>>>>>
>>>>>>>>>>>> Discussion: another solution could be to not compile by default. 
>>>>>>>>>>>> Rather compile, if some new
>>>>>>>>>>>> information is present with the FXML file which cannot possibly be 
>>>>>>>>>>>> present in existing FXML
>>>>>>>>>>>> files.
>>>>>>>>>>>> In this scenario one possible and probably simple solution would 
>>>>>>>>>>>> be to only compile scripts
>>>>>>>>>>>> if the
>>>>>>>>>>>> language process instruction (e.g. <?language rexx?>) contains an 
>>>>>>>>>>>> appropriate attribute with a
>>>>>>>>>>>> value
>>>>>>>>>>>> indicating that compilation should be carried out (e.g.: 
>>>>>>>>>>>> compile="true"). This way only FXML
>>>>>>>>>>>> with
>>>>>>>>>>>> PIs having this attribute set to true would be affected. If 
>>>>>>>>>>>> desired I could try to come up
>>>>>>>>>>>> with a
>>>>>>>>>>>> respective solution as well.
>>>>>>>>>>>>
>>>>>>>>>>>> ---rony
>>>>>>>>>>>>
>>>>>>>>>>>> [1] "Implementation and test unit": 
>>>>>>>>>>>> <https://github.com/openjdk/jfx/pull/129>
>>>>>>>>>>>>
>>>>>>>>>>>> [2] "JDK-8238080 : FXMLLoader: if script engines implement 
>>>>>>>>>>>> javax.script.Compilable compile
>>>>>>>>>>>> scripts":
>>>>>>>>>>>> <https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8238080>
>>>>>>>>>>>>
>>>>>>>>>>>> [3] "8234959: FXMLLoader does not populate ENGINE_SCOPE Bindings 
>>>>>>>>>>>> with FILENAME and ARGV":
>>>>>>>>>>>> <https://github.com/openjdk/jfx/pull/122/commits>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 24.01.2020 16:26, Kevin Rushforth wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you for filing this enhancement request. As an enhancement 
>>>>>>>>>>>>> it should be discussed on this
>>>>>>>>>>>>> list before proceeding with a pull request (although a "WIP" or 
>>>>>>>>>>>>> Draft PR can be used to
>>>>>>>>>>>>> illustrate
>>>>>>>>>>>>> the concept).
>>>>>>>>>>>>>
>>>>>>>>>>>>> For my part, this seems like a reasonable enhancement, as long as 
>>>>>>>>>>>>> there are no compatibility
>>>>>>>>>>>>> issues, but it would be good to hear from application developers 
>>>>>>>>>>>>> who heavily use FXML.
>>>>>>>>>>>>>
>>>>>>>>>>>>> -- Kevin
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 1/24/2020 7:21 AM, Rony G. Flatscher wrote:
>>>>>>>>>>>>>> Just filed a RFE with the following information:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      * Component:
>>>>>>>>>>>>>>          o JavaFX
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      * Subcomponent:
>>>>>>>>>>>>>>          o fxml: JavaFX FXML
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      * Synopsis:
>>>>>>>>>>>>>>          o "FXMLLoader: if script engines implement 
>>>>>>>>>>>>>> javax.script.Compilabel compile scripts"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      * Descriptions:
>>>>>>>>>>>>>>          o "FXMLLoader is able to execute scripts in Java script 
>>>>>>>>>>>>>> languages
>>>>>>>>>>>>>> (javax.script.ScriptEngine
>>>>>>>>>>>>>>            implementations) if such a Java script language gets 
>>>>>>>>>>>>>> defined as the controller
>>>>>>>>>>>>>> language in
>>>>>>>>>>>>>>            the FXML file.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>            If a script engine implements the 
>>>>>>>>>>>>>> javax.script.Compilable interface, then such
>>>>>>>>>>>>>> scripts
>>>>>>>>>>>>>> could
>>>>>>>>>>>>>>            be compiled and the resulting 
>>>>>>>>>>>>>> javax.script.CompiledScript could be executed instead
>>>>>>>>>>>>>> using
>>>>>>>>>>>>>>            its eval() methods.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>            Evaluating the CompiledScript objects may help speed 
>>>>>>>>>>>>>> up the execution of script
>>>>>>>>>>>>>> invocations,
>>>>>>>>>>>>>>            especially for scripts defined for event attributes 
>>>>>>>>>>>>>> in FXML elements (e.g. like
>>>>>>>>>>>>>> onMouseMove)
>>>>>>>>>>>>>>            which may be repetitevly invoked and evaluated."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      * System /OS/Java Runtime Information:
>>>>>>>>>>>>>>          o "All systems."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Received the internal review ID: "9063426"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---rony

Reply via email to