Class LookupTableQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>

java.lang.Object
gda.util.converters.LookupTableQuantityConverter<S,T>
All Implemented Interfaces:
IConverter<javax.measure.Quantity<S>,javax.measure.Quantity<T>>, IQuantityConverter<S,T>

public final class LookupTableQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> extends Object implements IQuantityConverter<S,T>
Class to perform conversion between a Source and Target quantity using a lookup table
See Also:
  • Field Details

    • Mode_Both

      public static String Mode_Both
    • Mode_TtoS

      public static String Mode_TtoS
    • Mode_StoT

      public static String Mode_StoT
  • Constructor Details

    • LookupTableQuantityConverter

      public LookupTableQuantityConverter(String columnDataFileName, boolean filenameIsFull, int sColumn, int tColumn)
    • LookupTableQuantityConverter

      public LookupTableQuantityConverter(String columnDataFileName, boolean filenameIsFull, int sColumn, int tColumn, LookupTableQuantityConverter.Mode mode)
    • LookupTableQuantityConverter

      public LookupTableQuantityConverter(String columnDataFileName, boolean filenameIsFull, int sColumn, int tColumn, LookupTableQuantityConverter.Mode mode, boolean extrapolate)
  • Method Details

    • getMode

      public static LookupTableQuantityConverter.Mode getMode(String modeString)
    • getAcceptableSourceUnits

      public List<String> getAcceptableSourceUnits()
      Specified by:
      getAcceptableSourceUnits in interface IQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Returns:
      AcceptableSourceUnits
    • getAcceptableTargetUnits

      public List<String> getAcceptableTargetUnits()
      Specified by:
      getAcceptableTargetUnits in interface IQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Returns:
      AcceptableTargetUnits
    • toSource

      public javax.measure.Quantity<S> toSource(javax.measure.Quantity<T> target) throws Exception
      Description copied from interface: IConverter
      Calculates a value for Source given the value of the target
      Specified by:
      toSource in interface IConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Parameters:
      target -
      Returns:
      The value calculated from the value of the target *
      Throws:
      Exception
    • toTarget

      public javax.measure.Quantity<T> toTarget(javax.measure.Quantity<S> source) throws Exception
      Description copied from interface: IConverter
      Calculates a value for Target given the value of the source
      Specified by:
      toTarget in interface IConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Parameters:
      source -
      Returns:
      The value calculated from the value of the source
      Throws:
      Exception
    • toString

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

      public String getColumnDataFileName()
    • sourceMinIsTargetMax

      public boolean sourceMinIsTargetMax()
      Description copied from interface: IConverter
      Returns true is the conversion reverses the sense. So that to get the max of the source you convert the min of the target and vice versa
      Specified by:
      sourceMinIsTargetMax in interface IConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Returns:
      true is the conversion reverses the sense.
    • handlesStoT

      public boolean handlesStoT()
      Specified by:
      handlesStoT in interface IQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Returns:
      true if the converter converts from S to T
    • handlesTtoS

      public boolean handlesTtoS()
      Specified by:
      handlesTtoS in interface IQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
      Returns:
      true if the converter converts from T to S