public interface

IEnginesContext

implements IEventSource
com.pnfsoftware.jeb.core.IEnginesContext

Class Overview

A context for JEB engines. Engines produce events and relay events from other components under their supervision. The primary task of JEB engines is to manage projects.

See Also

Summary

Public Methods
abstract void close()
Close the context.
abstract IDataProvider getDataProvider()
Get a reference to the DAO.
abstract List<IEnginesPlugin> getEnginesPlugins()
Retrieve a list of engines plugins (internal plugins, third party plugins).
abstract ExecutorService getExecutorService()
Get the executor service used by this context.
abstract IRuntimeProject getProject(String key)
Get a project by key.
abstract IRuntimeProject getProject(int index)
Get a project by index.
abstract List<IRuntimeProject> getProjects()
Retrieve a copy of the list of projects currently loaded within this context.
abstract IPropertyManager getPropertyManager()
Get the property manager for this engines context.
abstract List<IUnitIdentifier> getUnitIdentifiers()
The list of identifiers that projects managed by this context may have access to.
abstract boolean isIdentifierEnabled(IUnitIdentifier identifier)
Determine if an identifier is enabled.
abstract IRuntimeProject loadProject(String key)
Load an existing project or create a new project.
abstract boolean saveProject(String key)
Save the state of a project (including artifacts and all units) to the project database.
abstract void setIdentifierEnabled(IUnitIdentifier identifier, boolean enabled)
Enable or disable an identifier.
abstract boolean unloadProject(String key)
Unload a project.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.util.events.IEventSource

Public Methods

public abstract void close ()

Close the context. All projects will be unloaded; changes will not be persisted.

public abstract IDataProvider getDataProvider ()

Get a reference to the DAO.

Returns
  • the data provider

public abstract List<IEnginesPlugin> getEnginesPlugins ()

Retrieve a list of engines plugins (internal plugins, third party plugins).

Returns
  • the list of plugins, never null

public abstract ExecutorService getExecutorService ()

Get the executor service used by this context. Clients may use it to schedule third-party tasks.

Returns
  • the executor service

public abstract IRuntimeProject getProject (String key)

Get a project by key.

Parameters
key mandatory project key
Returns
  • the project or null

public abstract IRuntimeProject getProject (int index)

Get a project by index.

Parameters
index 0-based index
Returns
  • the project or null

public abstract List<IRuntimeProject> getProjects ()

Retrieve a copy of the list of projects currently loaded within this context.

Returns
  • the list of projects managed by this context

public abstract IPropertyManager getPropertyManager ()

Get the property manager for this engines context.

Returns
  • the property manager

public abstract List<IUnitIdentifier> getUnitIdentifiers ()

The list of identifiers that projects managed by this context may have access to.

Returns
  • a list of unit identifiers (aka, parsers)

public abstract boolean isIdentifierEnabled (IUnitIdentifier identifier)

Determine if an identifier is enabled.

Parameters
identifier the identifier
Returns
  • true if enabled, false otherwise

public abstract IRuntimeProject loadProject (String key)

Load an existing project or create a new project.

Parameters
key an existing or new project key
Returns
  • a project reference
Throws
IOException on IO error
JebSerializationException on serialization error

public abstract boolean saveProject (String key)

Save the state of a project (including artifacts and all units) to the project database. If the project DB is backed up by a filesystem, the project will be persisted to a ".jdb2" file.

Parameters
key the project key
Returns
  • success indicator
Throws
IOException on IO error
JebSerializationException on deserialization error

public abstract void setIdentifierEnabled (IUnitIdentifier identifier, boolean enabled)

Enable or disable an identifier.

Parameters
identifier the identifier
enabled true to enable the identifier, false otherwise; in the latter case, will never get called

public abstract boolean unloadProject (String key)

Unload a project.

Parameters
key the project key
Returns
  • success indicator