How does BibEntry.java communicate with LinkedFileEditorViewModel.java

We are currently trying to implement an extra feature for JabRef as University Project at Universität Basel, we oriented ourselves at this issue Better support for managing annotated PDFs · Issue #94 · koppor/jabref · GitHub.

Currently i’m having a hard time understanding how the BibEntry.java object is notified of a files field change when adding a new LinkedFile over for example the “addNewFile()” Operation in the LinkedFileEditorViewModel.java class.
A new LinkedFileViewModel.java object is created but i currently don’t see the logic which updates the corresponding BibEntry.java object which can also call a “getFiles()” Operation.
I already read into Property Bindings as this seems to be heavily used, could someone throw me a hint per chance.

Hi,

thanks for working on this!
In general this works that way: the BibEntry is the model class and the Fields are bound bidirectional (Bindings are just nice wrapper for the concept of Observables) with the EntryEditor.
This happens here:

So whenever we change something either in the model itself or in the gui, the entries are updated.

For the concept of Bindings and Properties, I suggest this good explanation:

PS: Dev questions are better handled in the gitter.chat or on github directly :slight_smile:

1 Like