Package ai.libs.jaicore.basic.kvstore
Class KVStore
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<java.lang.String,java.lang.Object>
-
- ai.libs.jaicore.basic.kvstore.KVStore
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map<java.lang.String,java.lang.Object>,org.api4.java.datastructure.kvstore.IKVStore
- Direct Known Subclasses:
OptionsParser
public class KVStore extends java.util.HashMap<java.lang.String,java.lang.Object> implements org.api4.java.datastructure.kvstore.IKVStore, java.io.SerializableA KVStore can be used to store arbitrary objects for some string key. The KVStore allows for more convenient data access and some basic operations. Within KVStoreCollections it can be subject to significance tests and it may be transformed into a table representation.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description KVStore()Standard c'tor creating an empty KV store.KVStore(java.lang.String stringRepresentation)C'tor creating a KV store loading the data from the provided string representation.KVStore(java.util.Map<java.lang.String,java.lang.Object> keyValueMap)C'tor for creating a shallow copy of another KeyValueStore or to initialize with the provided keyValueMap.KVStore(org.api4.java.datastructure.kvstore.IKVStore keyValueStoreToCopy)C'tor for making a deep copy of another KVStore.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)voidfilter(java.lang.String key, org.api4.java.datastructure.kvstore.IKVFilter filter)voidfilter(java.util.Map<java.lang.String,org.api4.java.datastructure.kvstore.IKVFilter> filterMap)java.lang.BooleangetAsBoolean(java.lang.String key)java.util.List<java.lang.Boolean>getAsBooleanList(java.lang.String key)java.util.List<java.lang.Boolean>getAsBooleanList(java.lang.String key, java.lang.String separator)java.lang.BytegetAsByte(java.lang.String key)byte[]getAsBytes(java.lang.String columnClassifierObject)java.lang.DoublegetAsDouble(java.lang.String key)java.util.List<java.lang.Double>getAsDoubleList(java.lang.String key)java.util.List<java.lang.Double>getAsDoubleList(java.lang.String key, java.lang.String separator)java.io.FilegetAsFile(java.lang.String key)java.lang.IntegergetAsInt(java.lang.String key)java.util.List<java.lang.Integer>getAsIntList(java.lang.String key)java.util.List<java.lang.Integer>getAsIntList(java.lang.String key, java.lang.String separator)java.lang.LonggetAsLong(java.lang.String key)<T> TgetAsObject(java.lang.String key, java.lang.Class<T> objectClass)java.lang.ShortgetAsShort(java.lang.String key)java.lang.StringgetAsString(java.lang.String key)java.util.List<java.lang.String>getAsStringList(java.lang.String key)java.util.List<java.lang.String>getAsStringList(java.lang.String key, java.lang.String separator)KVStoreCollectiongetCollection()java.lang.StringgetStringRepresentation(java.lang.String[] projectionFilter)Allows to get a string representation of this KVStore incorporating only key value pairs for the namedinthashCode()booleanisNull(java.lang.String key)booleanmatches(java.util.Map<java.lang.String,java.lang.String> selection)voidmerge(java.lang.String[] fieldKeys, java.lang.String separator, java.lang.String newKey)voidprefixAllKeys(java.lang.String prefix)voidproject(java.lang.String[] filterKeys)voidreadKVStoreFromDescription(java.lang.String kvDescription)Reads a KVStore from a string description.voidremoveAll(java.lang.String[] removeKeys)voidrenameKey(java.lang.String key, java.lang.String newKeyName)voidserializeTo(java.io.File file)Serializes the key value store to thefilewith the givenfileName.voidserializeTo(java.lang.String fileName)Serializes the key value store to a file with the givenfileName.voidsetCollection(KVStoreCollection collection)Assigns the KVStore to a KVStoreCollection.java.lang.StringtoString()-
Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Constructor Detail
-
KVStore
public KVStore()
Standard c'tor creating an empty KV store.
-
KVStore
public KVStore(java.lang.String stringRepresentation)
C'tor creating a KV store loading the data from the provided string representation.- Parameters:
stringRepresentation- A string formatted key value store to be restored.
-
KVStore
public KVStore(java.util.Map<java.lang.String,java.lang.Object> keyValueMap)
C'tor for creating a shallow copy of another KeyValueStore or to initialize with the provided keyValueMap.- Parameters:
keyValueMap- Map of keys and values to initialize this KeyValueStore with.
-
KVStore
public KVStore(org.api4.java.datastructure.kvstore.IKVStore keyValueStoreToCopy)
C'tor for making a deep copy of another KVStore.- Parameters:
keyValueStoreToCopy- The KVStore to make a deep copy from.
-
-
Method Detail
-
getAsString
public java.lang.String getAsString(java.lang.String key)
- Specified by:
getAsStringin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsBoolean
public java.lang.Boolean getAsBoolean(java.lang.String key)
- Specified by:
getAsBooleanin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsInt
public java.lang.Integer getAsInt(java.lang.String key)
- Specified by:
getAsIntin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsDouble
public java.lang.Double getAsDouble(java.lang.String key)
- Specified by:
getAsDoublein interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsLong
public java.lang.Long getAsLong(java.lang.String key)
- Specified by:
getAsLongin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsShort
public java.lang.Short getAsShort(java.lang.String key)
- Specified by:
getAsShortin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsByte
public java.lang.Byte getAsByte(java.lang.String key)
- Specified by:
getAsBytein interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsObject
public <T> T getAsObject(java.lang.String key, java.lang.Class<T> objectClass) throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException- Specified by:
getAsObjectin interfaceorg.api4.java.datastructure.kvstore.IKVStore- Throws:
java.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.NoSuchMethodException
-
getAsBytes
public byte[] getAsBytes(java.lang.String columnClassifierObject)
- Specified by:
getAsBytesin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsDoubleList
public java.util.List<java.lang.Double> getAsDoubleList(java.lang.String key)
- Specified by:
getAsDoubleListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsDoubleList
public java.util.List<java.lang.Double> getAsDoubleList(java.lang.String key, java.lang.String separator)- Specified by:
getAsDoubleListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsIntList
public java.util.List<java.lang.Integer> getAsIntList(java.lang.String key)
- Specified by:
getAsIntListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsIntList
public java.util.List<java.lang.Integer> getAsIntList(java.lang.String key, java.lang.String separator)- Specified by:
getAsIntListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsStringList
public java.util.List<java.lang.String> getAsStringList(java.lang.String key)
- Specified by:
getAsStringListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsStringList
public java.util.List<java.lang.String> getAsStringList(java.lang.String key, java.lang.String separator)- Specified by:
getAsStringListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsBooleanList
public java.util.List<java.lang.Boolean> getAsBooleanList(java.lang.String key)
- Specified by:
getAsBooleanListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsBooleanList
public java.util.List<java.lang.Boolean> getAsBooleanList(java.lang.String key, java.lang.String separator)- Specified by:
getAsBooleanListin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getAsFile
public java.io.File getAsFile(java.lang.String key)
- Specified by:
getAsFilein interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
readKVStoreFromDescription
public void readKVStoreFromDescription(java.lang.String kvDescription)
Reads a KVStore from a string description.- Parameters:
kvDescription- The string description of the kv store.
-
matches
public boolean matches(java.util.Map<java.lang.String,java.lang.String> selection)
- Specified by:
matchesin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
project
public void project(java.lang.String[] filterKeys)
- Specified by:
projectin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
removeAll
public void removeAll(java.lang.String[] removeKeys)
- Specified by:
removeAllin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
filter
public void filter(java.util.Map<java.lang.String,org.api4.java.datastructure.kvstore.IKVFilter> filterMap)
- Specified by:
filterin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
filter
public void filter(java.lang.String key, org.api4.java.datastructure.kvstore.IKVFilter filter)- Specified by:
filterin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
serializeTo
public void serializeTo(java.lang.String fileName) throws java.io.IOExceptionSerializes the key value store to a file with the givenfileName.- Parameters:
fileName- The name of the file, the key value store shall be serialized to.- Throws:
java.io.IOException
-
serializeTo
public void serializeTo(java.io.File file) throws java.io.IOExceptionSerializes the key value store to thefilewith the givenfileName.- Parameters:
fileName- The name of the file, the key value store shall be serialized to.- Throws:
java.io.IOException
-
merge
public void merge(java.lang.String[] fieldKeys, java.lang.String separator, java.lang.String newKey)- Specified by:
mergein interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
prefixAllKeys
public void prefixAllKeys(java.lang.String prefix)
- Specified by:
prefixAllKeysin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
renameKey
public void renameKey(java.lang.String key, java.lang.String newKeyName)- Specified by:
renameKeyin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
getCollection
public KVStoreCollection getCollection()
- Returns:
- Get the collection this KVStore belongs to.
-
setCollection
public void setCollection(KVStoreCollection collection)
Assigns the KVStore to a KVStoreCollection.- Parameters:
collection- The collection this KVStore belongs to.
-
getStringRepresentation
public java.lang.String getStringRepresentation(java.lang.String[] projectionFilter)
Allows to get a string representation of this KVStore incorporating only key value pairs for the named- Parameters:
projectionFilter-- Returns:
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
hashCodein classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacejava.util.Map<java.lang.String,java.lang.Object>- Overrides:
equalsin classjava.util.AbstractMap<java.lang.String,java.lang.Object>
-
isNull
public boolean isNull(java.lang.String key)
- Specified by:
isNullin interfaceorg.api4.java.datastructure.kvstore.IKVStore
-
-