Technology stack

Spring Framework

The SpringFramework is mainly used for dependency injection and some other stuff. Configuration is done through Java. The configuration classes typically reside in package *.spring. Some of the Spring classes are extended by our code to implement additional functionality. As all this is very fundamental this can be found in the OpenPatricianUtilities module.

Guava

From the Google Guava package various parts are used: * EventBus to communicate events throughout the application and allow the components to be loosly coupled * Optional to indicate that null is a valid value for an argument or a return value

JAXB

We do have some XML files that are defined by XSD. From these schema we generate classes during the build that can be used for serializing and unserializing the data of the XML.

Mockito

Mockito is a testing framework that allows mocking dependencies and checking if methods were called on these mocked dependencies. This allows to create tests that really focus on the class under test and does not require the proper setup of the whole environment.