Class Tuple

java.lang.Object
org.apache.solr.client.solrj.io.Tuple
All Implemented Interfaces:
Cloneable, org.apache.solr.common.MapSerializable, org.apache.solr.common.MapWriter, org.apache.solr.common.NavigableObject, org.noggit.JSONWriter.Writable
Direct Known Subclasses:
DbscanEvaluator.ClusterTuple, KmeansEvaluator.ClusterTuple, KnnRegressionEvaluator.KnnRegressionTuple, LoessEvaluator.LoessRegressionTuple, OLSRegressionEvaluator.MultipleRegressionTuple, RegressionEvaluator.RegressionTuple

public class Tuple extends Object implements Cloneable, org.apache.solr.common.MapWriter
A simple abstraction of a record containing key/value pairs. Convenience methods are provided for returning single and multiValue String, Long and Double values. Note that ints and floats are treated as longs and doubles respectively.
  • Field Details

    • EOF

      public boolean EOF
      When EOF field is true the Tuple marks the end of the stream. The EOF Tuple will not contain a record from the stream, but it may contain metrics/aggregates gathered by underlying streams.
    • EXCEPTION

      public boolean EXCEPTION
      When EXCEPTION field is true the Tuple marks an exception in the stream and the corresponding "EXCEPTION" field contains a related message.
  • Constructor Details

    • Tuple

      public Tuple()
    • Tuple

      public Tuple(String k1, Object v1)
    • Tuple

      public Tuple(String k1, Object v1, String k2, Object v2)
    • Tuple

      public Tuple(Map<String,?> fields)
      A copy constructor.
      Parameters:
      fields - map containing keys and values to be copied to this tuple
    • Tuple

      public Tuple(Tuple original)
      A copy constructor
      Parameters:
      original - Tuple that will be copied
  • Method Details

    • get

      public Object get(String key)
    • put

      public void put(String key, Object value)
    • putAll

      public void putAll(Map<String,?> fields)
    • remove

      public void remove(String key)
    • getString

      public String getString(String key)
    • getException

      public String getException()
    • getLong

      public Long getLong(String key)
    • getBool

      public Boolean getBool(String key)
    • getBools

      public List<Boolean> getBools(String key)
    • getDate

      public Date getDate(String key)
    • getDates

      public List<Date> getDates(String key)
    • getDouble

      public Double getDouble(String key)
    • getStrings

      public List<String> getStrings(String key)
    • getLongs

      public List<Long> getLongs(String key)
    • getDoubles

      public List<Double> getDoubles(String key)
    • getFields

      public Map<String,Object> getFields()
      Return all tuple fields and their values.
    • getFieldLabels

      public Map<String,String> getFieldLabels()
      This represents the mapping of external field labels to the tuple's internal field names if they are different from field names.
      Returns:
      field labels or null
    • setFieldLabels

      public void setFieldLabels(Map<String,String> fieldLabels)
    • getFieldNames

      public List<String> getFieldNames()
      A list of field names to serialize. This list (together with the mapping in getFieldLabels()) determines what tuple values are serialized and their external (serialized) names.
      Returns:
      list of external field names or null
    • setFieldNames

      public void setFieldNames(List<String> fieldNames)
    • getMaps

      public List<Map<?,?>> getMaps(String key)
    • setMaps

      public void setMaps(String key, List<Map<?,?>> maps)
    • getMetrics

      public Map<String,Map<?,?>> getMetrics()
    • setMetrics

      public void setMetrics(Map<String,Map<?,?>> metrics)
    • clone

      public Tuple clone()
      Overrides:
      clone in class Object
    • merge

      public void merge(Tuple other)
      The other tuples fields and fieldLabels will be merged via putAll directly into this Tuple's fields and fieldLabels while other's fieldNames will be added such that duplicates aren't present.
      Parameters:
      other - Tuple to be merged into this.
    • writeMap

      public void writeMap(org.apache.solr.common.MapWriter.EntryWriter ew) throws IOException
      Specified by:
      writeMap in interface org.apache.solr.common.MapWriter
      Throws:
      IOException
    • EOF

      public static Tuple EOF()
      Create a new empty tuple marked as EOF.
    • EXCEPTION

      public static Tuple EXCEPTION(String msg, boolean isEOF)
      Create a new empty tuple marked as EXCEPTION, and optionally EOF.
      Parameters:
      msg - exception message
      isEOF - if true the tuple will be marked as EOF
    • EXCEPTION

      public static Tuple EXCEPTION(Throwable t, boolean isEOF)
      Create a new empty tuple marked as EXCEPTION and optionally EOF.
      Parameters:
      t - exception - full stack trace will be used as an exception message
      isEOF - if true the tuple will be marked as EOF