org.datanucleus.store.rdbms
Class SchemaAutoStarter

java.lang.Object
  extended by org.datanucleus.store.AbstractAutoStartMechanism
      extended by org.datanucleus.store.rdbms.SchemaAutoStarter
All Implemented Interfaces:
org.datanucleus.store.AutoStartMechanism

public class SchemaAutoStarter
extends org.datanucleus.store.AbstractAutoStartMechanism

Implementation of an Auto-Start Mechanism for DataNucleus. This implementation stores the classes supported in a table in the datastore. It is initialised and read at startup, and is continually updated during the lifetime of the calling application.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.datanucleus.store.AutoStartMechanism
org.datanucleus.store.AutoStartMechanism.Mode
 
Field Summary
protected  org.datanucleus.ManagedConnection mconn
           
protected  SchemaTable schemaTable
           
protected  RDBMSManager storeMgr
           
 
Fields inherited from class org.datanucleus.store.AbstractAutoStartMechanism
LOCALISER, mode, open
 
Constructor Summary
SchemaAutoStarter(org.datanucleus.store.StoreManager store_mgr, org.datanucleus.ClassLoaderResolver clr)
          Constructor.
 
Method Summary
 void addClass(org.datanucleus.store.StoreData data)
          Method to add a class to the supported list.
 void close()
          Closes a transaction for writing (add/delete) classes to the auto start mechanism
 void deleteAllClasses()
          Method to drop support for all current classes.
 void deleteClass(java.lang.String class_name)
          Method to drop support for a class.
 java.util.Collection getAllClassData()
          Accessor for the data for the classes supported.
 java.lang.String getStorageDescription()
          Utility to output the storage description for this mechanism.
 boolean isOpen()
          Whether it's open for writing (add/delete) classes to the auto start mechanism
 void open()
          Starts a transaction for writing (add/delete) classes to the auto start mechanism
 
Methods inherited from class org.datanucleus.store.AbstractAutoStartMechanism
getMode, setMode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

schemaTable

protected SchemaTable schemaTable

storeMgr

protected RDBMSManager storeMgr

mconn

protected org.datanucleus.ManagedConnection mconn
Constructor Detail

SchemaAutoStarter

public SchemaAutoStarter(org.datanucleus.store.StoreManager store_mgr,
                         org.datanucleus.ClassLoaderResolver clr)
Constructor.

Parameters:
store_mgr - The RDBMSManager managing the store that we are auto-starting.
clr - The ClassLoaderResolver
Method Detail

getAllClassData

public java.util.Collection getAllClassData()
                                     throws org.datanucleus.store.exceptions.DatastoreInitialisationException
Accessor for the data for the classes supported.

Returns:
Collection of classes supported (StoreData). Collection of StoreData elements
Throws:
org.datanucleus.store.exceptions.DatastoreInitialisationException

open

public void open()
Starts a transaction for writing (add/delete) classes to the auto start mechanism

Specified by:
open in interface org.datanucleus.store.AutoStartMechanism
Overrides:
open in class org.datanucleus.store.AbstractAutoStartMechanism

close

public void close()
Closes a transaction for writing (add/delete) classes to the auto start mechanism

Specified by:
close in interface org.datanucleus.store.AutoStartMechanism
Overrides:
close in class org.datanucleus.store.AbstractAutoStartMechanism

isOpen

public boolean isOpen()
Whether it's open for writing (add/delete) classes to the auto start mechanism

Specified by:
isOpen in interface org.datanucleus.store.AutoStartMechanism
Overrides:
isOpen in class org.datanucleus.store.AbstractAutoStartMechanism
Returns:
whether this is open for writing

addClass

public void addClass(org.datanucleus.store.StoreData data)
Method to add a class to the supported list.

Parameters:
data - Data for the class to add.

deleteClass

public void deleteClass(java.lang.String class_name)
Method to drop support for a class.

Parameters:
class_name - The class

deleteAllClasses

public void deleteAllClasses()
Method to drop support for all current classes.


getStorageDescription

public java.lang.String getStorageDescription()
Utility to output the storage description for this mechanism.

Returns:
The storage description


Copyright © 2009. All Rights Reserved.