View Javadoc
1   package net.rakugakibox.spring.boot.orika;
2   
3   import java.util.Optional;
4   
5   import lombok.Data;
6   import ma.glasnost.orika.impl.DefaultMapperFactory.MapperFactoryBuilder;
7   import org.springframework.boot.context.properties.ConfigurationProperties;
8   
9   /**
10   * The configuration properties for Orika.
11   */
12  @Data
13  @ConfigurationProperties("orika")
14  public class OrikaProperties {
15  
16      /**
17       * Whether to enable auto-configuration.
18       * Defaults to {@code true}.
19       */
20      private Boolean enabled = true;
21  
22      /**
23       * Whether to use built-in converters.
24       * Follows Orika's behavior by default.
25       *
26       * @see MapperFactoryBuilder#useBuiltinConverters(boolean)
27       */
28      private Optional<Boolean> useBuiltinConverters = Optional.empty();
29  
30      /**
31       * Whether to use auto-mapping.
32       * Follows Orika's behavior by default.
33       *
34       * @see MapperFactoryBuilder#useAutoMapping(boolean)
35       */
36      private Optional<Boolean> useAutoMapping = Optional.empty();
37  
38      /**
39       * Whether to map null values.
40       * Follows Orika's behavior by default.
41       *
42       * @see MapperFactoryBuilder#mapNulls(boolean)
43       */
44      private Optional<Boolean> mapNulls = Optional.empty();
45  
46      /**
47       * Whether to dump the current state of the mapping infrastructure objects
48       * upon occurrence of an exception while mapping.
49       * Follows Orika's behavior by default.
50       *
51       * @see MapperFactoryBuilder#dumpStateOnException(boolean)
52       */
53      private Optional<Boolean> dumpStateOnException = Optional.empty();
54  
55      /**
56       * Whether the class-map should be considered 'abstract'.
57       * Follows Orika's behavior by default.
58       *
59       * @see MapperFactoryBuilder#favorExtension(boolean)
60       */
61      private Optional<Boolean> favorExtension = Optional.empty();
62  
63      /**
64       * Whether full field context should be captured.
65       * Follows Orika's behavior by default.
66       *
67       * @see MapperFactoryBuilder#captureFieldContext(boolean)
68       */
69      private Optional<Boolean> captureFieldContext = Optional.empty();
70  
71  }