Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7c6d46d

Browse files
mp911dechristophstrobl
authored andcommitted
Rename Jackson3... classes to Jackson to align class naming.
Align class naming to drop the 3 from Jackson class names. Also, rename Jackson3ObjectReader and ...Writer to JacksonReadeReader and JacksonJacksonWriter and rename the Jackson 2-based variants to Jackson2.... Closes: #3219 Original Pull Request: #3220
1 parent c60b5c3 commit 7c6d46d

25 files changed

+294
-295
lines changed

‎src/main/antora/modules/ROOT/pages/redis/hash-mappers.adoc‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
[[redis.hashmappers.root]]
22
= Hash Mapping
33

4-
Data can be stored by using various data structures within Redis. javadoc:org.springframework.data.redis.serializer.Jackson3JsonRedisSerializer[] can convert objects in https://en.wikipedia.org/wiki/JSON[JSON] format. Ideally, JSON can be stored as a value by using plain keys. You can achieve a more sophisticated mapping of structured objects by using Redis hashes. Spring Data Redis offers various strategies for mapping data to hashes (depending on the use case):
4+
Data can be stored by using various data structures within Redis. javadoc:org.springframework.data.redis.serializer.JacksonJsonRedisSerializer[] can convert objects in https://en.wikipedia.org/wiki/JSON[JSON] format.
5+
Ideally, JSON can be stored as a value by using plain keys.
6+
You can achieve a more sophisticated mapping of structured objects by using Redis hashes.
7+
Spring Data Redis offers various strategies for mapping data to hashes (depending on the use case):
58

69
* Direct mapping, by using javadoc:org.springframework.data.redis.core.HashOperations[] and a xref:redis.adoc#redis:serializer[serializer]
710
* Using xref:repositories.adoc[Redis Repositories]
@@ -16,7 +19,7 @@ Multiple implementations are available:
1619

1720
* javadoc:org.springframework.data.redis.hash.BeanUtilsHashMapper[] using Spring's {spring-framework-javadoc}/org/springframework/beans/BeanUtils.html[BeanUtils].
1821
* javadoc:org.springframework.data.redis.hash.ObjectHashMapper[] using xref:redis/redis-repositories/mapping.adoc[Object-to-Hash Mapping].
19-
* <<redis.hashmappers.jackson3,`Jackson3HashMapper`>> using https://github.com/FasterXML/jackson[FasterXML Jackson 3].
22+
* <<redis.hashmappers.jackson3,`JacksonHashMapper`>> using https://github.com/FasterXML/jackson[FasterXML Jackson 3].
2023
* <<redis.hashmappers.jackson2,`Jackson2HashMapper`>> (deprecated) using https://github.com/FasterXML/jackson[FasterXML Jackson 2].
2124

2225
The following example shows one way to implement hash mapping:
@@ -52,10 +55,10 @@ public class HashMapping {
5255
----
5356

5457
[[redis.hashmappers.jackson3]]
55-
=== Jackson3HashMapper
58+
=== JacksonHashMapper
5659

57-
javadoc:org.springframework.data.redis.hash.Jackson3HashMapper[] provides Redis Hash mapping for domain objects by using https://github.com/FasterXML/jackson[FasterXML Jackson 3].
58-
`Jackson3HashMapper` can map top-level properties as Hash field names and, optionally, flatten the structure.
60+
javadoc:org.springframework.data.redis.hash.JacksonHashMapper[] provides Redis Hash mapping for domain objects by using https://github.com/FasterXML/jackson[FasterXML Jackson 3].
61+
`JacksonHashMapper` can map top-level properties as Hash field names and, optionally, flatten the structure.
5962
Simple types map to simple values. Complex types (nested objects, collections, maps, and so on) are represented as nested JSON.
6063

6164
Flattening creates individual hash entries for all nested properties and resolves complex types into simple types, as far as possible.

‎src/main/antora/modules/ROOT/pages/redis/redis-repositories/mapping.adoc‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ The following example shows two sample byte array converters:
9292
@WritingConverter
9393
public class AddressToBytesConverter implements Converter<Address, byte[]> {
9494
95-
private final Jackson3JsonRedisSerializer<Address> serializer;
95+
private final JacksonJsonRedisSerializer<Address> serializer;
9696
9797
public AddressToBytesConverter() {
9898
99-
serializer = new Jackson3JsonRedisSerializer<Address>(Address.class);
99+
serializer = new JacksonJsonRedisSerializer<Address>(Address.class);
100100
serializer.setObjectMapper(new ObjectMapper());
101101
}
102102
@@ -109,11 +109,11 @@ public class AddressToBytesConverter implements Converter<Address, byte[]> {
109109
@ReadingConverter
110110
public class BytesToAddressConverter implements Converter<byte[], Address> {
111111
112-
private final Jackson3JsonRedisSerializer<Address> serializer;
112+
private final JacksonJsonRedisSerializer<Address> serializer;
113113
114114
public BytesToAddressConverter() {
115115
116-
serializer = new Jackson3JsonRedisSerializer<Address>(Address.class);
116+
serializer = new JacksonJsonRedisSerializer<Address>(Address.class);
117117
serializer.setObjectMapper(new ObjectMapper());
118118
}
119119

‎src/main/antora/modules/ROOT/pages/redis/redis-streams.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ You may provide a `HashMapper` suitable for your requirements when obtaining `St
291291
[source,java]
292292
----
293293
redisTemplate()
294-
.opsForStream(new Jackson3HashMapper(true))
294+
.opsForStream(new JacksonHashMapper(true))
295295
.add(record); <1>
296296
----
297297
<1> XADD user-logon * "firstname" "night" "@class" "com.example.User" "lastname" "angel"

‎src/main/antora/modules/ROOT/pages/redis/template.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ Multiple implementations are available (including two that have been already men
365365
* javadoc:org.springframework.data.redis.serializer.JdkSerializationRedisSerializer[], which is used by default for javadoc:org.springframework.data.redis.cache.RedisCache[] and javadoc:org.springframework.data.redis.core.RedisTemplate[].
366366
* the `StringRedisSerializer`.
367367

368-
However, one can use `OxmSerializer` for Object/XML mapping through Spring {spring-framework-docs}/data-access.html#oxm[OXM] support or javadoc:org.springframework.data.redis.serializer.Jackson3JsonRedisSerializer[] or javadoc:org.springframework.data.redis.serializer.GenericJackson3JsonRedisSerializer[] for storing data in https://en.wikipedia.org/wiki/JSON[JSON] format.
368+
However, one can use `OxmSerializer` for Object/XML mapping through Spring {spring-framework-docs}/data-access.html#oxm[OXM] support or javadoc:org.springframework.data.redis.serializer.JacksonJsonRedisSerializer[] or javadoc:org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer[] for storing data in https://en.wikipedia.org/wiki/JSON[JSON] format.
369369

370370
Do note that the storage format is not limited only to values.
371371
It can be used for keys, values, or hashes without any restrictions.

‎src/main/java/org/springframework/data/redis/hash/Jackson2HashMapper.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
* @author Mark Paluch
145145
* @author John Blum
146146
* @since 1.8
147-
* @deprecated since 4.0 in favor of {@link org.springframework.data.redis.hash.Jackson3HashMapper}.
147+
* @deprecated since 4.0 in favor of {@link JacksonHashMapper}.
148148
*/
149149
@Deprecated(since = "4.0", forRemoval = true)
150150
public class Jackson2HashMapper implements HashMapper<Object, String, Object> {

‎src/main/java/org/springframework/data/redis/hash/Jackson3HashMapper.java‎ renamed to ‎src/main/java/org/springframework/data/redis/hash/JacksonHashMapper.java‎

Lines changed: 44 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -160,26 +160,26 @@
160160
* @author Mark Paluch
161161
* @since 4.0
162162
*/
163-
public class Jackson3HashMapper implements HashMapper<Object, String, Object> {
163+
public class JacksonHashMapper implements HashMapper<Object, String, Object> {
164164

165-
private static final Lazy<Jackson3HashMapper> sharedFlattening = Lazy
166-
.of(() -> create(Jackson3HashMapperBuilder::flatten));
167-
private static final Lazy<Jackson3HashMapper> sharedHierarchical = Lazy
168-
.of(() -> create(Jackson3HashMapperBuilder::hierarchical));
165+
private static final Lazy<JacksonHashMapper> sharedFlattening = Lazy
166+
.of(() -> create(JacksonHashMapperBuilder::flatten));
167+
private static final Lazy<JacksonHashMapper> sharedHierarchical = Lazy
168+
.of(() -> create(JacksonHashMapperBuilder::hierarchical));
169169

170170
private final ObjectMapper typingMapper;
171171
private final ObjectMapper untypedMapper;
172172
private final boolean flatten;
173173

174174
/**
175-
* Creates a new {@link Jackson3HashMapper} initialized with a custom Jackson {@link ObjectMapper}.
175+
* Creates a new {@link JacksonHashMapper} initialized with a custom Jackson {@link ObjectMapper}.
176176
*
177177
* @param mapper Jackson {@link ObjectMapper} used to de/serialize hashed {@link Object objects}; must not be
178178
* {@literal null}.
179179
* @param flatten boolean used to configure whether JSON de/serialized {@link Object} properties will be un/flattened
180180
* using {@literal dot notation}, or whether to retain the hierarchical node structure created by Jackson.
181181
*/
182-
public Jackson3HashMapper(ObjectMapper mapper, boolean flatten) {
182+
public JacksonHashMapper(ObjectMapper mapper, boolean flatten) {
183183

184184
Assert.notNull(mapper, "Mapper must not be null");
185185

@@ -189,63 +189,61 @@ public Jackson3HashMapper(ObjectMapper mapper, boolean flatten) {
189189
}
190190

191191
/**
192-
* Returns a flattening {@link Jackson3HashMapper} using {@literal dot notation} for properties.
192+
* Returns a flattening {@link JacksonHashMapper} using {@literal dot notation} for properties.
193193
*
194-
* @return a flattening {@link Jackson3HashMapper} instance.
194+
* @return a flattening {@link JacksonHashMapper} instance.
195195
*/
196-
public static Jackson3HashMapper flattening() {
196+
public static JacksonHashMapper flattening() {
197197
return sharedFlattening.get();
198198
}
199199

200200
/**
201-
* Returns a {@link Jackson3HashMapper} retain the hierarchical node structure created by Jackson.
201+
* Returns a {@link JacksonHashMapper} retain the hierarchical node structure created by Jackson.
202202
*
203-
* @return a hierarchical {@link Jackson3HashMapper} instance.
203+
* @return a hierarchical {@link JacksonHashMapper} instance.
204204
*/
205-
public static Jackson3HashMapper hierarchical() {
205+
public static JacksonHashMapper hierarchical() {
206206
return sharedHierarchical.get();
207207
}
208208

209209
/**
210-
* Creates a new {@link Jackson3HashMapper} allowing further configuration through {@code configurer}.
210+
* Creates a new {@link JacksonHashMapper} allowing further configuration through {@code configurer}.
211211
*
212-
* @param configurer the configurer for {@link Jackson3HashMapperBuilder}.
213-
* @return a new {@link Jackson3HashMapper} instance.
212+
* @param configurer the configurer for {@link JacksonHashMapperBuilder}.
213+
* @return a new {@link JacksonHashMapper} instance.
214214
*/
215-
public static Jackson3HashMapper create(
216-
Consumer<Jackson3HashMapperBuilder<JsonMapper.Builder>> configurer) {
215+
public static JacksonHashMapper create(Consumer<JacksonHashMapperBuilder<JsonMapper.Builder>> configurer) {
217216

218217
Assert.notNull(configurer, "Builder configurer must not be null");
219218

220-
Jackson3HashMapperBuilder<JsonMapper.Builder> builder = builder();
219+
JacksonHashMapperBuilder<JsonMapper.Builder> builder = builder();
221220
configurer.accept(builder);
222221

223222
return builder.build();
224223
}
225224

226225
/**
227-
* Creates a {@link Jackson3HashMapperBuilder} to build a {@link Jackson3HashMapper} instance using
228-
* {@link JsonMapper}.
226+
* Creates a {@link JacksonHashMapperBuilder} to build a {@link JacksonHashMapper} instance using {@link JsonMapper}.
229227
*
230-
* @return a {@link Jackson3HashMapperBuilder} to build a {@link Jackson3HashMapper} instance.
228+
* @return a {@link JacksonHashMapperBuilder} to build a {@link JacksonHashMapper} instance.
231229
*/
232-
public static Jackson3HashMapperBuilder<JsonMapper.Builder> builder() {
230+
public static JacksonHashMapperBuilder<JsonMapper.Builder> builder() {
233231
return builder(JsonMapper::builder);
234232
}
235233

236234
/**
237-
* Creates a new {@link Jackson3HashMapperBuilder} to configure and build a {@link Jackson3HashMapper}.
235+
* Creates a new {@link JacksonHashMapperBuilder} to configure and build a {@link JacksonHashMapper}.
238236
*
239237
* @param builderFactory factory to create a {@link MapperBuilder} for the {@link ObjectMapper}.
240238
* @param <B> type of the {@link MapperBuilder} to use.
241-
* @return a new {@link Jackson3HashMapperBuilder}.
239+
* @return a new {@link JacksonHashMapperBuilder}.
242240
*/
243-
public static <B extends MapperBuilder<? extends ObjectMapper, ? extends MapperBuilder<?, ?>>> Jackson3HashMapperBuilder<B> builder(
241+
public static <B extends MapperBuilder<? extends ObjectMapper, ? extends MapperBuilder<?, ?>>> JacksonHashMapperBuilder<B> builder(
244242
Supplier<B> builderFactory) {
245243

246244
Assert.notNull(builderFactory, "MapperBuilder Factory must not be null");
247245

248-
return new Jackson3HashMapperBuilder<>(builderFactory);
246+
return new JacksonHashMapperBuilder<>(builderFactory);
249247
}
250248

251249
/**
@@ -272,7 +270,7 @@ public static void preconfigure(MapperBuilder<? extends ObjectMapper, ? extends
272270
public Map<String, Object> toHash(@Nullable Object source) {
273271

274272
JsonNode tree = this.typingMapper.valueToTree(source);
275-
return this.flatten ? FlatEric.flatten(Jackson3AdapterFactory.INSTANCE, tree.properties())
273+
return this.flatten ? FlatEric.flatten(JacksonAdapterFactory.INSTANCE, tree.properties())
276274
: this.untypedMapper.convertValue(tree, Map.class);
277275
}
278276

@@ -299,11 +297,11 @@ public Object fromHash(Map<String, Object> hash) {
299297

300298

301299
/**
302-
* Builder to create a {@link Jackson3HashMapper} instance.
300+
* Builder to create a {@link JacksonHashMapper} instance.
303301
*
304302
* @param <B> type of the {@link MapperBuilder}.
305303
*/
306-
public static class Jackson3HashMapperBuilder<B extends MapperBuilder<? extends ObjectMapper, ? extends MapperBuilder<?, ?>>> {
304+
public static class JacksonHashMapperBuilder<B extends MapperBuilder<? extends ObjectMapper, ? extends MapperBuilder<?, ?>>> {
307305

308306
private final Supplier<B> builderFactory;
309307

@@ -313,7 +311,7 @@ public static class Jackson3HashMapperBuilder<B extends MapperBuilder<? extends
313311
private boolean flatten = false;
314312
private Consumer<B> mapperBuilderCustomizer = builder -> {};
315313

316-
private Jackson3HashMapperBuilder(Supplier<B> builderFactory) {
314+
private JacksonHashMapperBuilder(Supplier<B> builderFactory) {
317315
this.builderFactory = builderFactory;
318316
}
319317

@@ -323,7 +321,7 @@ private Jackson3HashMapperBuilder(Supplier<B> builderFactory) {
323321
* @return {@code this} builder.
324322
*/
325323
@Contract("-> this")
326-
public Jackson3HashMapperBuilder<B> flatten() {
324+
public JacksonHashMapperBuilder<B> flatten() {
327325
return flatten(true);
328326
}
329327

@@ -333,7 +331,7 @@ public Jackson3HashMapperBuilder<B> flatten() {
333331
* @return {@code this} builder.
334332
*/
335333
@Contract("-> this")
336-
public Jackson3HashMapperBuilder<B> hierarchical() {
334+
public JacksonHashMapperBuilder<B> hierarchical() {
337335
return flatten(false);
338336
}
339337

@@ -347,7 +345,7 @@ public Jackson3HashMapperBuilder<B> hierarchical() {
347345
* @return {@code this} builder.
348346
*/
349347
@Contract("_ -> this")
350-
public Jackson3HashMapperBuilder<B> flatten(boolean flatten) {
348+
public JacksonHashMapperBuilder<B> flatten(boolean flatten) {
351349
this.flatten = flatten;
352350
return this;
353351
}
@@ -359,7 +357,7 @@ public Jackson3HashMapperBuilder<B> flatten(boolean flatten) {
359357
* @return {@code this} builder.
360358
*/
361359
@Contract("-> this")
362-
public Jackson3HashMapperBuilder<B> jackson2CompatibilityMode() {
360+
public JacksonHashMapperBuilder<B> jackson2CompatibilityMode() {
363361
this.jackson2CompatibilityMode = true;
364362
return this;
365363
}
@@ -371,7 +369,7 @@ public Jackson3HashMapperBuilder<B> jackson2CompatibilityMode() {
371369
* @return {@code this} builder.
372370
*/
373371
@Contract("_ -> this")
374-
public Jackson3HashMapperBuilder<B> typeValidator(PolymorphicTypeValidator typeValidator) {
372+
public JacksonHashMapperBuilder<B> typeValidator(PolymorphicTypeValidator typeValidator) {
375373

376374
Assert.notNull(typeValidator, "Type validator must not be null");
377375

@@ -386,7 +384,7 @@ public Jackson3HashMapperBuilder<B> typeValidator(PolymorphicTypeValidator typeV
386384
* @return {@code this} builder.
387385
*/
388386
@Contract("_ -> this")
389-
public Jackson3HashMapperBuilder<B> customize(Consumer<B> mapperBuilderCustomizer) {
387+
public JacksonHashMapperBuilder<B> customize(Consumer<B> mapperBuilderCustomizer) {
390388

391389
Assert.notNull(mapperBuilderCustomizer, "JSON mapper customizer must not be null");
392390

@@ -395,12 +393,12 @@ public Jackson3HashMapperBuilder<B> customize(Consumer<B> mapperBuilderCustomize
395393
}
396394

397395
/**
398-
* Build a new {@link Jackson3HashMapper} instance with the configured settings.
396+
* Build a new {@link JacksonHashMapper} instance with the configured settings.
399397
*
400-
* @return a new {@link Jackson3HashMapper} instance.
398+
* @return a new {@link JacksonHashMapper} instance.
401399
*/
402400
@Contract("-> new")
403-
public Jackson3HashMapper build() {
401+
public JacksonHashMapper build() {
404402

405403
B mapperBuilder = builderFactory.get();
406404

@@ -409,7 +407,7 @@ public Jackson3HashMapper build() {
409407

410408
mapperBuilderCustomizer.accept(mapperBuilder);
411409

412-
return new Jackson3HashMapper(mapperBuilder.build(), flatten);
410+
return new JacksonHashMapper(mapperBuilder.build(), flatten);
413411
}
414412

415413
private static TypeResolverBuilder<?> getDefaultTyping(PolymorphicTypeValidator typeValidator, boolean flatten,
@@ -564,14 +562,14 @@ public Calendar deserialize(JsonParser p, DeserializationContext ctxt) throws Ja
564562
}
565563
}
566564

567-
private enum Jackson3AdapterFactory implements FlatEric.JsonNodeAdapterFactory {
565+
private enum JacksonAdapterFactory implements FlatEric.JsonNodeAdapterFactory {
568566

569567
INSTANCE;
570568

571569

572570
@Override
573571
public FlatEric.JsonNodeAdapter adapt(Object node) {
574-
return node instanceof FlatEric.JsonNodeAdapter na ? na : new Jackson3JsonNodeAdapter((JsonNode) node);
572+
return node instanceof FlatEric.JsonNodeAdapter na ? na : new JacksonJsonNodeAdapter((JsonNode) node);
575573
}
576574

577575
@Override
@@ -580,7 +578,7 @@ public boolean isJsonNode(Object value) {
580578
}
581579
}
582580

583-
private record Jackson3JsonNodeAdapter(JsonNode node) implements FlatEric.JsonNodeAdapter {
581+
private record JacksonJsonNodeAdapter(JsonNode node) implements FlatEric.JsonNodeAdapter {
584582

585583
@Override
586584
public FlatEric.JsonNodeType getNodeType() {
@@ -594,7 +592,7 @@ public boolean isArray() {
594592

595593
@Override
596594
public Collection<? extends FlatEric.JsonNodeAdapter> values() {
597-
return node().valueStream().map(Jackson3JsonNodeAdapter::new).toList();
595+
return node().valueStream().map(JacksonJsonNodeAdapter::new).toList();
598596
}
599597

600598
@Override
@@ -650,7 +648,7 @@ public boolean isObject() {
650648
@Override
651649
public Collection<Entry<String, FlatEric.JsonNodeAdapter>> properties() {
652650
return node().propertyStream()
653-
.map(it -> Map.entry(it.getKey(), (FlatEric.JsonNodeAdapter) new Jackson3JsonNodeAdapter(it.getValue())))
651+
.map(it -> Map.entry(it.getKey(), (FlatEric.JsonNodeAdapter) new JacksonJsonNodeAdapter(it.getValue())))
654652
.toList();
655653
}
656654

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /