Project structure:
Project name |
Description |
---|---|
com.servoy.eclipse.appserver |
Eclipse plugin to start the application server in developer |
com.servoy.eclipse.core |
Core eclipse classes that make up developer |
com.servoy.eclipse.debug |
Classes that revolve arround debugging, connectors to DLTK |
com.servoy.eclipse.designer |
All Form designer code |
com.servoy.eclipse.feature |
Holds the definition to makeup the eclipse Servoy Developer |
com.servoy.eclipse.jsunit |
JSunit <-> Junit bridge and command line JS unit test/suite runner |
com.servoy.eclipse.profiler |
The profiler (view) which is present in Servoy developer |
com.servoy.eclipse.team |
The servoy team provider, used against the server/repository interfaces |
com.servoy.eclipse.ui |
GUI helper classes, some default dialogs, abstract GUI elements |
com.servoy.extensions |
All the default shipped plugins, shipped in installer |
servoy_debug |
client side debug classes and connectors |
servoy_headless_client |
The headless and webclient code |
servoy_smart_client |
The Smart client (webstart) |
servoy_shared |
The shared code / libs between web and smart client |
Some entry point hints when looking at the code:
*ClientState.Java is in fact the most top level class from which all other "client" applications are made. (tip view class hierarchy in eclipse)
**As you might have seen servoy is all about data handling, another very important class is IFoundset.java (tip view class hierarchy in eclipse)
**which has multiple implentations from which Foundset.java is the main one, which contains records (IRecord.java) and a Record.java contains a Row.java object
**FoundSetManager keeps track of all the IFoundset instances and contains the RowManagers for each database table to handle Row objects
**Another IManager in ClientState is the plugin manager (a plugin is an external piece of code which has to satisfy to the IPlugin.java interface) and can be used from scripting
**And we have the repository reference which connects over RMI to our repository (which is part of Servoy app server and Servoy developer)
**We also have the java script engine which is rhino from mozilla
**FormManager (subclass) do handle the form instances