extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/converter/UpperBinConverter.java

Code
Comments
Other
Rev Date Author Line
4479 05 May 17 nicklas 1 package net.sf.basedb.reggie.converter;
4479 05 May 17 nicklas 2
4479 05 May 17 nicklas 3 /**
4479 05 May 17 nicklas 4   Value converter implementation for binning integer values
4479 05 May 17 nicklas 5   to an uper value.
4479 05 May 17 nicklas 6   
4479 05 May 17 nicklas 7   @author nicklas
4479 05 May 17 nicklas 8   @since 4.10
4479 05 May 17 nicklas 9 */
4479 05 May 17 nicklas 10 public class UpperBinConverter 
4479 05 May 17 nicklas 11   implements ValueConverter<Integer, Integer>
4479 05 May 17 nicklas 12 {
4479 05 May 17 nicklas 13
4479 05 May 17 nicklas 14   private final int binSize;
4479 05 May 17 nicklas 15   
4479 05 May 17 nicklas 16   /**
4479 05 May 17 nicklas 17     Creates a converter with the given bin size.
4479 05 May 17 nicklas 18   */
4479 05 May 17 nicklas 19   public UpperBinConverter(int binSize)
4479 05 May 17 nicklas 20   {
4479 05 May 17 nicklas 21     this.binSize = binSize;
4479 05 May 17 nicklas 22   }
4479 05 May 17 nicklas 23   
4479 05 May 17 nicklas 24   /*
4479 05 May 17 nicklas 25     From the ValueConverter interface
4479 05 May 17 nicklas 26     ---------------------------------
4479 05 May 17 nicklas 27   */
4479 05 May 17 nicklas 28   @Override
4479 05 May 17 nicklas 29   public Integer convert(Integer value) 
4479 05 May 17 nicklas 30   {
4479 05 May 17 nicklas 31     if (value == null) return null;
4479 05 May 17 nicklas 32     return binSize * (1 + (value - 1)/binSize);
4479 05 May 17 nicklas 33   }
4479 05 May 17 nicklas 34   // ----------------------------------
4479 05 May 17 nicklas 35
4479 05 May 17 nicklas 36 }