Package org.apache.solr.common.params
Class ModifiableSolrParams
- java.lang.Object
-
- org.apache.solr.common.params.SolrParams
-
- org.apache.solr.common.params.ModifiableSolrParams
-
- All Implemented Interfaces:
Serializable
,Iterable<Map.Entry<String,String[]>>
,MapSerializable
,MapWriter
,NavigableObject
- Direct Known Subclasses:
SolrQuery
public class ModifiableSolrParams extends SolrParams
This class is similar toMultiMapSolrParams
except you can edit the parameters after it is initialized. It has helper functions to set/add integer and boolean param values.- Since:
- solr 1.3
- 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 ModifiableSolrParams()
ModifiableSolrParams(Map<String,String[]> v)
Constructs a new ModifiableSolrParams directly using the provided Map<String,String[]>ModifiableSolrParams(SolrParams params)
Constructs a new ModifiableSolrParams, copying values from an existing SolrParams
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ModifiableSolrParams
add(String name, String... val)
Add the given values to any existing namevoid
add(SolrParams params)
Add all of the params provided in the parameter to this params.void
clear()
clear all parametersString
get(String param)
Returns the first String value of a param, or null if not set.Map<String,String[]>
getMap()
Set<String>
getParameterNames()
Iterator<String>
getParameterNamesIterator()
Returns an Iterator over the parameter names.String[]
getParams(String param)
returns an array of the String values of a param, or null if no mapping for the param exists.Iterator<Map.Entry<String,String[]>>
iterator()
Returns an Iterator ofMap.Entry
providing a multi-map view.static ModifiableSolrParams
of(SolrParams params)
If the input params are of type MofifiableSolrParams, returns the input, otherwise, constructs a new ModifiableSolrParams, copying values from the given params.String[]
remove(String name)
remove a field at the given nameboolean
remove(String name, String value)
remove the given value for the given nameModifiableSolrParams
set(String name, boolean val)
ModifiableSolrParams
set(String name, int val)
ModifiableSolrParams
set(String name, String... val)
Replace any existing parameter with the given name.ModifiableSolrParams
setNonNull(String name, Object val)
int
size()
-
Methods inherited from class org.apache.solr.common.params.SolrParams
fpname, get, getAll, getAll, getBool, getBool, getDouble, getDouble, getFieldBool, getFieldBool, getFieldDouble, getFieldDouble, getFieldFloat, getFieldFloat, getFieldInt, getFieldInt, getFieldParam, getFieldParam, getFieldParams, getFloat, getFloat, getInt, getInt, getLong, getLong, getPrimitiveBool, getPrimitiveFieldBool, getPrimitiveFieldFloat, getPrimitiveInt, required, stream, toFilteredSolrParams, toLocalParamsString, toMap, toMultiMap, toNamedList, toQueryString, toSolrParams, toString, wrapAppended, wrapDefaults, writeMap
-
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
-
-
-
-
Constructor Detail
-
ModifiableSolrParams
public ModifiableSolrParams()
-
ModifiableSolrParams
public ModifiableSolrParams(Map<String,String[]> v)
Constructs a new ModifiableSolrParams directly using the provided Map<String,String[]>
-
ModifiableSolrParams
public ModifiableSolrParams(SolrParams params)
Constructs a new ModifiableSolrParams, copying values from an existing SolrParams
-
-
Method Detail
-
of
public static ModifiableSolrParams of(SolrParams params)
If the input params are of type MofifiableSolrParams, returns the input, otherwise, constructs a new ModifiableSolrParams, copying values from the given params. If params is null, returns an empty ModifiableSolrParams instance.
-
size
public int size()
-
setNonNull
public ModifiableSolrParams setNonNull(String name, Object val)
-
set
public ModifiableSolrParams set(String name, String... val)
Replace any existing parameter with the given name. if val==null remove key from params completely.
-
set
public ModifiableSolrParams set(String name, int val)
-
set
public ModifiableSolrParams set(String name, boolean val)
-
add
public ModifiableSolrParams add(String name, String... val)
Add the given values to any existing name- Parameters:
name
- Keyval
- Array of value(s) added to the name. NOTE: If val is null or a member of val is null, then a corresponding null reference will be included when a get method is called on the key later.- Returns:
- this
-
add
public void add(SolrParams params)
Add all of the params provided in the parameter to this params. Any current value(s) for the same key will be overridden.
-
clear
public void clear()
clear all parameters
-
remove
public boolean remove(String name, String value)
remove the given value for the given name- Returns:
- true if the item was removed, false if null or not present
-
get
public String get(String param)
Description copied from class:SolrParams
Returns the first String value of a param, or null if not set. To get all, callSolrParams.getParams(String)
instead.- Specified by:
get
in classSolrParams
-
getParameterNamesIterator
public Iterator<String> getParameterNamesIterator()
Description copied from class:SolrParams
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
.- Specified by:
getParameterNamesIterator
in classSolrParams
-
getParams
public String[] getParams(String param)
Description copied from class:SolrParams
returns an array of the String values of a param, or null if no mapping for the param exists.- Specified by:
getParams
in classSolrParams
-
iterator
public Iterator<Map.Entry<String,String[]>> iterator()
Description copied from class:SolrParams
Returns an Iterator ofMap.Entry
providing a multi-map view. Treat it as read-only.
-
-