packageorg.jivesoftware.util;importjava.util.HashMap;importjava.util.Map;/** * This acts as a tag interface. It has no functionality, but it serves to make more clear the * intention to pass around a special type of map. * * @param <K> key. see {@link Map} * @param <V> value. see {@link Map} */publicabstractclassPersistableMap<K,V>extendsHashMap<K,V>{privatestaticfinallongserialVersionUID=1L;/** * 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. * * @param key The property name * @param value The property value * @param persist True if the changes should be persisted to the database * @return The original value or null if the property did not exist */publicabstractVput(Kkey,Vvalue,booleanpersist);}