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

Code
Comments
Other
Rev Date Author Line
5382 05 Aug 10 nicklas 1 /**
5382 05 Aug 10 nicklas 2   $Id $
5382 05 Aug 10 nicklas 3
5382 05 Aug 10 nicklas 4   Copyright (C) 2010 Nicklas Nordborg
5382 05 Aug 10 nicklas 5
5382 05 Aug 10 nicklas 6   This file is part of BASE - BioArray Software Environment.
5382 05 Aug 10 nicklas 7   Available at http://base.thep.lu.se/
5382 05 Aug 10 nicklas 8
5382 05 Aug 10 nicklas 9   BASE is free software; you can redistribute it and/or
5382 05 Aug 10 nicklas 10   modify it under the terms of the GNU General Public License
5382 05 Aug 10 nicklas 11   as published by the Free Software Foundation; either version 3
5382 05 Aug 10 nicklas 12   of the License, or (at your option) any later version.
5382 05 Aug 10 nicklas 13
5382 05 Aug 10 nicklas 14   BASE is distributed in the hope that it will be useful,
5382 05 Aug 10 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
5382 05 Aug 10 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5382 05 Aug 10 nicklas 17   GNU General Public License for more details.
5382 05 Aug 10 nicklas 18
5382 05 Aug 10 nicklas 19   You should have received a copy of the GNU General Public License
5382 05 Aug 10 nicklas 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5382 05 Aug 10 nicklas 21 */
5382 05 Aug 10 nicklas 22 package net.sf.basedb.util.formatter;
5382 05 Aug 10 nicklas 23
5382 05 Aug 10 nicklas 24 import net.sf.basedb.core.File;
5382 05 Aug 10 nicklas 25
5382 05 Aug 10 nicklas 26 /**
5382 05 Aug 10 nicklas 27    Formatter implementation that format {@link File} items
5382 05 Aug 10 nicklas 28    to their complete paths.
5382 05 Aug 10 nicklas 29    
5382 05 Aug 10 nicklas 30     @author Nicklas
5382 05 Aug 10 nicklas 31     @version 2.16
5382 05 Aug 10 nicklas 32     @base.modified $Date $
5382 05 Aug 10 nicklas 33  */
5382 05 Aug 10 nicklas 34 public class FilePathFormatter 
5382 05 Aug 10 nicklas 35   implements Formatter<File>
5382 05 Aug 10 nicklas 36 {
5382 05 Aug 10 nicklas 37   private String nullValue = "";
5382 05 Aug 10 nicklas 38
5382 05 Aug 10 nicklas 39   /**
5382 05 Aug 10 nicklas 40     Create a new formatter. Null values are formatted as an empty string.
5382 05 Aug 10 nicklas 41   */
5382 05 Aug 10 nicklas 42   public FilePathFormatter()
5382 05 Aug 10 nicklas 43   {}
5382 05 Aug 10 nicklas 44   
5382 05 Aug 10 nicklas 45   /**
5382 05 Aug 10 nicklas 46     Create a new formatter.
5382 05 Aug 10 nicklas 47     @param nullValue The string to return if a null item is 
5382 05 Aug 10 nicklas 48       passed to {@link #format(File)}
5382 05 Aug 10 nicklas 49   */
5382 05 Aug 10 nicklas 50   public FilePathFormatter(String nullValue)
5382 05 Aug 10 nicklas 51   {
5382 05 Aug 10 nicklas 52     this.nullValue = nullValue;
5382 05 Aug 10 nicklas 53   }
5382 05 Aug 10 nicklas 54   
5382 05 Aug 10 nicklas 55   /*
5382 05 Aug 10 nicklas 56     From the Formatter interface
5382 05 Aug 10 nicklas 57     -------------------------------------------
5382 05 Aug 10 nicklas 58   */
5382 05 Aug 10 nicklas 59   @Override
5382 05 Aug 10 nicklas 60   public String format(File file)
5382 05 Aug 10 nicklas 61   {    
5382 05 Aug 10 nicklas 62     return file == null ? nullValue : file.getPath().toString();
5382 05 Aug 10 nicklas 63   }
5382 05 Aug 10 nicklas 64
5382 05 Aug 10 nicklas 65   /**
5382 05 Aug 10 nicklas 66     @throws UnsupportedOperationException Always
5382 05 Aug 10 nicklas 67   */
5382 05 Aug 10 nicklas 68   @Override
5382 05 Aug 10 nicklas 69   public File parseString(String value)
5382 05 Aug 10 nicklas 70   {
5382 05 Aug 10 nicklas 71     throw new UnsupportedOperationException("parseString: " + value);
5382 05 Aug 10 nicklas 72   }
5382 05 Aug 10 nicklas 73   // -------------------------------------------
5382 05 Aug 10 nicklas 74
5382 05 Aug 10 nicklas 75 }