com.holonplatform.datastore.jpa.jpql

## Interface JPQLValueDeserializer

-     public interface JPQLValueDeserializer

  JPA values deserializaer.
  Since:
    5.1.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `JPQLValueDeserializer.ValueProcessor` Processor to process a value before actual deserialization.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addValueProcessor(JPQLValueDeserializer.ValueProcessor valueProcessor)` Add a deserialized value processor.
    `<T> T` | `deserialize(JpaExecutionContext context, com.holonplatform.core.TypedExpression<T> expression, Object value)` Deserialize the `value` associated to given `expression`, to obtain a value type which matches the expression type.
    `static JPQLValueDeserializer` | `getDefault()` Create the default `JPQLValueDeserializer`.

- - ### Method Detail

    - #### deserialize

          <T> T deserialize(JpaExecutionContext context,
                            com.holonplatform.core.TypedExpression<T> expression,
                            Object value)
                     throws com.holonplatform.core.exceptions.DataAccessException

      Deserialize the `value` associated to given `expression`, to obtain a value type which matches the expression type.
      Type Parameters:
        `T` - Expression type
      Parameters:
        `context` - Execution context
        `expression` - Expression for which the deserialization is invoked
        `value` - Value to deserialize
      Returns:
        Deserialized value
      Throws:
        `com.holonplatform.core.exceptions.DataAccessException` - If value cannot be deserialized using given expression type

    - #### addValueProcessor

          void addValueProcessor(JPQLValueDeserializer.ValueProcessor valueProcessor)

      Add a deserialized value processor.
      Parameters:
        `valueProcessor` - the value processor to add (not null)

    - #### getDefault

          static JPQLValueDeserializer getDefault()

      Create the default `JPQLValueDeserializer`.
      Returns:
        the default `JPQLValueDeserializer`

Copyright © 2019 The Holon Platform. All rights reserved.