Package org.apache.solr.common.params

## Class SolrParams

- java.lang.Object
- - org.apache.solr.common.params.SolrParams

All Implemented Interfaces:
  `Serializable`, `Iterable<Map.Entry<String,​String[]>>`, `MapSerializable`, `MapWriter`, `NavigableObject`, `org.noggit.JSONWriter.Writable`

Direct Known Subclasses:
  `DefaultSolrParams`, `MapSolrParams`, `ModifiableSolrParams`, `MultiMapSolrParams`, `RequiredSolrParams`

    public abstract class SolrParams
    extends Object
    implements Serializable, MapWriter, Iterable<Map.Entry<String,​String[]>>

SolrParams is designed to hold parameters to Solr, often from the request coming into Solr. It's basically a MultiMap of String keys to one or more String values. Neither keys nor values may be null. Unlike a general Map/MultiMap, the size is unknown without iterating over each parameter name.

See Also:
  Serialized Form

### 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`

### Constructor Summary

Constructors
`SolrParams()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
`protected String` `fpname​(String field, String param)`
`abstract String` `get​(String param)` Returns the first String value of a param, or null if not set.
`String` `get​(String param, String def)` returns the value of the param, or def if not set
`Boolean` `getBool​(String param)` Returns the Boolean value of the param, or null if not set.
`boolean` `getBool​(String param, boolean def)` Returns the boolean value of the param, or def if not set
`Double` `getDouble​(String param)` Returns the Float value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0.0d` ).
`double` `getDouble​(String param, double def)` Returns the float value of the param, or def if not set
`Boolean` `getFieldBool​(String field, String param)` Returns the Boolean value of the field param, or the value for param, or null if neither is set.
`boolean` `getFieldBool​(String field, String param, boolean def)` Returns the boolean value of the field param, or the value for param, or def if neither is set.
`Double` `getFieldDouble​(String field, String param)` Returns the float value of the field param.
`double` `getFieldDouble​(String field, String param, double def)` Returns the float value of the field param, or the value for param, or def if neither is set.
`Float` `getFieldFloat​(String field, String param)` Returns the float value of the field param.
`float` `getFieldFloat​(String field, String param, float def)` Returns the float value of the field param, or the value for param, or def if neither is set.
`Integer` `getFieldInt​(String field, String param)` Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0`).
`int` `getFieldInt​(String field, String param, int def)` Returns the int value of the field param, or the value for param, or def if neither is set.
`String` `getFieldParam​(String field, String param)` returns the String value of the field parameter, "f.field.param", or the value for "param" if that is not set.
`String` `getFieldParam​(String field, String param, String def)` returns the String value of the field parameter, "f.field.param", or the value for "param" if that is not set.
`String[]` `getFieldParams​(String field, String param)` returns the String values of the field parameter, "f.field.param", or the values for "param" if that is not set.
`Float` `getFloat​(String param)` Returns the Float value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0.0f` ).
`float` `getFloat​(String param, float def)` Returns the float value of the param, or def if not set
`Integer` `getInt​(String param)` Returns the Integer value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value for int - zero (`0`).
`int` `getInt​(String param, int def)` Returns the int value of the param, or def if not set
`Long` `getLong​(String param)` Returns the Long value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0` ).
`long` `getLong​(String param, long def)` Returns the long value of the param, or def if not set
`abstract Iterator<String>` `getParameterNamesIterator()` Returns an Iterator over the parameter names.
`abstract String[]` `getParams​(String param)` returns an array of the String values of a param, or null if no mapping for the param exists.
`boolean` `getPrimitiveBool​(String param)` Returns the boolean value of the param, or `false` if not set
`boolean` `getPrimitiveFieldBool​(String field, String param)` Returns the boolean value of the field param, or the value for param or the default value of boolean - `false`
`float` `getPrimitiveFieldFloat​(String field, String param)` Returns the float value of the field param or the value for param or the default value for float - zero (`0.0f`)
`int` `getPrimitiveInt​(String param)` Returns int value of the param or default value for int - zero (`0`) if not set.
`Iterator<Map.Entry<String,​String[]>>` `iterator()` Returns an Iterator of `Map.Entry` providing a multi-map view.
`static SolrParams` `of()` An empty, immutable SolrParams.
`static SolrParams` `of​(String k, String v)` An immutable SolrParams holding one pair (not null).
`RequiredSolrParams` `required()` returns a RequiredSolrParams wrapping this
`Stream<Map.Entry<String,​String[]>>` `stream()` A `Stream` view over `iterator()` -- for convenience.
`String` `toLocalParamsString()` Generates a local-params string of the form `{! name=value name2=value2}`, Protecting (without any quoting or escaping) any values that start with `$` (param references).
`NamedList<Object>` `toNamedList()` Deprecated. see `SimpleOrderedMap(MapWriter)`
`String` `toQueryString()` Returns this SolrParams as a proper URL encoded string, starting with `"?"`, if not empty.
`String` `toString()` Like `toQueryString()`, but only replacing enough chars so that the URL may be unambiguously pasted back into a browser.
`static SolrParams` `wrapAppended​(SolrParams params, SolrParams defaults)`
`static SolrParams` `wrapDefaults​(SolrParams params, SolrParams defaults)`
`void` `writeMap​(MapWriter.EntryWriter ew)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

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

`append, jsonStr, toMap, write`

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

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

### Constructor Detail

#### SolrParams

    public SolrParams()

### Method Detail

#### get

    public abstract String get​(String param)

Returns the first String value of a param, or null if not set. To get all, call `getParams(String)` instead.

#### getParams

    public abstract String[] getParams​(String param)

returns an array of the String values of a param, or null if no mapping for the param exists.

#### getParameterNamesIterator

    public abstract Iterator<String> getParameterNamesIterator()

Returns an Iterator over the parameter names. If you were to call a getter for this parameter, you should get a non-null value. Since you probably want the value, consider using Java 5 for-each style instead for convenience since a SolrParams implements `Iterable`.

#### get

    public String get​(String param,
                      String def)

returns the value of the param, or def if not set

#### writeMap

    public void writeMap​(MapWriter.EntryWriter ew)
                  throws IOException

Specified by:
  `writeMap` in interface `MapWriter`
Throws:
  `IOException`

#### iterator

    public Iterator<Map.Entry<String,​String[]>> iterator()

Returns an Iterator of `Map.Entry` providing a multi-map view. Treat it as read-only.

Specified by:
  `iterator` in interface `Iterable<Map.Entry<String,​String[]>>`

#### stream

    public Stream<Map.Entry<String,​String[]>> stream()

A `Stream` view over `iterator()` -- for convenience. Treat it as read-only.

#### required

    public RequiredSolrParams required()

returns a RequiredSolrParams wrapping this

#### fpname

    protected String fpname​(String field,
                            String param)

#### getFieldParam

    public String getFieldParam​(String field,
                                String param)

returns the String value of the field parameter, "f.field.param", or the value for "param" if that is not set.

#### getFieldParam

    public String getFieldParam​(String field,
                                String param,
                                String def)

returns the String value of the field parameter, "f.field.param", or the value for "param" if that is not set. If that is not set, def

#### getFieldParams

    public String[] getFieldParams​(String field,
                                   String param)

returns the String values of the field parameter, "f.field.param", or the values for "param" if that is not set.

#### getBool

    public Boolean getBool​(String param)

Returns the Boolean value of the param, or null if not set. Use this method only when you want to be explicit about absence of a value (`null`) vs the default value `false` .

See Also:
  `getBool(String, boolean)`, `getPrimitiveBool(String)`

#### getPrimitiveBool

    public boolean getPrimitiveBool​(String param)

Returns the boolean value of the param, or `false` if not set

#### getBool

    public boolean getBool​(String param,
                           boolean def)

Returns the boolean value of the param, or def if not set

#### getFieldBool

    public Boolean getFieldBool​(String field,
                                String param)

Returns the Boolean value of the field param, or the value for param, or null if neither is set. Use this method only when you want to be explicit about absence of a value (`null` ) vs the default value `false`.

See Also:
  `getFieldBool(String, String, boolean)`, `getPrimitiveFieldBool(String, String)`

#### getPrimitiveFieldBool

    public boolean getPrimitiveFieldBool​(String field,
                                         String param)

Returns the boolean value of the field param, or the value for param or the default value of boolean - `false`

#### getFieldBool

    public boolean getFieldBool​(String field,
                                String param,
                                boolean def)

Returns the boolean value of the field param, or the value for param, or def if neither is set.

#### getInt

    public Integer getInt​(String param)

Returns the Integer value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value for int - zero (`0`).

See Also:
  `getInt(String, int)`, `getPrimitiveInt(String)`

#### getPrimitiveInt

    public int getPrimitiveInt​(String param)

Returns int value of the param or default value for int - zero (`0`) if not set.

#### getInt

    public int getInt​(String param,
                      int def)

Returns the int value of the param, or def if not set

#### getLong

    public Long getLong​(String param)

Returns the Long value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0` ).

See Also:
  `getLong(String, long)`

#### getLong

    public long getLong​(String param,
                        long def)

Returns the long value of the param, or def if not set

#### getFieldInt

    public Integer getFieldInt​(String field,
                               String param)

Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0`).

Returns:
  The int value of the field param, or the value for param or `null` if neither is set.
See Also:
  `getFieldInt(String, String, int)`

#### getFieldInt

    public int getFieldInt​(String field,
                           String param,
                           int def)

Returns the int value of the field param, or the value for param, or def if neither is set.

#### getFloat

    public Float getFloat​(String param)

Returns the Float value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0.0f` ).

See Also:
  `getFloat(String, float)`

#### getFloat

    public float getFloat​(String param,
                          float def)

Returns the float value of the param, or def if not set

#### getDouble

    public Double getDouble​(String param)

Returns the Float value of the param, or null if not set Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0.0d` ).

See Also:
  `getDouble(String, double)`

#### getDouble

    public double getDouble​(String param,
                            double def)

Returns the float value of the param, or def if not set

#### getFieldFloat

    public Float getFieldFloat​(String field,
                               String param)

Returns the float value of the field param. Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0.0f`).

See Also:
  `getFieldFloat(String, String, float)`, `getPrimitiveFieldFloat(String, String)`

#### getPrimitiveFieldFloat

    public float getPrimitiveFieldFloat​(String field,
                                        String param)

Returns the float value of the field param or the value for param or the default value for float - zero (`0.0f`)

#### getFieldFloat

    public float getFieldFloat​(String field,
                               String param,
                               float def)

Returns the float value of the field param, or the value for param, or def if neither is set.

#### getFieldDouble

    public Double getFieldDouble​(String field,
                                 String param)

Returns the float value of the field param. Use this method only when you want to be explicit about absence of a value (`null`) vs the default value zero (`0.0d`).

See Also:
  `getDouble(String, double)`

#### getFieldDouble

    public double getFieldDouble​(String field,
                                 String param,
                                 double def)

Returns the float value of the field param, or the value for param, or def if neither is set.

#### wrapDefaults

    public static SolrParams wrapDefaults​(SolrParams params,
                                          SolrParams defaults)

#### wrapAppended

    public static SolrParams wrapAppended​(SolrParams params,
                                          SolrParams defaults)

#### toNamedList

    @Deprecated
    public NamedList<Object> toNamedList()

Deprecated.
see `SimpleOrderedMap(MapWriter)`
Convert this to a NamedList of unique keys with either String or String[] values depending on how many values there are for the parameter.

#### toQueryString

    public String toQueryString()

Returns this SolrParams as a proper URL encoded string, starting with `"?"`, if not empty.

#### toLocalParamsString

    public String toLocalParamsString()

Generates a local-params string of the form `{! name=value name2=value2}`, Protecting (without any quoting or escaping) any values that start with `$` (param references).

#### toString

    public String toString()

Like `toQueryString()`, but only replacing enough chars so that the URL may be unambiguously pasted back into a browser. This method can be used to properly log query parameters without making them unreadable.

Characters with a numeric value less than 32 are encoded. &,=,%,+,space are encoded.

Overrides:
  `toString` in class `Object`

#### of

    public static SolrParams of()

An empty, immutable SolrParams.

#### of

    public static SolrParams of​(String k,
                                String v)

An immutable SolrParams holding one pair (not null).