Package org.apache.solr.cluster.api

## Interface SimpleMap<T>

All Superinterfaces:
  `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 always `CharSequence` objects, The values can be of any type

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter

`MapWriter.EntryWriter`

### Field Summary

### Fields inherited from interface org.apache.solr.common.MapWriter

`EMPTY`

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`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 values
`default 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.MapWriter

`append, jsonStr, toMap`

### Methods inherited from interface org.apache.solr.common.NavigableObject

`_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size`

### Method Detail

#### get

    T get​(String key)

get a value by key. If not present , null is returned

#### get

    default T get​(String key,
                  T def)

#### 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 interface `MapWriter`
Throws:
  `IOException`

#### asMap

    default Map<String,​T> asMap​(Map<String,​T> sink)

#### asMap

    default Map<String,​T> asMap()