org.datanucleus.store.autostart
Interface AutoStartMechanism

All Known Implementing Classes:
AbstractAutoStartMechanism, ClassesAutoStarter, MetaDataAutoStarter, XMLAutoStarter

public interface AutoStartMechanism

Interface defining an Auto-Start Mechanism. An Auto-Start Mechanism is a means of auto-populating the classes supported by a StoreManager.

If the user changes their persistence definition a problem can occur when starting up DataNucleus. DataNucleus loads up its existing data from a repository (e.g the table "NUCLEUS_TABLES" for SchemaTableAutoStarter) and finds that a table/class required by the repository data no longer exists. There are 3 options for what DataNucleus will do in this situation.

Implementations must have a public constructor taking the arguments StoreManager and ClassLoaderResolver


Nested Class Summary
static class AutoStartMechanism.Mode
           
 
Method Summary
 void addClass(StoreData data)
          Method to add a class/field (with its data) to the currently-supported list.
 void close()
          Closes a transaction for writing (add/delete) classes to the auto start mechanism.
 void deleteAllClasses()
          Method to delete all classes that are currently listed as supported in the internal storage.
 void deleteClass(java.lang.String name)
          Method to delete a class/field that is currently listed as supported in the internal storage.
 java.util.Collection getAllClassData()
          Accessor for the data for the classes that are currently auto started.
 AutoStartMechanism.Mode getMode()
          Accessor for the mode of operation.
 java.lang.String getStorageDescription()
          Utility to return a description of the storage 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.
 void setMode(AutoStartMechanism.Mode mode)
          Mutator for the mode of operation.
 

Method Detail

getMode

AutoStartMechanism.Mode getMode()
Accessor for the mode of operation.

Returns:
The mode of operation

setMode

void setMode(AutoStartMechanism.Mode mode)
Mutator for the mode of operation.

Parameters:
mode - The mode of operation

getAllClassData

java.util.Collection getAllClassData()
                                     throws DatastoreInitialisationException
Accessor for the data for the classes that are currently auto started.

Returns:
Collection of StoreData elements
Throws:
DatastoreInitialisationException

open

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


close

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


isOpen

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

Returns:
whether this is open for writing

addClass

void addClass(StoreData data)
Method to add a class/field (with its data) to the currently-supported list.

Parameters:
data - The data for the class.

deleteClass

void deleteClass(java.lang.String name)
Method to delete a class/field that is currently listed as supported in the internal storage. It does not drop the schema of the DatastoreClass neither the contents of it. It only removes the class from the AutoStart mechanism. TODO Rename this method to allow for deleting fields

Parameters:
name - The name of the class/field

deleteAllClasses

void deleteAllClasses()
Method to delete all classes that are currently listed as supported in the internal storage. It does not drop the schema of the DatastoreClass neither the contents of it. It only removes the classes from the AutoStart mechanism.


getStorageDescription

java.lang.String getStorageDescription()
Utility to return a description of the storage for this mechanism.

Returns:
The storage description.


Copyright © 2010. All Rights Reserved.