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
-
-
Constructor Summary
Constructors Constructor Description SolrParams()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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 setMap<String,Object>
getAll(Map<String,Object> sink, String... params)
Deprecated.Map<String,Object>
getAll(Map<String,Object> sink, Collection<String> params)
Deprecated.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 setDouble
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 setBoolean
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 setInteger
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 setLong
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 setabstract 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, orfalse
if not setboolean
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 the param or default value for int - zero (0
) if not set.Iterator<Map.Entry<String,String[]>>
iterator()
Returns an Iterator ofMap.Entry
providing a multi-map view.RequiredSolrParams
required()
returns a RequiredSolrParams wrapping thisStream<Map.Entry<String,String[]>>
stream()
AStream
view overiterator()
-- for convenience.SolrParams
toFilteredSolrParams(List<String> names)
Deprecated.String
toLocalParamsString()
Generates a local-params string of the formstatic Map<String,String>
toMap(NamedList<?> params)
Deprecated.static Map<String,String[]>
toMultiMap(NamedList<?> params)
Deprecated.NamedList<Object>
toNamedList()
Convert this to a NamedList of unique keys with either String or String[] values depending on how many values there are for the parameter.String
toQueryString()
Returns this SolrParams as a properly URL encoded string, starting with"?"
, if not empty.static SolrParams
toSolrParams(NamedList<?> params)
Deprecated.String
toString()
LiketoQueryString()
, 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.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size
-
-
-
-
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, callgetParams(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 implementsIterable
.
-
writeMap
public void writeMap(MapWriter.EntryWriter ew) throws IOException
- Specified by:
writeMap
in interfaceMapWriter
- Throws:
IOException
-
iterator
public Iterator<Map.Entry<String,String[]>> iterator()
Returns an Iterator ofMap.Entry
providing a multi-map view. Treat it as read-only.
-
stream
public Stream<Map.Entry<String,String[]>> stream()
AStream
view overiterator()
-- for convenience. Treat it as read-only.
-
required
public RequiredSolrParams required()
returns a RequiredSolrParams wrapping this
-
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 valuefalse
.- See Also:
getBool(String, boolean)
,getPrimitiveBool(String)
-
getPrimitiveBool
public boolean getPrimitiveBool(String param)
Returns the boolean value of the param, orfalse
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 valuefalse
.
-
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 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
).
-
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)
-
toMap
@Deprecated public static Map<String,String> toMap(NamedList<?> params)
Deprecated.Create a Map<String,String> from a NamedList given no keys are repeated
-
toMultiMap
@Deprecated public static Map<String,String[]> toMultiMap(NamedList<?> params)
Deprecated.Create a Map<String,String[]> from a NamedList
-
toSolrParams
@Deprecated public static SolrParams toSolrParams(NamedList<?> params)
Deprecated.Create SolrParams from NamedList.
-
toFilteredSolrParams
@Deprecated public SolrParams toFilteredSolrParams(List<String> names)
Deprecated.
-
toNamedList
public NamedList<Object> toNamedList()
Convert this to a NamedList of unique keys with either String or String[] values depending on how many values there are for the parameter.
-
getAll
@Deprecated public Map<String,Object> getAll(Map<String,Object> sink, Collection<String> params)
Deprecated.
-
getAll
@Deprecated public Map<String,Object> getAll(Map<String,Object> sink, String... params)
Deprecated.Copy all params to the given map or if the given map is null create a new one
-
toQueryString
public String toQueryString()
Returns this SolrParams as a properly URL encoded string, starting with"?"
, if not empty.
-
toLocalParamsString
public String toLocalParamsString()
Generates a local-params string of the form{! name=value name2=value2}
-
toString
public String toString()
LiketoQueryString()
, 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.
-
-