org.jasypt.hibernate.type
Class EncryptedDateAsStringType

Object
  extended by org.jasypt.hibernate.type.AbstractEncryptedAsStringType
      extended by org.jasypt.hibernate.type.EncryptedDateAsStringType
All Implemented Interfaces:
org.hibernate.usertype.ParameterizedType, org.hibernate.usertype.UserType

public final class EncryptedDateAsStringType
extends AbstractEncryptedAsStringType

A Hibernate 3 UserType implementation which allows encryption of Date values into String (VARCHAR) database fields during persistence of entities.

This class is intended only for declarative use from a Hibernate mapping file. Do not use it directly from your .java files (although of course you can use it when mapping entities using annotations).

To use this Hibernate type in one of your Hibernate mappings, you can add it like this:

  <hibernate-mapping package="myapp">
    ...
    <typedef name="encryptedDateAsString" class="org.jasypt.hibernate.type.EncryptedDateAsStringType">
      <param name="encryptorRegisteredName">myHibernateStringEncryptor</param>
    </typedef>
    ...
    <class name="UserData" table="USER_DATA">
      ...
      <property name="birth" column="BIRTH" type="encryptedDateAsString" />
      ...
    <class>
    ...
  <hibernate-mapping>
 

...where a HibernatePBEStringEncryptor object should have been previously registered to be used from Hibernate with name myHibernateStringEncryptor (see HibernatePBEStringEncryptor and HibernatePBEEncryptorRegistry).

Or, if you prefer to avoid registration of encryptors, you can configure your encryptor directly in the mapping file (although not recommended), like this:

  <hibernate-mapping package="myapp">
    ...
    <typedef name="encryptedDateAsString" class="org.jasypt.hibernate.type.EncryptedDateAsStringType">
      <param name="algorithm">PBEWithMD5AndTripleDES</param>
      <param name="password">XXXXX</param>
      <param name="keyObtentionIterations">1000</param>
    </typedef>
    ...
    <class name="UserData" table="USER_DATA">
      ...
      <property name="birth" column="BIRTH" type="encryptedDateAsString" />
      ...
    <class>
    ...
  <hibernate-mapping>
 

To learn more about usage of user-defined types, please refer to the Hibernate Reference Documentation.

Since:
1.2
Author:
Daniel Fernández

Field Summary
 
Fields inherited from class org.jasypt.hibernate.type.AbstractEncryptedAsStringType
encryptor
 
Constructor Summary
EncryptedDateAsStringType()
           
 
Method Summary
protected  Object convertToObject(String string)
          Converts given String to its Object form.
protected  String convertToString(Object object)
          Converts given Object to its String form.
 Class returnedClass()
           
 
Methods inherited from class org.jasypt.hibernate.type.AbstractEncryptedAsStringType
assemble, checkInitialization, deepCopy, disassemble, equals, hashCode, isMutable, nullSafeGet, nullSafeSet, replace, setParameterValues, sqlTypes
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EncryptedDateAsStringType

public EncryptedDateAsStringType()
Method Detail

convertToObject

protected Object convertToObject(String string)
Description copied from class: AbstractEncryptedAsStringType
Converts given String to its Object form.

Specified by:
convertToObject in class AbstractEncryptedAsStringType
Parameters:
string - the string value
Returns:
the object form of the passed String
See Also:
AbstractEncryptedAsStringType.convertToObject(java.lang.String)

convertToString

protected String convertToString(Object object)
Description copied from class: AbstractEncryptedAsStringType
Converts given Object to its String form.

Overrides:
convertToString in class AbstractEncryptedAsStringType
Parameters:
object - the object value
Returns:
the string form of the passes Object
See Also:
AbstractEncryptedAsStringType.convertToString(java.lang.Object)

returnedClass

public Class returnedClass()
Specified by:
returnedClass in interface org.hibernate.usertype.UserType
Specified by:
returnedClass in class AbstractEncryptedAsStringType


Copyright © 2011 The JASYPT team. All Rights Reserved.