Interface AutoStartMechanism

  • All Known Implementing Classes:
    AbstractAutoStartMechanism, ClassesAutoStarter, MetaDataAutoStarter

    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.

    • Checked will mean that DataNucleus will throw an exception and the user will be expected to manually fix their datastore mismatch (perhaps by removing the existing tables).
    • Quiet (the default) will simply remove the entry from the repository and continue without exception.
    • Ignored will simply continue without doing anything.

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

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  AutoStartMechanism.Mode  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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​(String name)
      Method to delete a class/field that is currently listed as supported in the internal storage.
      Collection<StoreData> getAllClassData()
      Accessor for the data for the classes that are currently auto started.
      AutoStartMechanism.Mode getMode()
      Accessor for the mode of operation.
      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

      • setMode

        void setMode​(AutoStartMechanism.Mode mode)
        Mutator for the mode of operation.
        Parameters:
        mode - The mode of operation
      • 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​(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

        String getStorageDescription()
        Utility to return a description of the storage for this mechanism.
        Returns:
        The storage description.