Class SchemaAutoStarter

  • All Implemented Interfaces:
    org.datanucleus.store.autostart.AutoStartMechanism

    public class SchemaAutoStarter
    extends org.datanucleus.store.autostart.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.autostart.AutoStartMechanism

        org.datanucleus.store.autostart.AutoStartMechanism.Mode
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.datanucleus.store.connection.ManagedConnection mconn  
      protected SchemaTable schemaTable  
      protected RDBMSStoreManager storeMgr  
      • Fields inherited from class org.datanucleus.store.autostart.AbstractAutoStartMechanism

        mode, open
    • Constructor Summary

      Constructors 
      Constructor Description
      SchemaAutoStarter​(org.datanucleus.store.StoreManager store_mgr, org.datanucleus.ClassLoaderResolver clr)
      Constructor.
    • Field Detail

      • mconn

        protected org.datanucleus.store.connection.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 Collection getAllClassData()
                                   throws org.datanucleus.exceptions.DatastoreInitialisationException
        Accessor for the data for the classes supported.
        Returns:
        Collection of classes supported (StoreData). Collection of StoreData elements
        Throws:
        org.datanucleus.exceptions.DatastoreInitialisationException - if an error occurs in datastore communication
      • 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.autostart.AutoStartMechanism
        Overrides:
        open in class org.datanucleus.store.autostart.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.autostart.AutoStartMechanism
        Overrides:
        close in class org.datanucleus.store.autostart.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.autostart.AutoStartMechanism
        Overrides:
        isOpen in class org.datanucleus.store.autostart.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​(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 String getStorageDescription()
        Utility to output the storage description for this mechanism.
        Returns:
        The storage description