org.apache.cayenne.configuration
Class CayenneRuntime

java.lang.Object
  extended by 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.



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