org.jasypt.hibernate4.type

## Class EncryptedBigIntegerType

- Object
- - org.jasypt.hibernate4.type.EncryptedBigIntegerType

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

      public final class EncryptedBigIntegerType
      extends Object
      implements org.hibernate.usertype.UserType, org.hibernate.usertype.ParameterizedType

  A Hibernate `UserType` implementation which allows transparent encryption of BigInteger values 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="encryptedBigInteger" class="org.jasypt.hibernate.type.EncryptedBigIntegerType">
            <param name="encryptorRegisteredName">myHibernateBigIntegerEncryptor</param>
          </typedef>
          ...
          <class name="UserData" table="USER_DATA">
            ...
            <property name="salary" column="SALARY" type="encryptedBigInteger" />
            ...
          <class>
          ...
        <hibernate-mapping>

  ...where a `HibernatePBEBigIntegerEncryptor` object should have been previously registered to be used from Hibernate with name `myHibernateBigIntegerEncryptor` (see `HibernatePBEBigIntegerEncryptor` 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="encryptedBigInteger" class="org.jasypt.hibernate.type.EncryptedBigIntegerType">
            <param name="algorithm">PBEWithMD5AndTripleDES</param>
            <param name="password">XXXXX</param>
            <param name="keyObtentionIterations">1000</param>
          </typedef>
          ...
          <class name="UserData" table="USER_DATA">
            ...
            <property name="address" column="ADDRESS" type="encryptedBigInteger" />
            ...
          <class>
          ...
        <hibernate-mapping>

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

  Since:
    1.9.0
  Author:
    Daniel Fernández

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EncryptedBigIntegerType()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `assemble(Serializable cached, Object owner)`
    `Object` | `deepCopy(Object value)`
    `Serializable` | `disassemble(Object value)`
    `boolean` | `equals(Object x, Object y)`
    `int` | `hashCode(Object x)`
    `boolean` | `isMutable()`
    `Object` | `nullSafeGet(ResultSet rs, String[] names, org.hibernate.engine.spi.SessionImplementor session, Object owner)`
    `void` | `nullSafeSet(PreparedStatement st, Object value, int index, org.hibernate.engine.spi.SessionImplementor session)`
    `Object` | `replace(Object original, Object target, Object owner)`
    `Class` | `returnedClass()`
    `void` | `setParameterValues(Properties parameters)`
    `int[]` | `sqlTypes()`

    - ### Methods inherited from class Object

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

- - ### Constructor Detail

    - #### EncryptedBigIntegerType

          public EncryptedBigIntegerType()

  - ### Method Detail

    - #### sqlTypes

          public int[] sqlTypes()

      Specified by:
        `sqlTypes` in interface `org.hibernate.usertype.UserType`

    - #### returnedClass

          public Class returnedClass()

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

    - #### 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`

    - #### deepCopy

          public Object deepCopy(Object value)
                          throws org.hibernate.HibernateException

      Specified by:
        `deepCopy` in interface `org.hibernate.usertype.UserType`
      Throws:
        `org.hibernate.HibernateException`

    - #### 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`

    - #### disassemble

          public Serializable disassemble(Object value)
                                   throws org.hibernate.HibernateException

      Specified by:
        `disassemble` in interface `org.hibernate.usertype.UserType`
      Throws:
        `org.hibernate.HibernateException`

    - #### isMutable

          public boolean isMutable()

      Specified by:
        `isMutable` in interface `org.hibernate.usertype.UserType`

    - #### hashCode

          public int hashCode(Object x)
                       throws org.hibernate.HibernateException

      Specified by:
        `hashCode` in interface `org.hibernate.usertype.UserType`
      Throws:
        `org.hibernate.HibernateException`

    - #### 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`

    - #### nullSafeGet

          public Object nullSafeGet(ResultSet rs,
                                    String[] names,
                                    org.hibernate.engine.spi.SessionImplementor session,
                                    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,
                                  org.hibernate.engine.spi.SessionImplementor session)
                           throws org.hibernate.HibernateException,
                                  SQLException

      Specified by:
        `nullSafeSet` in interface `org.hibernate.usertype.UserType`
      Throws:
        `org.hibernate.HibernateException`
        `SQLException`

    - #### setParameterValues

          public void setParameterValues(Properties parameters)

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

Copyright © 2019 The JASYPT team. All rights reserved.