HTW Dresden > FuzzyIDE
 

The Core Framework

The Frameworks' components

The framework-kernel consists of four components:

  • the MainController
  • the View
  • the PluginManager
  • the DataModelController
Framework

For informations about the components look at the JavaDoc.

The public interfaces

The framework includes public interfaces for the communication with the plugins. To write a plugin from the scratch you must know about these interfaces. Alternative you can extend from a provided AbstractPlugin, which encapsulates the interfaces.

Interfaces

The interfaces are divided in:

  • interfaces which are implemented by the framework
  • interfaces which are implemented by the plugins

Interfaces implemented by the Framework

These interfaces are called by the. The interfaces are

  • de.htwdd.robotic.fuzzyide.xmlmodel.FuzzyModel
  • de.htwdd.robotic.fuzzyide.plugman.ApplicationInterface
  • de.htwdd.robotic.fuzzyide.gui.ViewInterface

For informations about the components look at the JavaDoc.

Interfaces implemented by the Plugins

These interfaces are explicitely called by the framework.

  • de.htwdd.robotic.fuzzyide.plugman.Plugable: is the only needed interfaces which identifies a class as PluginMain-Class
  • de.htwdd.robotic.fuzzyide.plugman.DataModelAccessable: needed to have access to the FuzzyModel
  • de.htwdd.robotic.fuzzyide.plugman.Viewable: needed to have access to the ViewInterface

These interfaces are found automatically while the loading of the plugin. They don't have to be registered by the framework. When the interfaces is found, its methods where called in a defined order (look at Sequences).

For informations about the components look at the JavaDoc.

Furthermore the plugins' components can implement additional interfaces, which, in difference, must be registered on the framework by the plugins (ActionListneres and so on).

The sequences (order of the method-calls)

The methodes contained in the interfaces are called in a defined order. To write a plugin from the scratch you must know about these order. Alternative you can extend from a provided AbstractPlugin, which encapsulates this knowledge.

The order is discribed in the following sequence-diagrams:

Sequences