org.jasypt.hibernate5.type

## Class EncryptedCalendarAsStringType

- Object
- - org.jasypt.hibernate5.type.AbstractEncryptedAsStringType
  - - org.jasypt.hibernate5.type.EncryptedCalendarAsStringType

- All Implemented Interfaces:
    org.hibernate.usertype.ParameterizedType, org.hibernate.usertype.UserType

      public final class EncryptedCalendarAsStringType
      extends AbstractEncryptedAsStringType

  A Hibernate `UserType` implementation which allows encryption of Calendar 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="encryptedCalendarAsString" class="org.jasypt.hibernate.type.EncryptedCalendarAsStringType">
            <param name="encryptorRegisteredName">myHibernateStringEncryptor</param>
            <param name="storeTimeZone">true</param>
          </typedef>
          ...
          <class name="UserData" table="USER_DATA">
            ...
            <property name="birth" column="BIRTH" type="encryptedCalendarAsString" />
            ...
          <class>
          ...
        <hibernate-mapping>

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

  The boolean `storeTimeZone` parameter allows the Calendar to be re-created with the same TimeZone that it was created. This is an optional parameter, and its default value is FALSE.

  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="encryptedCalendarAsString" class="org.jasypt.hibernate.type.EncryptedCalendarAsStringType">
            <param name="algorithm">PBEWithMD5AndTripleDES</param>
            <param name="password">XXXXX</param>
            <param name="keyObtentionIterations">1000</param>
            <param name="storeTimeZone">true</param>
          </typedef>
          ...
          <class name="UserData" table="USER_DATA">
            ...
            <property name="birth" column="BIRTH" type="encryptedCalendarAsString" />
            ...
          <class>
          ...
        <hibernate-mapping>

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

  Since:
    1.9.0
  Author:
    Chus Picos

- - ### Field Summary

    - ### Fields inherited from class org.jasypt.hibernate5.type.AbstractEncryptedAsStringType

      `encryptor`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EncryptedCalendarAsStringType()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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()`
    `void` | `setParameterValues(Properties parameters)`

    - ### Methods inherited from class org.jasypt.hibernate5.type.AbstractEncryptedAsStringType

      `assemble, checkInitialization, deepCopy, disassemble, equals, hashCode, isMutable, nullSafeGet, nullSafeSet, replace, sqlTypes`

    - ### Methods inherited from class Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EncryptedCalendarAsStringType

          public EncryptedCalendarAsStringType()

  - ### 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:
        `org.jasypt.hibernate.type.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:
        `org.jasypt.hibernate.type.AbstractEncryptedAsStringType#convertToString(java.lang.Object)`

    - #### setParameterValues

          public void setParameterValues(Properties parameters)

      Specified by:
        `setParameterValues` in interface `org.hibernate.usertype.ParameterizedType`
      Overrides:
        `setParameterValues` in class `AbstractEncryptedAsStringType`

    - #### returnedClass

          public Class returnedClass()

      Specified by:
        `returnedClass` in interface `org.hibernate.usertype.UserType`
      Specified by:
        `returnedClass` in class `AbstractEncryptedAsStringType`

Copyright © 2019 The JASYPT team. All rights reserved.