# Interface: com.pnfsoftware.jeb.core.ICoreContext

A core context. A core is the highest\-level object of the JEB back\-end architecture. The main responsibility of a core is to manager engine contexts. 

 There must be at most one core context running within a JVM. Use [JebCoreService](JebCoreService) to retrieve or create the core context. 

 The first thing a client does is instantiate or retrieve a context to the core.

## Method: close

Description: Terminate this core context.

## Method: closeEnginesContext
- parameter: `context`, type: `com.pnfsoftware.jeb.core.IEnginesContext`

Description: Close an engines context
parameter: context: the engines context

## Method: createEnginesContext
- parameter: `dataProvider`, type: `com.pnfsoftware.jeb.core.dao.IDataProvider`
- parameter: `clientInformation`, type: `com.pnfsoftware.jeb.core.JebClientInformation`
- return type: `com.pnfsoftware.jeb.core.IEnginesContext`

Description: Create an engines context. 

 When an engines context is created, all unit identifiers are enabled. Currently, the implementation of engines context uses a static pool for identifiers; that means that creating an engine context will impact previously created ones: identifiers that may have been disabled will be re\-enable. In production code, this limitation is theoretical since only a single engines context instance should instance at any given point.
parameter: dataProvider: mandatory data provider
parameter: clientInformation: client information
return: the engines context
throws: on error

## Method: createEnginesContext
- return type: `com.pnfsoftware.jeb.core.IEnginesContext`

Description: Convenience method to create a standard engines context that uses the JEB defaults provided to [JebCoreService](JebCoreService) when this core object was created. The base folder will be the JEB installation folder; standard locations will be used for plugins \(e.g. `coreplugins` for plugins\); the `bin/jeb-engines.cfg` file will be used for the engines properties, etc.
return: the engines context
throws: on error

## Method: getDefaultEnginesContexts
- return type: `com.pnfsoftware.jeb.core.IEnginesContext`

Description: Retrieve the first, aka default, JEB engines context. 

 If JEB has not initialized properly, this method will return null, as there may not be any engines context. JEB core back\-end normally manages a single engines context, even though there may be \(in exceptional circumstances\) more than a single.
return: the default engines context, or null if none exists

## Method: getOptions
- return type: `com.pnfsoftware.jeb.core.CoreOptions`

Description: Retrieve the core options.
return: core options used to initialize this context

## Method: getValue
- parameter: `functionId`, type: `int`
- parameter: `params`, type: `java.lang.Object[]`
- return type: `java.lang.Object`

Description: Retrieve an opaque value. This method is reserved for internal use.
parameter: functionId: function id
parameter: params: function parameters
return: the return value

## Method: getVersion
- return type: `com.pnfsoftware.jeb.core.Version`

Description: Get the version of this core.
return: the version, never null

## Method: listEnginesContexts
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.IEnginesContext>`

Description: Retrieve the list of engines contexts managed by the core.
return: the engines context

