Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.configuration
Class CayenneRuntime

    java.lang.Object
      org.apache.cayenne.configuration.CayenneRuntime

Direct Known Subclasses:
  ClientRuntime, ServerRuntime

    public abstract class CayenneRuntime

extends Object

A superclass of various Cayenne runtime stacks. A Runtime is the main access point to Cayenne for a user application. It provides a default Cayenne configuration as well as a way to customize this configuration via a built-in dependency injection (DI) container. In fact implementation-wise, Runtime object is just a convenience thin wrapper around a DI `Injector`.

Since:
  3.1

Field Summary
`protected Injector` | `injector`
`protected Module[]` | `modules`

Constructor Summary
`CayenneRuntime(Collection<Module> modules)` Creates a CayenneRuntime with configuration based on the supplied collection of DI modules.
`CayenneRuntime(Module... modules)` Creates a CayenneRuntime with configuration based on the supplied array of DI modules.

Method Summary
`DataChannel` | `getChannel()` Returns the runtime `DataChannel`.
`ObjectContext` | `getContext()` Returns an ObjectContext based on the runtime DataChannel.
`ObjectContext` | `getContext(DataChannel parentChannel)` Returns an ObjectContext based on the runtime DataChannel.
`Injector` | `getInjector()` Returns DI injector used by this runtime.
`Module[]` | `getModules()` Returns an array of modules used to initialize this runtime.
`protected static Module[]` | `mergeModules(Module mainModule, Collection<Module> extraModules)` Internal helper method to add special extra modules in subclass constructors.
`protected static Module[]` | `mergeModules(Module mainModule, Module... extraModules)` Internal helper method to add special extra modules in subclass constructors.
`void` | `shutdown()` Shuts down the DI injector of this runtime, giving all services that need to release some resources a chance to do that.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### injector

    protected Injector injector

### modules

    protected Module[] modules

Constructor Detail

### CayenneRuntime

    public CayenneRuntime(Module... modules)

  Creates a CayenneRuntime with configuration based on the supplied array of DI modules.

### CayenneRuntime

    public CayenneRuntime(Collection<Module> modules)

  Creates a CayenneRuntime with configuration based on the supplied collection of DI modules.

Method Detail

### mergeModules

    protected static Module[] mergeModules(Module mainModule,
                                           Module... extraModules)

  Internal helper method to add special extra modules in subclass constructors.

### mergeModules

    protected static Module[] mergeModules(Module mainModule,
                                           Collection<Module> extraModules)

  Internal helper method to add special extra modules in subclass constructors.

### getModules

    public Module[] getModules()

  Returns an array of modules used to initialize this runtime.

### getInjector

    public Injector getInjector()

  Returns DI injector used by this runtime.

### shutdown

    @BeforeScopeEnd
    public void shutdown()

  Shuts down the DI injector of this runtime, giving all services that need to release some resources a chance to do that.

### getChannel

    public DataChannel getChannel()

  Returns the runtime `DataChannel`.

### getContext

    public ObjectContext getContext()

  Returns an ObjectContext based on the runtime DataChannel. Default configuration will return a new instance of the ObjectContext on every call, as the corresponding factory is bound using "no scope" scope. Custom modules may change this behavior.

### getContext

    public ObjectContext getContext(DataChannel parentChannel)

  Returns an ObjectContext based on the runtime DataChannel. Default configuration will return a new instance of the ObjectContext on every call, as the corresponding factory is bound using "no scope" scope. Custom modules may change this behavior.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 Apache Cayenne. All Rights Reserved.