... | ... | @@ -18,12 +18,7 @@ The TULIP framework is entirely written in **Java** and requires at least **Java |
|
|
|
|
|
The existing code-base was developed using the [Eclipse Java IDE](https://www.eclipse.org/eclipseide/), using [Maven](http://maven.apache.org/) for dependency management as well as for managing the entire build and deploy process. If you don't already have Eclipse installed on your machine, now is the time to do so. The Eclipse installer will guide you through the installation process. The new Eclipse Installer shows a list of available Eclipse *flavours*, called **packages**. For TULIP you require the **Eclipse IDE for Java Developers** package.
|
|
|
|
|
|
## Package Structure
|
|
|
|
|
|
All java packages of the TULIP framework share the common root package **lu.list.itis.dkd.tui**. Before exploring the entirety of the TULIP Core package, we'd like to have a closer look at the sections of the packages containing both the Widgets and Coronas. They represent the high-level building blocks of the TULIP framework and as such deserve to be looked at first.
|
|
|
|
|
|
### Design Pattern
|
|
|
|
|
|
At this point, it is important to mention that the majority of high-level building blocks of the TULIP framework are build using a variation of the **Builder** design pattern. The deviation from the original Builder design pattern consists in the fact that TULIP Builder objects no longer are required to implement a [fluent interface](https://en.wikipedia.org/wiki/Fluent_interface), allowing setting individual properties through chaining of setter methods. Loosening of this constrained was possible through the widespread use of XML bootstrapping for setting object properties, i.e. the properties of the individual builder objects are automatically retrieved from an XML scenario file, thus rendering a programmatic interface more or less obsolete. We're going to have a look at XML bootstrapping in the dedicated [Bootstrapping Section](bootstrapping).
|
|
|
### Repository
|
|
|
|
|
|
LIST hosts a publicly available [Binary Repository Manager](https://artefacts.list.lu). Such a repository is a natural extension to the source code repository, like Git, in that it will store the outcome of your build process, often denoted as artifacts. Most of the times one would not use the binary repository directly but through a package manager that comes with the chosen technology, for instance [Maven](http://maven.apache.org/).
|
|
|
|
|
|
\ No newline at end of file |