Package org.jivesoftware.openfire.group
Class DefaultGroupPropertyMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
org.jivesoftware.util.PersistableMap<K,V>
org.jivesoftware.openfire.group.DefaultGroupPropertyMap<K,V>
- Type Parameters:
K- Property keyV- Property value
- All Implemented Interfaces:
Serializable,Cloneable,Map<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:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Constructor Summary
ConstructorsConstructorDescriptionDefaultGroupPropertyMap(Group group) Group properties map constructor; requires an associatedGroupinstance -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()entrySet()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.Custom method to put properties into the map, optionally without triggering persistence.values()Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, forEach, get, getOrDefault, isEmpty, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll, sizeMethods inherited from class java.util.AbstractMap
equals, hashCode, toString
-
Constructor Details
-
DefaultGroupPropertyMap
Group properties map constructor; requires an associatedGroupinstance- Parameters:
group- The group that owns these properties
-
-
Method Details
-
put
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:
putin classPersistableMap<K,V> - Parameters:
key- The property namevalue- The property valuepersist- True if the changes should be persisted to the database- Returns:
- The original value or null if the property did not exist
-
put
-
remove
-
clear
public void clear() -
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. -
values
-
entrySet
-