1 package com.fasterxml.jackson.databind.cfg; 2 3 import java.util.Arrays; 4 5 /** 6 * @since 2.12 7 */ 8 public class CoercionConfig 9 implements java.io.Serializable 10 { 11 private static final long serialVersionUID = 1L; 12 13 private final static int INPUT_SHAPE_COUNT = CoercionInputShape.values().length; 14 15 protected Boolean _acceptBlankAsEmpty; 16 17 /** 18 * Mapping from {@link CoercionInputShape} into corresponding 19 * {@link CoercionAction}. 20 */ 21 protected final CoercionAction[] _coercionsByShape; 22 CoercionConfig()23 public CoercionConfig() { 24 _coercionsByShape = new CoercionAction[INPUT_SHAPE_COUNT]; 25 _acceptBlankAsEmpty = false; 26 } 27 CoercionConfig(CoercionConfig src)28 protected CoercionConfig(CoercionConfig src) { 29 _acceptBlankAsEmpty = src._acceptBlankAsEmpty; 30 _coercionsByShape = Arrays.copyOf(src._coercionsByShape, 31 src._coercionsByShape.length); 32 } 33 findAction(CoercionInputShape shape)34 public CoercionAction findAction(CoercionInputShape shape) { 35 return _coercionsByShape[shape.ordinal()]; 36 } 37 getAcceptBlankAsEmpty()38 public Boolean getAcceptBlankAsEmpty() { 39 return _acceptBlankAsEmpty; 40 } 41 } 42