Skip to content

Latest commit

 

History

History

toolbox

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Immerse - Toolbox

The Immerse toolbox module contains a 'toolbox' full of implementations of the extension interfaces defined in the domain module. For more information about the individual implementation classes, see their Javadoc.

Design

Some important points about the design considerations of the toolbox module.

Static initializers

Since the ImmerseSettings class in the domain expects factories of interface implementations, every implementation class comes with static initializer methods that returns a factory of that type. This way, it's easy to create an object of an implementing class that can be used in a settings builder for the domain, without having to deal with the Factory layer. Also, since these static methods can be statically imported (so you can omit the class name), the initialization code stays very concise and readable.

One interesting point about the static initializers is that they have to use inner classes instead of the more convenient lambda's. Otherwise serialization is not compatible over different JVM's.

Usage

This toolbox module has little use on it's own. It is primarily meant to serve as input objects for the audio-streaming module, although you could use it as a base for another streaming implementation.