Skip to content

Commit 26c884a

Browse files
committed
Fix #3037 (rename Module as JacksonModule)
1 parent 2b6bce9 commit 26c884a

16 files changed

+46
-44
lines changed

release-notes/VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,6 @@ Versions: 3.x (for earlier see VERSION-2.x)
4343
#2828: Add `DatabindException` as intermediate subtype of `JsonMappingException`
4444
#3028: Change `UUIDSerializer` to use `StreamWriteCapability` check instead of
4545
`JsonGenerator.canWriteBinaryNatively()`
46+
#3037: Rename `Module` as `JacksonModule` in 3.0 (to avoid overlap with `java.lang.Module`)
4647
- Remove `MappingJsonFactory`
4748
- Add context parameter for `TypeSerializer` contextualization (`forProperty()`)

src/main/java/com/fasterxml/jackson/databind/Module.java src/main/java/com/fasterxml/jackson/databind/JacksonModule.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@
1919
* Simple interface for extensions that can be registered with {@link ObjectMapper}
2020
* to provide a well-defined set of extensions to default functionality; such as
2121
* support for new data types.
22+
*<p>
23+
* NOTE: was named just {@code Module} in Jackson 2.x but renamed due to naming
24+
* conflict with Java 9+ {@code java.lang.Module}
2225
*/
23-
public abstract class Module
26+
public abstract class JacksonModule
2427
implements Versioned
2528
{
2629
/*
@@ -44,7 +47,7 @@ public abstract class Module
4447
public abstract Version version();
4548

4649
/**
47-
* Method that returns an id that may be used to determine if two {@link Module}
50+
* Method that returns an id that may be used to determine if two {@link JacksonModule}
4851
* instances are considered to be of same type, for purpose of preventing
4952
* multiple registrations of "same" module,
5053
*<p>
@@ -62,7 +65,7 @@ public Object getRegistrationId() {
6265
* Modules returned will be registered before this module is registered,
6366
* in iteration order.
6467
*/
65-
public Iterable<? extends Module> getDependencies() {
68+
public Iterable<? extends JacksonModule> getDependencies() {
6669
return Collections.emptyList();
6770
}
6871

src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
* Former starts with default configuration (same as one that no-arguments constructor
5252
* created mapper has), and latter starts with configuration of the mapper it is called
5353
* on.
54-
* In both cases, after configuration (including addition of {@link Module}s) is complete,
54+
* In both cases, after configuration (including addition of {@link JacksonModule}s) is complete,
5555
* instance is created by calling {@link MapperBuilder#build()} method.
5656
*<p>
5757
* Mapper (and {@link ObjectReader}s, {@link ObjectWriter}s it constructs) will
@@ -553,12 +553,12 @@ public boolean isEnabled(SerializationFeature f) {
553553
*/
554554

555555
/**
556-
* Method that may be used to find out {@link Module}s that were registered
556+
* Method that may be used to find out {@link JacksonModule}s that were registered
557557
* when creating this mapper (if any).
558558
*
559559
* @since 3.0
560560
*/
561-
public Collection<com.fasterxml.jackson.databind.Module> getRegisteredModules() {
561+
public Collection<JacksonModule> getRegisteredModules() {
562562
return _savedBuilderState.modules();
563563
}
564564

src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java

+17-17
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public abstract class MapperBuilder<M extends ObjectMapper,
101101
/**
102102
* Modules registered for addition, indexed by registration id.
103103
*/
104-
protected Map<Object, com.fasterxml.jackson.databind.Module> _modules;
104+
protected Map<Object, JacksonModule> _modules;
105105

106106
/*
107107
/**********************************************************************
@@ -351,8 +351,8 @@ protected MapperBuilder(MapperBuilderState state)
351351
_modules = null;
352352
} else {
353353
_modules = new LinkedHashMap<>();
354-
for (Object mod : state._modules) {
355-
addModule((com.fasterxml.jackson.databind.Module) mod);
354+
for (JacksonModule mod : state._modules) {
355+
addModule(mod);
356356
}
357357
}
358358
}
@@ -979,11 +979,11 @@ public B removeAllModules() {
979979
/**
980980
* Method will add given module to be registered when mapper is built, possibly
981981
* replacing an earlier instance of the module (as specified by its
982-
* {@link Module#getRegistrationId()}).
982+
* {@link JacksonModule#getRegistrationId()}).
983983
* Actual registration occurs in addition order (considering last add to count,
984984
* in case of re-registration for same id) when {@link #build()} is called.
985985
*/
986-
public B addModule(com.fasterxml.jackson.databind.Module module)
986+
public B addModule(JacksonModule module)
987987
{
988988
_verifyModuleMetadata(module);
989989
final Object moduleId = module.getRegistrationId();
@@ -998,15 +998,15 @@ public B addModule(com.fasterxml.jackson.databind.Module module)
998998

999999
// 10-Sep-2019, tatu: [databind#2432] Module dependencies; need to add first
10001000
// but unlike main module, do NOT replace module if already added
1001-
for (com.fasterxml.jackson.databind.Module dep : module.getDependencies()) {
1001+
for (JacksonModule dep : module.getDependencies()) {
10021002
_verifyModuleMetadata(dep);
10031003
_modules.putIfAbsent(dep.getRegistrationId(), dep);
10041004
}
10051005
_modules.put(moduleId, module);
10061006
return _this();
10071007
}
10081008

1009-
private void _verifyModuleMetadata(com.fasterxml.jackson.databind.Module module)
1009+
private void _verifyModuleMetadata(JacksonModule module)
10101010
{
10111011
if (module.getModuleName() == null) {
10121012
throw new IllegalArgumentException("Module ("+module.getClass().getName()+") without defined name");
@@ -1016,17 +1016,17 @@ private void _verifyModuleMetadata(com.fasterxml.jackson.databind.Module module)
10161016
}
10171017
}
10181018

1019-
public B addModules(com.fasterxml.jackson.databind.Module... modules)
1019+
public B addModules(JacksonModule... modules)
10201020
{
1021-
for (com.fasterxml.jackson.databind.Module module : modules) {
1021+
for (JacksonModule module : modules) {
10221022
addModule(module);
10231023
}
10241024
return _this();
10251025
}
10261026

1027-
public B addModules(Iterable<? extends com.fasterxml.jackson.databind.Module> modules)
1027+
public B addModules(Iterable<? extends JacksonModule> modules)
10281028
{
1029-
for (com.fasterxml.jackson.databind.Module module : modules) {
1029+
for (JacksonModule module : modules) {
10301030
addModule(module);
10311031
}
10321032
return _this();
@@ -1039,7 +1039,7 @@ public B addModules(Iterable<? extends com.fasterxml.jackson.databind.Module> mo
10391039
* Note that method does not do any caching, so calls should be considered
10401040
* potentially expensive.
10411041
*/
1042-
public static List<com.fasterxml.jackson.databind.Module> findModules() {
1042+
public static List<JacksonModule> findModules() {
10431043
return findModules(null);
10441044
}
10451045

@@ -1050,11 +1050,11 @@ public static List<com.fasterxml.jackson.databind.Module> findModules() {
10501050
* Note that method does not do any caching, so calls should be considered
10511051
* potentially expensive.
10521052
*/
1053-
public static List<com.fasterxml.jackson.databind.Module> findModules(ClassLoader classLoader)
1053+
public static List<JacksonModule> findModules(ClassLoader classLoader)
10541054
{
1055-
ArrayList<com.fasterxml.jackson.databind.Module> modules = new ArrayList<>();
1056-
ServiceLoader<com.fasterxml.jackson.databind.Module> loader = secureGetServiceLoader(com.fasterxml.jackson.databind.Module.class, classLoader);
1057-
for (com.fasterxml.jackson.databind.Module module : loader) {
1055+
ArrayList<JacksonModule> modules = new ArrayList<>();
1056+
ServiceLoader<JacksonModule> loader = secureGetServiceLoader(JacksonModule.class, classLoader);
1057+
for (JacksonModule module : loader) {
10581058
modules.add(module);
10591059
}
10601060
return modules;
@@ -1093,7 +1093,7 @@ public B findAndAddModules() {
10931093
* "Accessor" method that will expose set of registered modules, in addition
10941094
* order, to given handler.
10951095
*/
1096-
public B withModules(Consumer<com.fasterxml.jackson.databind.Module> handler) {
1096+
public B withModules(Consumer<JacksonModule> handler) {
10971097
if (_modules != null) {
10981098
_modules.values().forEach(handler);
10991099
}

src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilderState.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public abstract class MapperBuilderState
6464
/**
6565
* Modules registered in registration order, if any; `null` if none.
6666
*/
67-
protected final com.fasterxml.jackson.databind.Module[] _modules;
67+
protected final JacksonModule[] _modules;
6868

6969
/*
7070
/**********************************************************************
@@ -177,12 +177,12 @@ public MapperBuilderState(MapperBuilder<?,?> src)
177177
}
178178
}
179179

180-
private static com.fasterxml.jackson.databind.Module[] _toArray(Collection<?> coll)
180+
private static JacksonModule[] _toArray(Collection<?> coll)
181181
{
182182
if (coll == null || coll.isEmpty()) {
183183
return null;
184184
}
185-
return coll.toArray(new com.fasterxml.jackson.databind.Module[0]);
185+
return coll.toArray(new JacksonModule[0]);
186186
}
187187

188188
/*
@@ -191,7 +191,7 @@ private static com.fasterxml.jackson.databind.Module[] _toArray(Collection<?> co
191191
/**********************************************************************
192192
*/
193193

194-
public Collection<com.fasterxml.jackson.databind.Module> modules() {
194+
public Collection<JacksonModule> modules() {
195195
if (_modules == null) {
196196
return Collections.emptyList();
197197
}

src/main/java/com/fasterxml/jackson/databind/cfg/ModuleContextBase.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.fasterxml.jackson.core.*;
77

88
import com.fasterxml.jackson.databind.*;
9-
import com.fasterxml.jackson.databind.Module.SetupContext;
9+
import com.fasterxml.jackson.databind.JacksonModule.SetupContext;
1010
import com.fasterxml.jackson.databind.deser.*;
1111
import com.fasterxml.jackson.databind.jsontype.NamedType;
1212
import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
@@ -16,7 +16,7 @@
1616
import com.fasterxml.jackson.databind.type.TypeModifier;
1717

1818
public class ModuleContextBase
19-
implements SetupContext
19+
implements JacksonModule.SetupContext
2020
{
2121
// // // Immutable objects we need to access information
2222

src/main/java/com/fasterxml/jackson/databind/cfg/MutableConfigOverride.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@
99
/**
1010
* Extension of {@link ConfigOverride} that allows changing of
1111
* contained configuration settings. Exposed to
12-
* {@link com.fasterxml.jackson.databind.Module}s that want to set
12+
* {@link com.fasterxml.jackson.databind.JacksonModule}s that want to set
1313
* overrides, but not exposed to functionality that wants to apply
1414
* overrides.
15-
*
16-
* @since 2.8
1715
*/
1816
public class MutableConfigOverride
1917
extends ConfigOverride

src/main/java/com/fasterxml/jackson/databind/deser/DeserializerFactory.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public abstract KeyDeserializer createKeyDeserializer(DeserializationContext ctx
127127
* Method that can be used to check if databind module has explicitly declared deserializer
128128
* for given (likely JDK) type, explicit meaning that there is specific deserializer for
129129
* given type as opposed to auto-generated "Bean" deserializer. Factory itself will check
130-
* for known JDK-provided types, but registered {@link com.fasterxml.jackson.databind.Module}s
130+
* for known JDK-provided types, but registered {@link com.fasterxml.jackson.databind.JacksonModule}s
131131
* are also called to see if they might provide explicit deserializer.
132132
*<p>
133133
* Main use for this method is with Safe Default Typing (and generally Safe Polymorphic

src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ public boolean match(DatabindContext ctxt, Class<?> clazz) {
294294
* Method for appending matcher that will allow all subtypes for which a
295295
* {@link com.fasterxml.jackson.databind.JsonDeserializer})
296296
* is explicitly provided by either {@code jackson-databind} itself or one of registered
297-
* {@link com.fasterxml.jackson.databind.Module}s.
297+
* {@link com.fasterxml.jackson.databind.JacksonModule}s.
298298
* Determination is implementation by calling
299299
* {@link com.fasterxml.jackson.databind.deser.DeserializerFactory#hasExplicitDeserializerFor}.
300300
*<p>

src/main/java/com/fasterxml/jackson/databind/module/SimpleModule.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import com.fasterxml.jackson.databind.util.UniqueId;
1212

1313
/**
14-
* Vanilla {@link Module} implementation that allows registration
14+
* Vanilla {@link JacksonModule} implementation that allows registration
1515
* of serializers and deserializers, bean serializer
1616
* and deserializer modifiers, registration of subtypes and mix-ins
1717
* as well as some other commonly
@@ -34,7 +34,7 @@
3434
* signatures (with {@link JavaType}).
3535
*/
3636
public class SimpleModule
37-
extends com.fasterxml.jackson.databind.Module
37+
extends JacksonModule
3838
implements java.io.Serializable
3939
{
4040
private static final long serialVersionUID = 3L;

src/main/java/com/fasterxml/jackson/databind/module/package-info.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* Package that contains classes and interfaces to help implement
3-
* custom extension {@link com.fasterxml.jackson.databind.Module}s
3+
* custom extension {@link com.fasterxml.jackson.databind.JacksonModule}s
44
* (which are registered on ObjectMapper via builders}.
55
*<p>
66
* Note that classes in the package only support registering

src/test/java/com/fasterxml/jackson/databind/ObjectMapperTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ public Object getRegistrationId() {
271271

272272
final SimpleModule mainModule = new SimpleModule() {
273273
@Override
274-
public Iterable<? extends Module> getDependencies() {
274+
public Iterable<? extends JacksonModule> getDependencies() {
275275
return Arrays.asList(secondModule, thirdModule);
276276
}
277277

@@ -285,7 +285,7 @@ public Object getRegistrationId() {
285285
.addModule(mainModule)
286286
.build();
287287

288-
Collection<Module> mods = objectMapper.getRegisteredModules();
288+
Collection<JacksonModule> mods = objectMapper.getRegisteredModules();
289289
List<Object> ids = mods.stream().map(mod -> mod.getRegistrationId())
290290
.collect(Collectors.toList());
291291
assertEquals(Arrays.asList("dep1", "dep2", "main"), ids);

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderSimpleTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ public ValueClass822(int x, Map<String,Object> stuff) {
243243
}
244244
}
245245

246-
protected static class NopModule1557 extends com.fasterxml.jackson.databind.Module
246+
protected static class NopModule1557 extends com.fasterxml.jackson.databind.JacksonModule
247247
{
248248
@Override
249249
public String getModuleName() {

src/test/java/com/fasterxml/jackson/databind/deser/creators/NullValueViaCreatorTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public boolean hasDeserializerFor(DeserializationConfig config,
5555
}
5656
}
5757

58-
protected static class TestModule extends com.fasterxml.jackson.databind.Module
58+
protected static class TestModule extends com.fasterxml.jackson.databind.JacksonModule
5959
{
6060
@Override
6161
public String getModuleName() {

src/test/java/com/fasterxml/jackson/databind/module/SimpleModuleTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ public void testGetRegisteredModules()
298298
.addModule(mod2)
299299
.build();
300300

301-
List<com.fasterxml.jackson.databind.Module> mods = new ArrayList<>(mapper.getRegisteredModules());
301+
List<JacksonModule> mods = new ArrayList<>(mapper.getRegisteredModules());
302302
assertEquals(2, mods.size());
303303
// Should retain ordering even if not mandated
304304
assertEquals("test1", mods.get(0).getModuleName());
@@ -331,7 +331,7 @@ public void testMixIns() throws Exception
331331

332332
public void testAccessToMapper() throws Exception
333333
{
334-
com.fasterxml.jackson.databind.Module module = new com.fasterxml.jackson.databind.Module()
334+
final JacksonModule module = new JacksonModule()
335335
{
336336
@Override
337337
public String getModuleName() { return "x"; }

src/test/java/com/fasterxml/jackson/databind/module/TestDuplicateRegistration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
public class TestDuplicateRegistration extends BaseMapTest
99
{
10-
static class MyModule extends com.fasterxml.jackson.databind.Module {
10+
static class MyModule extends JacksonModule {
1111
private final AtomicInteger counter;
1212
private final Object id;
1313

0 commit comments

Comments
 (0)