Annotation Type ExplicitProjectionFieldConfiguration


  • @Target(FIELD)
    @Retention(RUNTIME)
    @Documented
    public @interface ExplicitProjectionFieldConfiguration
    Control aspects of how the system will treat fields exposed in an auto generated projection.
    Author:
    Jeff Fischer
    See Also:
    ProjectionFactory
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      Class<? extends com.fasterxml.jackson.databind.JsonDeserializer> contentUsingDeserializer
      Exposes the JsonDeserialize annotation on the field in the projection with the contentUsing parameter.
      Class<? extends com.fasterxml.jackson.databind.JsonSerializer> contentUsingSerializer
      Exposes the JsonSerialize annotation on the field in the projection with the contentUsing parameter.
      boolean ignore
      Whether or not to include a field from a domain class into the projection
      Class<? extends com.fasterxml.jackson.databind.KeyDeserializer> keyUsingDeserializer
      Exposes the JsonDeserialize annotation on the field in the projection with the keyUsing parameter.
      Class<? extends com.fasterxml.jackson.databind.JsonSerializer> keyUsingSerializer
      Exposes the JsonSerialize annotation on the field in the projection with the keyUsing parameter.
      boolean requestOnly
      Whether or not this field should be marked as part of the request only.
      boolean responseOnly
      Whether or not this field should be marked as part of the response only.
      Class<? extends com.fasterxml.jackson.databind.JsonDeserializer> usingDeserializer
      Exposes the JsonDeserialize annotation on the field in the projection with the using parameter.
      Class<? extends com.fasterxml.jackson.databind.JsonSerializer> usingSerializer
      Exposes the JsonSerialize annotation on the field in the projection with the using parameter.
    • Element Detail

      • ignore

        boolean ignore
        Whether or not to include a field from a domain class into the projection
        Returns:
        Whether or not to include the field
        Default:
        false
      • requestOnly

        boolean requestOnly
        Whether or not this field should be marked as part of the request only. Such fields will receive a JsonView annotation targeting the RequestView class. These fields will not be included in JSON exiting the endpoint call.
        Returns:
        Whether or not this field should be marked as part of the request only.
        Default:
        false
      • responseOnly

        boolean responseOnly
        Whether or not this field should be marked as part of the response only. Such fields will receive a JsonView annotation targeting the ResponseView class. These fields will not be mapped into the incoming projection, but will be exposed on the JSON exiting the endpoint call.
        Returns:
        Whether or not this field should be marked as part of the response only.
        Default:
        false
      • usingSerializer

        Class<? extends com.fasterxml.jackson.databind.JsonSerializer> usingSerializer
        Exposes the JsonSerialize annotation on the field in the projection with the using parameter.
        See Also:
        JsonSerialize.using()
        Default:
        com.fasterxml.jackson.databind.JsonSerializer.None.class
      • contentUsingSerializer

        Class<? extends com.fasterxml.jackson.databind.JsonSerializer> contentUsingSerializer
        Exposes the JsonSerialize annotation on the field in the projection with the contentUsing parameter.
        See Also:
        JsonSerialize.contentUsing()
        Default:
        com.fasterxml.jackson.databind.JsonSerializer.None.class
      • keyUsingSerializer

        Class<? extends com.fasterxml.jackson.databind.JsonSerializer> keyUsingSerializer
        Exposes the JsonSerialize annotation on the field in the projection with the keyUsing parameter.
        See Also:
        JsonSerialize.keyUsing()
        Default:
        com.fasterxml.jackson.databind.JsonSerializer.None.class
      • usingDeserializer

        Class<? extends com.fasterxml.jackson.databind.JsonDeserializer> usingDeserializer
        Exposes the JsonDeserialize annotation on the field in the projection with the using parameter.
        See Also:
        JsonDeserialize.using()
        Default:
        com.fasterxml.jackson.databind.JsonDeserializer.None.class
      • contentUsingDeserializer

        Class<? extends com.fasterxml.jackson.databind.JsonDeserializer> contentUsingDeserializer
        Exposes the JsonDeserialize annotation on the field in the projection with the contentUsing parameter.
        See Also:
        JsonDeserialize.contentUsing()
        Default:
        com.fasterxml.jackson.databind.JsonDeserializer.None.class
      • keyUsingDeserializer

        Class<? extends com.fasterxml.jackson.databind.KeyDeserializer> keyUsingDeserializer
        Exposes the JsonDeserialize annotation on the field in the projection with the keyUsing parameter.
        See Also:
        JsonDeserialize.keyUsing()
        Default:
        com.fasterxml.jackson.databind.KeyDeserializer.None.class