Class StoreDataManager

java.lang.Object
org.datanucleus.store.StoreDataManager

public class StoreDataManager extends Object
Manager for store information. Keeps a record of which classes are managed by this datastore, and key information about how that class is handled.
  • Field Details

    • storeDataByName

      protected Map<String,StoreData> storeDataByName
      Map of all managed store data, keyed by the class/field name.
    • savedStoreDataByName

      protected Map<String,StoreData> savedStoreDataByName
      the memory image of schema data before running it
  • Constructor Details

    • StoreDataManager

      public StoreDataManager()
  • Method Details

    • clear

      public void clear()
      Clear the cache
    • deregisterClass

      public void deregisterClass(String className)
    • registerStoreData

      protected void registerStoreData(StoreData data)
      Method to register some data with the store.
      Parameters:
      data - The StoreData to add
    • getStoreDataForProperties

      public StoreData[] getStoreDataForProperties(String key1, Object value1, String key2, Object value2)
      Convenience accessor for all store data where property 1 has value1 and property 2 has value2. Uses equals() on the values. Doesn't cater for null values.
      Parameters:
      key1 - Property 1 name
      value1 - Property 1 value
      key2 - Property 2 name
      value2 - Property 2 value
      Returns:
      Store data with the specified property values
    • managesClass

      public boolean managesClass(String className)
      Accessor for whether the specified class (when FCO) or fully qualified field (when SCO) is managed currently
      Parameters:
      className - The name of the class (or fully qualified field)
      Returns:
      Whether it is managed
    • getManagedStoreData

      public Collection<StoreData> getManagedStoreData()
      Accessor for the StoreData currently managed by this store.
      Returns:
      Collection of the StoreData being managed
    • get

      public StoreData get(String className)
      Get the StoreData by the given class name
      Parameters:
      className - the fully qualified class name
      Returns:
      the StoreData
    • get

      Get the StoreData by the given field/property when SCO, if it has some specific store data component (join table).
      Parameters:
      mmd - metadata for the the field/property
      Returns:
      the StoreData
    • size

      public int size()
      Accessor to the number of StoreData in cache
      Returns:
      the number of StoreData in cache
    • begin

      public void begin()
      Begin a transaction that changes the StoreData cache
    • rollback

      public void rollback()
      Rollback the transaction changes to the StoreData cache
    • commit

      public void commit()
      Commit the transaction changes to the StoreData cache