Class StoreDataManager


  • public class StoreDataManager
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<java.lang.String,​StoreData> savedStoreDataByName
      the memory image of schema data before running it
      protected java.util.Map<java.lang.String,​StoreData> storeDataByName
      Map of all managed store data, keyed by the class/field name.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void begin()
      Begin a transaction that changes the StoreData cache
      void clear()
      Clear the cache
      void commit()
      Commit the transaction changes to the StoreData cache
      void deregisterClass​(java.lang.String className)  
      StoreData get​(java.lang.String className)
      Get the StoreData by the given class name
      StoreData get​(AbstractMemberMetaData mmd)
      Get the StoreData by the given field/property when SCO, if it has some specific store data component (join table).
      java.util.Collection<StoreData> getManagedStoreData()
      Accessor for the StoreData currently managed by this store.
      StoreData[] getStoreDataForProperties​(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2)
      Convenience accessor for all store data where property 1 has value1 and property 2 has value2.
      boolean managesClass​(java.lang.String className)
      Accessor for whether the specified class (when FCO) or fully qualified field (when SCO) is managed currently
      protected void registerStoreData​(StoreData data)
      Method to register some data with the store.
      void rollback()
      Rollback the transaction changes to the StoreData cache
      int size()
      Accessor to the number of StoreData in cache
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • storeDataByName

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

        protected java.util.Map<java.lang.String,​StoreData> savedStoreDataByName
        the memory image of schema data before running it
    • Constructor Detail

      • StoreDataManager

        public StoreDataManager()
    • Method Detail

      • clear

        public void clear()
        Clear the cache
      • deregisterClass

        public void deregisterClass​(java.lang.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​(java.lang.String key1,
                                                     java.lang.Object value1,
                                                     java.lang.String key2,
                                                     java.lang.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​(java.lang.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 java.util.Collection<StoreData> getManagedStoreData()
        Accessor for the StoreData currently managed by this store.
        Returns:
        Collection of the StoreData being managed
      • get

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

        public StoreData get​(AbstractMemberMetaData mmd)
        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