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, org.noggit.JSONWriter.Writable
Direct Known Subclasses:
SolrQuery

public class ModifiableSolrParams extends SolrParams
This class is similar to MultiMapSolrParams 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:
  • Constructor Details

    • 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 Details

    • of

      public static ModifiableSolrParams of(SolrParams params)
      If the input params are of type ModifiableSolrParams, 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()
    • getMap

      public Map<String,String[]> getMap()
    • 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 - Key
      val - 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 the params provided in the parameter to this params. Any current value(s) for the same key will be overridden.
    • remove

      public String[] remove(String name)
      remove a field at the given name
    • 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, call SolrParams.getParams(String) instead.
      Specified by:
      get in class SolrParams
    • 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 implements Iterable.
      Specified by:
      getParameterNamesIterator in class SolrParams
    • getParameterNames

      public Set<String> getParameterNames()
    • 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 class SolrParams
    • iterator

      public Iterator<Map.Entry<String,String[]>> iterator()
      Description copied from class: SolrParams
      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[]>>
      Overrides:
      iterator in class SolrParams