@Override public ValueInstantiator findValueInstantiator(final DeserializationConfig config, final BeanDescription beanDesc, final ValueInstantiator defaultInstantiator) { final JavaType type = beanDesc.getType(); final Class<?> raw = type.getRawClass(); if (ZoneId.class.isAssignableFrom(raw) && defaultInstantiator instanceof StdValueInstantiator) { final StdValueInstantiator inst = (StdValueInstantiator) defaultInstantiator; final AnnotatedClass ac; if (raw == ZoneId.class) { ac = beanDesc.getClassInfo(); } else { ac = AnnotatedClassResolver.resolve(config, config.constructType(ZoneId.class), config); } if (!inst.canCreateFromString()) { final AnnotatedMethod factory = ZeroModule.this._findFactory(ac, "of", String.class); if (factory != null) { inst.configureFromStringCreator(factory); } } } return defaultInstantiator; } });
@Override public ValueInstantiator findValueInstantiator(final DeserializationConfig config, final BeanDescription beanDesc, final ValueInstantiator defaultInstantiator) { final JavaType type = beanDesc.getType(); final Class<?> raw = type.getRawClass(); if (ZoneId.class.isAssignableFrom(raw) && defaultInstantiator instanceof StdValueInstantiator) { final StdValueInstantiator inst = (StdValueInstantiator) defaultInstantiator; final AnnotatedClass ac; if (raw == ZoneId.class) { ac = beanDesc.getClassInfo(); } else { ac = AnnotatedClassResolver.resolve(config, config.constructType(ZoneId.class), config); } if (!inst.canCreateFromString()) { final AnnotatedMethod factory = ZeroModule.this._findFactory(ac, "of", String.class); if (factory != null) { inst.configureFromStringCreator(factory); } } } return defaultInstantiator; } });