Class DefaultGroupPropertyMap<K,​V>

  • Type Parameters:
    K - Property key
    V - Property value
    All Implemented Interfaces:
    Serializable, Cloneable, Map<K,​V>

    public class DefaultGroupPropertyMap<K,​V>
    extends PersistableMap<K,​V>
    Default implementation of a writable Map to manage group properties. Updates made to the elements in this map will also be applied to the database. Note this implementation assumes group property changes will be relatively infrequent and therefore does not try to optimize database I/O for performance. Each call to a Map mutator method (direct or indirect via Iterator) will result in a corresponding synchronous update to the database.
    See Also:
    Serialized Form
    • Constructor Detail

      • DefaultGroupPropertyMap

        public DefaultGroupPropertyMap​(Group group)
        Group properties map constructor; requires an associated Group instance
        Parameters:
        group - The group that owns these properties
    • Method Detail

      • put

        public V put​(K key,
                     V value,
                     boolean persist)
        Custom method to put properties into the map, optionally without triggering persistence. This is used when the map is being initially loaded from the database.
        Specified by:
        put in class PersistableMap<K,​V>
        Parameters:
        key - The property name
        value - The property value
        persist - True if the changes should be persisted to the database
        Returns:
        The original value or null if the property did not exist
      • put

        public V put​(K key,
                     V value)
        Specified by:
        put in interface Map<K,​V>
        Overrides:
        put in class HashMap<K,​V>
      • clear

        public void clear()
        Specified by:
        clear in interface Map<K,​V>
        Overrides:
        clear in class HashMap<K,​V>
      • keySet

        public Set<K> keySet()
        Be aware that removing a property through the iterator of the returned key set might cause unexpected behavior, as not all event handlers will be notified with all data required for cache updates to be processed.
        Specified by:
        keySet in interface Map<K,​V>
        Overrides:
        keySet in class HashMap<K,​V>