Class FieldResponseProcessor<T extends Output<T>>

java.lang.Object
org.tribuo.data.columnar.processors.response.FieldResponseProcessor<T>
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>, ResponseProcessor<T>

public class FieldResponseProcessor<T extends Output<T>> extends Object implements ResponseProcessor<T>
A response processor that returns the value(s) in a given (set of) fields.

We support specifying field names and default values both singly through fieldName and defaultValue and in a list through fieldNames and defaultValues. The constructors and configuration preprocessing have differing behaviors based on which fields are populated:

  • fieldNames and defaultValues are both populated and the same length: fieldNames[i]'s defaultValue is defaultValues[i]
  • fieldNames and defaultValue are both populated: defaultValue is broadcast across all fieldNames
  • fieldName and defaultValue are both populated: fieldNames[0] == fieldName, defaultValues[0] == defaultValue
All other settings are invalid.
  • Constructor Details

    • FieldResponseProcessor

      public FieldResponseProcessor(String fieldName, String defaultValue, OutputFactory<T> outputFactory)
      Constructs a response processor which passes the field value through the output factory. Uppercases the value before generating the output.
      Parameters:
      fieldName - The field to read.
      defaultValue - The default value to extract if it's not found.
      outputFactory - The output factory to use.
    • FieldResponseProcessor

      public FieldResponseProcessor(List<String> fieldNames, String defaultValue, OutputFactory<T> outputFactory)
      Constructs a response processor which passes the field value through the output factory. Uppercases the value before generating the output.
      Parameters:
      fieldNames - The fields to read.
      defaultValue - The default value to extract if it's not found.
      outputFactory - The output factory to use.
    • FieldResponseProcessor

      public FieldResponseProcessor(List<String> fieldNames, List<String> defaultValues, OutputFactory<T> outputFactory)
      Constructs a response processor which passes the field value through the output factory. fieldNames and defaultValues must be the same length. Uppercases the value before generating the output.
      Parameters:
      fieldNames - The field to read.
      defaultValues - The default value to extract if it's not found.
      outputFactory - The output factory to use.
    • FieldResponseProcessor

      public FieldResponseProcessor(List<String> fieldNames, List<String> defaultValues, OutputFactory<T> outputFactory, boolean displayField)
      Constructs a response processor which passes the field value through the output factory. fieldNames and defaultValues must be the same length. Uppercases the value before generating the output.
      Parameters:
      fieldNames - The field to read.
      defaultValues - The default value to extract if it's not found.
      outputFactory - The output factory to use.
      displayField - whether to include field names in the generated labels.
    • FieldResponseProcessor

      public FieldResponseProcessor(List<String> fieldNames, List<String> defaultValues, OutputFactory<T> outputFactory, boolean displayField, boolean uppercase)
      Constructs a response processor which passes the field value through the output factory. fieldNames and defaultValues must be the same length.
      Parameters:
      fieldNames - The field to read.
      defaultValues - The default value to extract if it's not found.
      outputFactory - The output factory to use.
      displayField - Whether to include field names in the generated output.
      uppercase - Whether to uppercase the value before generating the output.
  • Method Details

    • postConfig

      public void postConfig()
      Specified by:
      postConfig in interface com.oracle.labs.mlrg.olcut.config.Configurable
    • setFieldName

      @Deprecated public void setFieldName(String fieldName)
      Deprecated.
      Specified by:
      setFieldName in interface ResponseProcessor<T extends Output<T>>
      Parameters:
      fieldName - The field name.
    • getOutputFactory

      public OutputFactory<T> getOutputFactory()
      Description copied from interface: ResponseProcessor
      Gets the OutputFactory this ResponseProcessor uses.
      Specified by:
      getOutputFactory in interface ResponseProcessor<T extends Output<T>>
      Returns:
      The output factory.
    • getFieldName

      @Deprecated public String getFieldName()
      Deprecated.
      Specified by:
      getFieldName in interface ResponseProcessor<T extends Output<T>>
      Returns:
      The field name.
    • process

      @Deprecated public Optional<T> process(String value)
      Deprecated.
      Specified by:
      process in interface ResponseProcessor<T extends Output<T>>
      Parameters:
      value - The value to process.
      Returns:
      The response value if found.
    • process

      public Optional<T> process(List<String> values)
      Description copied from interface: ResponseProcessor
      Returns Optional.empty() if it failed to process out a response.This method has a default implementation for backwards compatibility with Tribuo 4.0 and 4.1. This method should be overridden by code which depends on newer versions of Tribuo. The default implementation will be removed when the deprecated members are removed. Unless is is overridden it will throw an IllegalArgumentException when called with multiple values.
      Specified by:
      process in interface ResponseProcessor<T extends Output<T>>
      Parameters:
      values - The value to process.
      Returns:
      The response values if found.
    • getFieldNames

      public List<String> getFieldNames()
      Description copied from interface: ResponseProcessor
      Gets the field names this ResponseProcessor uses.
      Specified by:
      getFieldNames in interface ResponseProcessor<T extends Output<T>>
      Returns:
      The field names.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getProvenance

      public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()
      Specified by:
      getProvenance in interface com.oracle.labs.mlrg.olcut.provenance.Provenancable<T extends Output<T>>