This class represents Redberry context. It stores all Redberry session data (in some sense it stores static data).
Management of current Redberry context is made through {@link ContextManager} class.Context of Redberry is attached to the current thread, so that any thread created from the outside of Redebrry will hold a unique instance of {@link Context} object. In such a way tensors created in one thread can notbe used in the other thread because they are in some sense "attached" to the initial thread. However, if thread is created through the executor service which is obtained from {@link ContextManager#getExecutorService()}, it will share the same context as initial thread (such threads could hold concurrent computations regarding single context, the appropriate synchronization is assumed). In order to create a new session of Redberry with a particular context, an instance of this class should be set as a current context via {@link ContextManager#setCurrentContext(Context)}.
@author Dmitry Bolotin
@author Stanislav Poslavsky
@see NameManager
@see IndexConverterManager
@see ParseManager
@see OutputFormat
@see ContextManager
@see ContextSettings
@since 1.0