/*************************************** * * * JBoss: The OpenSource J2EE WebOS * * * * Distributable under LGPL license. * * See terms of license at gnu.org. * * * ***************************************/ package org.jboss.util.coerce; import org.jboss.util.CoercionException; import org.jboss.util.NotCoercibleException; import java.io.File; /** * A java.io.File coercion handler. * * @version $Revision: 1.1 $ * @author Jason Dillon */ public class FileHandler extends BoundCoercionHandler { /** * Get the target class type for this CoercionHandler. * * @return Class type. */ public Class getType() { return File.class; } /** * Coerces the given value into the given type (which should be * File). * *
This currently only support coercion from a String * * @param value Value to coerce. * @param type File. * @return Value coerced into a File. * * @throws CoercionException Failed to coerce. */ public Object coerce(Object value, Class type) throws CoercionException { if (value.getClass().equals(String.class)) { return coerce((String)value); } throw new NotCoercibleException(value); } /** * Coerces the given String into a File by creating attempting * to create a new file for the given filename. * * @param value The name of the file to create. * @return File * * @throws NotCoercibleException Failed to create file. */ public Object coerce(String value) { return new File(value); } }