org.jasig.portal.dao.usertype
Class BaseEscapedStringType

java.lang.Object
  extended by org.jasig.portal.dao.usertype.BaseEscapedStringType
All Implemented Interfaces:
org.hibernate.usertype.UserType
Direct Known Subclasses:
EscapedStringType, EscapedTextType

public class BaseEscapedStringType
extends Object
implements org.hibernate.usertype.UserType

Quotes all non-null strings to handle the case of null and "" being treated the same way in some databases. Based on http://www.hibernate.org/169.html

Version:
$Revision$
Author:
Eric Dalquist

Constructor Summary
BaseEscapedStringType(org.hibernate.type.NullableType type)
           
 
Method Summary
 Object assemble(Serializable cached, Object owner)
           
 Object deepCopy(Object value)
           
 Serializable disassemble(Object value)
           
 boolean equals(Object x, Object y)
           
protected  String escape(String string)
          Escape a string by quoting the string.
 int hashCode(Object x)
           
 boolean isMutable()
           
 Object nullSafeGet(ResultSet rs, String[] names, Object owner)
           
 void nullSafeSet(PreparedStatement st, Object value, int index)
           
 Object replace(Object original, Object target, Object owner)
           
 Class<?> returnedClass()
           
 int[] sqlTypes()
           
protected  Object unescape(String string)
          Unescape by removing the quotes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseEscapedStringType

public BaseEscapedStringType(org.hibernate.type.NullableType type)
Method Detail

assemble

public Object assemble(Serializable cached,
                       Object owner)
                throws org.hibernate.HibernateException
Specified by:
assemble in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

deepCopy

public Object deepCopy(Object value)
                throws org.hibernate.HibernateException
Specified by:
deepCopy in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

disassemble

public Serializable disassemble(Object value)
                         throws org.hibernate.HibernateException
Specified by:
disassemble in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

equals

public boolean equals(Object x,
                      Object y)
               throws org.hibernate.HibernateException
Specified by:
equals in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

hashCode

public int hashCode(Object x)
             throws org.hibernate.HibernateException
Specified by:
hashCode in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

isMutable

public boolean isMutable()
Specified by:
isMutable in interface org.hibernate.usertype.UserType

nullSafeGet

public Object nullSafeGet(ResultSet rs,
                          String[] names,
                          Object owner)
                   throws org.hibernate.HibernateException,
                          SQLException
Specified by:
nullSafeGet in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException
SQLException

nullSafeSet

public void nullSafeSet(PreparedStatement st,
                        Object value,
                        int index)
                 throws org.hibernate.HibernateException,
                        SQLException
Specified by:
nullSafeSet in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException
SQLException

replace

public Object replace(Object original,
                      Object target,
                      Object owner)
               throws org.hibernate.HibernateException
Specified by:
replace in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

returnedClass

public Class<?> returnedClass()
Specified by:
returnedClass in interface org.hibernate.usertype.UserType

sqlTypes

public int[] sqlTypes()
Specified by:
sqlTypes in interface org.hibernate.usertype.UserType

escape

protected String escape(String string)
Escape a string by quoting the string.


unescape

protected Object unescape(String string)
                   throws org.hibernate.HibernateException
Unescape by removing the quotes

Throws:
org.hibernate.HibernateException


Copyright © 2010 Jasig. All Rights Reserved.