[ http://issues.apache.org/jira/browse/IBATIS-299?page=comments#action_12413986 ]
Ken Weiner commented on IBATIS-299: ----------------------------------- Added a wiki page to track custom handlers here: http://opensource.atlassian.com/confluence/oss/display/IBATIS/Type+Handler+Callbacks I still think it would be appropriate to include common handlers (analagous to Spring property editors shown here http://www.springframework.org/docs/api/org/springframework/beans/propertyeditors/package-summary.html) in the framework itself so people like me would have to write less custom code, but I respect your opinions. > Add a type mapper callback for java.net.URL > ------------------------------------------- > > Key: IBATIS-299 > URL: http://issues.apache.org/jira/browse/IBATIS-299 > Project: iBatis for Java > Type: Wish > Versions: 2.1.7 > Reporter: Ken Weiner > > It would be nice if iBATIS came with a TypeHandlerCallback implementation for > mapping URL object properties to their String representation stored in a > database field. Here is some code that could be used to implement this: > package com.ibatis.sqlmap.client.extensions; > import java.net.MalformedURLException; > import java.net.URL; > import java.sql.SQLException; > import java.sql.Types; > /** > * An iBATIS type handler callback for java.net.URLs that are mapped to > * Strings in the database. If a URL cannot be constructed based on the > * String, then the URL will be set to <code>null</code>. > * <p> > * @author Ken Weiner > */ > public class UrlTypeHandlerCallback implements TypeHandlerCallback { > public Object getResult(ResultGetter getter) throws SQLException { > String value = getter.getString(); > if (getter.wasNull()) { > return null; > } > return this.valueOf(value); > } > public void setParameter(ParameterSetter setter, Object parameter) throws > SQLException { > if (parameter == null) { > setter.setNull(Types.VARCHAR); > } else { > URL url = (URL) parameter; > setter.setString(url.toExternalForm()); > } > } > public Object valueOf(String s) { > URL url; > try { > url = new URL(s); > } catch (MalformedURLException e) { > url = null; > } > return url; > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira