View Javadoc
1 package net.sf.flock.hibernate; 2 3 import java.net.MalformedURLException; 4 import java.net.URL; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 9 import net.sf.hibernate.Hibernate; 10 import net.sf.hibernate.HibernateException; 11 import net.sf.hibernate.UserType; 12 13 public class URLType implements UserType { 14 15 private final static int[] TYPES = new int[] { java.sql.Types.VARCHAR }; 16 17 /*** 18 * @see cirrus.hibernate.UserType#sqlTypes() 19 */ 20 public int[] sqlTypes() { 21 return TYPES; 22 } 23 24 /*** 25 * @see cirrus.hibernate.UserType#returnedClass() 26 */ 27 public Class returnedClass() { 28 return java.net.URL.class; 29 } 30 31 /*** 32 * @see cirrus.hibernate.UserType#equals(java.lang.Object, java.lang.Object) 33 */ 34 public boolean equals(Object x, Object y) { 35 if (x==y) return true; 36 if (x==null || y==null) return false; 37 return x.equals(y); 38 } 39 40 /*** 41 * @see cirrus.hibernate.UserType#nullSafeGet(java.sql.ResultSet, java.lang.String, java.lang.Object) 42 */ 43 public Object nullSafeGet(ResultSet rs, String[] names, Object o) throws HibernateException, SQLException { 44 String url = (String) Hibernate.STRING.nullSafeGet(rs, names[0]); 45 if (url==null) { 46 return null; 47 } 48 try { 49 return new URL(url); 50 } catch (MalformedURLException e) { 51 throw new HibernateException(e); 52 } 53 } 54 55 /*** 56 * @see cirrus.hibernate.UserType#nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int) 57 */ 58 public void nullSafeSet(PreparedStatement ps, Object value, int index) throws HibernateException, SQLException { 59 Hibernate.STRING.nullSafeSet(ps, value==null ? null : ((URL)value).toExternalForm(), index); 60 } 61 62 /*** 63 * @see cirrus.hibernate.UserType#deepCopy(java.lang.Object) 64 */ 65 public Object deepCopy(Object x) { 66 return x; 67 } 68 69 /*** 70 * @see cirrus.hibernate.UserType#isMutable() 71 */ 72 public boolean isMutable() { 73 return false; 74 } 75 76 }

This page was automatically generated by Maven