src/core/net/sf/basedb/util/formatter/ToStringFormatter.java

Code
Comments
Other
Rev Date Author Line
2942 22 Nov 06 nicklas 1 /**
2942 22 Nov 06 nicklas 2   $Id$
2942 22 Nov 06 nicklas 3
3675 16 Aug 07 jari 4   Copyright (C) 2006 Nicklas Nordborg
2942 22 Nov 06 nicklas 5
2942 22 Nov 06 nicklas 6   This file is part of BASE - BioArray Software Environment.
2942 22 Nov 06 nicklas 7   Available at http://base.thep.lu.se/
2942 22 Nov 06 nicklas 8
2942 22 Nov 06 nicklas 9   BASE is free software; you can redistribute it and/or
2942 22 Nov 06 nicklas 10   modify it under the terms of the GNU General Public License
4479 05 Sep 08 jari 11   as published by the Free Software Foundation; either version 3
2942 22 Nov 06 nicklas 12   of the License, or (at your option) any later version.
2942 22 Nov 06 nicklas 13
2942 22 Nov 06 nicklas 14   BASE is distributed in the hope that it will be useful,
2942 22 Nov 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
2942 22 Nov 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2942 22 Nov 06 nicklas 17   GNU General Public License for more details.
2942 22 Nov 06 nicklas 18
2942 22 Nov 06 nicklas 19   You should have received a copy of the GNU General Public License
4515 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
2942 22 Nov 06 nicklas 21 */
2942 22 Nov 06 nicklas 22 package net.sf.basedb.util.formatter;
2942 22 Nov 06 nicklas 23
7650 14 Mar 19 nicklas 24 import net.sf.basedb.util.excel.ExcelFormatter;
7650 14 Mar 19 nicklas 25 import net.sf.basedb.util.excel.ExcelValue;
2942 22 Nov 06 nicklas 26
2942 22 Nov 06 nicklas 27 /**
2942 22 Nov 06 nicklas 28    A generic formatter that simply formats objects by calling the
2942 22 Nov 06 nicklas 29    toString() method. Null values are converted to the empty string.
2942 22 Nov 06 nicklas 30    
2942 22 Nov 06 nicklas 31   @author nicklas
2942 22 Nov 06 nicklas 32   @version 2.0
2942 22 Nov 06 nicklas 33   @base.modified $Date$
2942 22 Nov 06 nicklas 34 */
4544 25 Sep 08 nicklas 35 public class ToStringFormatter<T>
7650 14 Mar 19 nicklas 36   implements Formatter<T>, ExcelFormatter<T, String>
2942 22 Nov 06 nicklas 37 {
2942 22 Nov 06 nicklas 38
2942 22 Nov 06 nicklas 39   /**
2942 22 Nov 06 nicklas 40     Create a new integer formatter.
2942 22 Nov 06 nicklas 41   */
2942 22 Nov 06 nicklas 42   public ToStringFormatter()
2942 22 Nov 06 nicklas 43   {}
2942 22 Nov 06 nicklas 44   
2942 22 Nov 06 nicklas 45   /*
2942 22 Nov 06 nicklas 46     From the Formatter interface
2942 22 Nov 06 nicklas 47     -------------------------------------------
2942 22 Nov 06 nicklas 48   */
6127 14 Sep 12 nicklas 49   @Override
4544 25 Sep 08 nicklas 50   public String format(T value)
2942 22 Nov 06 nicklas 51   {
2942 22 Nov 06 nicklas 52     return value == null ? "" : value.toString();
2942 22 Nov 06 nicklas 53   }
6127 14 Sep 12 nicklas 54   @Override
4544 25 Sep 08 nicklas 55   public T parseString(String value)
2942 22 Nov 06 nicklas 56   {
2942 22 Nov 06 nicklas 57     throw new UnsupportedOperationException("parseString");
2942 22 Nov 06 nicklas 58   }
2942 22 Nov 06 nicklas 59   // -------------------------------------------
2942 22 Nov 06 nicklas 60
7650 14 Mar 19 nicklas 61   /**
7650 14 Mar 19 nicklas 62     @since 3.15
7650 14 Mar 19 nicklas 63   */
7650 14 Mar 19 nicklas 64   @Override
7650 14 Mar 19 nicklas 65   public ExcelValue<String> toExcelValue(T value) 
7650 14 Mar 19 nicklas 66   {
7650 14 Mar 19 nicklas 67     return value == null ? ExcelValue.emptyCell() : ExcelValue.asString(format(value));
7650 14 Mar 19 nicklas 68   }
7650 14 Mar 19 nicklas 69
2942 22 Nov 06 nicklas 70 }