java.lang.Object
com.northconcepts.datapipeline.transform.Transformer
com.northconcepts.datapipeline.transform.SetField

public class SetField extends Transformer
A Transformer that sets a field on every record to a fixed value, creating the field if needed; when overwrite is false, records that already have the field are left unchanged. See FieldPath for supported field name expressions.
  • Constructor Details

    • SetField

      public SetField(String name, Object value, FieldType fieldType, boolean overwrite)
      Creates a transformer that sets the field (created if missing) to value unless it exists and overwrite is false; a null value is stored as a null of fieldType.
    • SetField

      public SetField(FieldPath name, Object value, FieldType fieldType, boolean overwrite)
      Creates a transformer that sets the field (created if missing) to value unless it exists and overwrite is false; a null value is stored as a null of fieldType.
    • SetField

      public SetField(String name, Object value, FieldType fieldType)
      Creates a transformer that sets the field to value, overwriting any existing value; a null value is stored as a null of fieldType.
    • SetField

      public SetField(String name, String value, boolean overwrite)
    • SetField

      public SetField(String name, Date value, boolean overwrite)
    • SetField

      public SetField(String name, Date value, boolean overwrite)
    • SetField

      public SetField(String name, Time value, boolean overwrite)
    • SetField

      public SetField(String name, Instant value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.util.Date unless it exists and overwrite is false.
    • SetField

      public SetField(String name, LocalDateTime value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.util.Date in the default time zone unless it exists and overwrite is false.
    • SetField

      public SetField(String name, LocalDate value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.sql.Date unless it exists and overwrite is false.
    • SetField

      public SetField(String name, LocalTime value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.sql.Time unless it exists and overwrite is false.
    • SetField

      public SetField(String name, Integer value, boolean overwrite)
    • SetField

      public SetField(String name, Long value, boolean overwrite)
    • SetField

      public SetField(String name, BigInteger value, boolean overwrite)
    • SetField

      public SetField(String name, Short value, boolean overwrite)
    • SetField

      public SetField(String name, Byte value, boolean overwrite)
    • SetField

      public SetField(String name, Boolean value, boolean overwrite)
    • SetField

      public SetField(String name, Character value, boolean overwrite)
    • SetField

      public SetField(String name, Double value, boolean overwrite)
    • SetField

      public SetField(String name, BigDecimal value, boolean overwrite)
    • SetField

      public SetField(String name, Float value, boolean overwrite)
    • SetField

      public SetField(String name, byte[] value, boolean overwrite)
    • SetField

      public SetField(String name, UUID value, boolean overwrite)
    • SetField

      public SetField(String name, Object value, boolean overwrite)
      Creates a transformer that sets the field to value (an untyped null if null) unless it exists and overwrite is false.
    • SetField

      public SetField(String name, String value)
    • SetField

      public SetField(String name, UUID value)
    • SetField

      public SetField(String name, Date value)
    • SetField

      public SetField(String name, Date value)
    • SetField

      public SetField(String name, Time value)
    • SetField

      public SetField(String name, Instant value)
      Creates a transformer that sets the field to value as a java.util.Date, overwriting any existing value.
    • SetField

      public SetField(String name, LocalDateTime value)
      Creates a transformer that sets the field to value as a java.util.Date in the default time zone, overwriting any existing value.
    • SetField

      public SetField(String name, LocalDate value)
      Creates a transformer that sets the field to value as a java.sql.Date, overwriting any existing value.
    • SetField

      public SetField(String name, LocalTime value)
      Creates a transformer that sets the field to value as a java.sql.Time, overwriting any existing value.
    • SetField

      public SetField(String name, Integer value)
    • SetField

      public SetField(String name, Long value)
    • SetField

      public SetField(String name, BigInteger value)
    • SetField

      public SetField(String name, Short value)
    • SetField

      public SetField(String name, Byte value)
    • SetField

      public SetField(String name, Boolean value)
    • SetField

      public SetField(String name, Character value)
    • SetField

      public SetField(String name, Double value)
    • SetField

      public SetField(String name, BigDecimal value)
    • SetField

      public SetField(String name, Float value)
    • SetField

      public SetField(String name, byte[] value)
    • SetField

      public SetField(String name, Object value)
      Creates a transformer that sets the field to value (an untyped null if null), overwriting any existing value.
    • SetField

      public SetField(FieldPath name, Object value, FieldType fieldType)
      Creates a transformer that sets the field to value, overwriting any existing value; a null value is stored as a null of fieldType.
    • SetField

      public SetField(FieldPath name, String value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Date value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Date value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Time value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Instant value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.util.Date unless it exists and overwrite is false.
    • SetField

      public SetField(FieldPath name, LocalDateTime value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.util.Date in the default time zone unless it exists and overwrite is false.
    • SetField

      public SetField(FieldPath name, LocalDate value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.sql.Date unless it exists and overwrite is false.
    • SetField

      public SetField(FieldPath name, LocalTime value, boolean overwrite)
      Creates a transformer that sets the field to value as a java.sql.Time unless it exists and overwrite is false.
    • SetField

      public SetField(FieldPath name, Integer value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Long value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, BigInteger value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Short value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Byte value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Boolean value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Character value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Double value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, BigDecimal value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Float value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, byte[] value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, UUID value, boolean overwrite)
    • SetField

      public SetField(FieldPath name, Object value, boolean overwrite)
      Creates a transformer that sets the field to value (an untyped null if null) unless it exists and overwrite is false.
    • SetField

      public SetField(FieldPath name, String value)
    • SetField

      public SetField(FieldPath name, UUID value)
    • SetField

      public SetField(FieldPath name, Date value)
    • SetField

      public SetField(FieldPath name, Date value)
    • SetField

      public SetField(FieldPath name, Time value)
    • SetField

      public SetField(FieldPath name, Instant value)
      Creates a transformer that sets the field to value as a java.util.Date, overwriting any existing value.
    • SetField

      public SetField(FieldPath name, LocalDateTime value)
      Creates a transformer that sets the field to value as a java.util.Date in the default time zone, overwriting any existing value.
    • SetField

      public SetField(FieldPath name, LocalDate value)
      Creates a transformer that sets the field to value as a java.sql.Date, overwriting any existing value.
    • SetField

      public SetField(FieldPath name, LocalTime value)
      Creates a transformer that sets the field to value as a java.sql.Time, overwriting any existing value.
    • SetField

      public SetField(FieldPath name, Integer value)
    • SetField

      public SetField(FieldPath name, Long value)
    • SetField

      public SetField(FieldPath name, BigInteger value)
    • SetField

      public SetField(FieldPath name, Short value)
    • SetField

      public SetField(FieldPath name, Byte value)
    • SetField

      public SetField(FieldPath name, Boolean value)
    • SetField

      public SetField(FieldPath name, Character value)
    • SetField

      public SetField(FieldPath name, Double value)
    • SetField

      public SetField(FieldPath name, BigDecimal value)
    • SetField

      public SetField(FieldPath name, Float value)
    • SetField

      public SetField(FieldPath name, byte[] value)
    • SetField

      public SetField(FieldPath name, Object value)
      Creates a transformer that sets the field to value (an untyped null if null), overwriting any existing value.
  • Method Details

    • getName

      public String getName()
    • getValue

      public Object getValue()
    • getFieldType

      public FieldType getFieldType()
      Returns the type given to the field when the value is null.
    • getOverwrite

      public boolean getOverwrite()
    • transform

      public boolean transform(Record record) throws Throwable
      Description copied from class: Transformer
      Applies this transformer to a record on its way through a TransformingReader or TransformingWriter.

      Contract for subclasses (see also docs/authoring/Transformer.md):

      • Mutate record in place as needed.
      • Return true to keep the record in the pipeline.
      • Return false to drop the record (the host routes it to a discard writer if one is configured, otherwise it disappears).
      • Throw to fail (or route to a discard writer, depending on host configuration).
      • Do not call incrementRecordCount() on the host endpoint; the host handles it.
      Specified by:
      transform in class Transformer
      Throws:
      Throwable
    • toString

      public String toString()
      Overrides:
      toString in class Object