Child pages
  • Browsing the Source, Where to Start
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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

Contains the default shipped plugins and beans, 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 containing logic, from which all other "client" applications are derived (tip view class hierarchy in eclipse)

  • This class holds many object managers (all implementing IManager ), like:
  • Foundset manager, managing all IFoundset instances (datahandling layer)
    • 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 also track of the RowManagers for each database table to handle Row objects
  • 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
  • FormManager managing all IFormController instances, subclasses are WebFormManger and SwingFormManager
  • LAFManager mainly used in smart client only to control appierence
  • CMD managerer for binding all GUI actions
  • Mode manager to control the mode the application is in like: edit,find,print
  • then it also holds a refernece to the script engine (rhino)

We have a MVC for Servoy forms

  • Model: IFoundSet.java (defines the db data in form, by the select SQL it contains)
  • View: SwingForm or WebForm.java (handles the UI)
  • Controller: FormController.java (binds model and view and controls them)

J2DBClient.java is the webstart client, generates interfaces via ComponentFactory and ItemFactory
WebClient.java is the apache-wicket browser client, generates interfaces via ComponentFactory/ItemFactory and TemplateGenerator (produces templates in html)

  • No labels