Package org.apache.solr.cluster.api
Interface SimpleMap<T>
-
- All Superinterfaces:
org.noggit.JSONWriter.Writable
,MapSerializable
,MapWriter
,NavigableObject
- All Known Implementing Classes:
CloudSolrClient.RouteResponse
,NamedList
,SimpleOrderedMap
,WrappedSimpleMap
public interface SimpleMap<T> extends MapWriter
A simplified read-only key-value structure. It is designed to support large datasets without consuming lot of memory The objective is to provide implementations that are cheap and memory efficient to implement and consume. The keys are alwaysCharSequence
objects, The values can be of any type
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter
MapWriter.EntryWriter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
abortableForEach(BiFunction<String,? super T,Boolean> fun)
Navigate through all key-values but abort in between if required.default void
abortableForEachKey(Function<String,Boolean> fun)
iterate through all keys but abort in between if required The default impl is suboptimal.default Map<String,T>
asMap()
default Map<String,T>
asMap(Map<String,T> sink)
void
forEachEntry(BiConsumer<String,? super T> fun)
Navigate through all keys and valuesdefault void
forEachKey(Consumer<String> fun)
iterate through all keys The default impl is suboptimal.T
get(String key)
get a value by key.default T
get(String key, T def)
int
size()
default void
writeMap(MapWriter.EntryWriter ew)
-
Methods inherited from interface org.apache.solr.common.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size
-
-
-
-
Method Detail
-
forEachEntry
void forEachEntry(BiConsumer<String,? super T> fun)
Navigate through all keys and values
-
forEachKey
default void forEachKey(Consumer<String> fun)
iterate through all keys The default impl is suboptimal. Proper implementations must do it more efficiently
-
size
int size()
-
abortableForEachKey
default void abortableForEachKey(Function<String,Boolean> fun)
iterate through all keys but abort in between if required The default impl is suboptimal. Proper implementations must do it more efficiently- Parameters:
fun
- Consume each key and return a boolean to signal whether to proceed or not. If true, continue. If false stop
-
abortableForEach
default void abortableForEach(BiFunction<String,? super T,Boolean> fun)
Navigate through all key-values but abort in between if required. The default impl is suboptimal. Proper implementations must do it more efficiently- Parameters:
fun
- Consume each entry and return a boolean to signal whether to proceed or not. If true, continue, if false stop
-
writeMap
default void writeMap(MapWriter.EntryWriter ew) throws IOException
- Specified by:
writeMap
in interfaceMapWriter
- Throws:
IOException
-
-