1 package com.fasterxml.jackson.module.paramnames;
2
3 import com.fasterxml.jackson.annotation.JsonCreator;
4 import com.fasterxml.jackson.databind.module.SimpleModule;
5
6 public class ParameterNamesModule extends SimpleModule
7 {
8 private static final long serialVersionUID = 1L;
9
10 private final JsonCreator.Mode creatorBinding;
11
12 public ParameterNamesModule(JsonCreator.Mode creatorBinding) {
13 super(PackageVersion.VERSION);
14 this.creatorBinding = creatorBinding;
15 }
16
17 public ParameterNamesModule() {
18 super(PackageVersion.VERSION);
19 this.creatorBinding = null;
20 }
21
22 @Override
23 public void setupModule(SetupContext context) {
24 super.setupModule(context);
25 context.insertAnnotationIntrospector(new ParameterNamesAnnotationIntrospector(creatorBinding, new ParameterExtractor()));
26 }
27
28 @Override
29 public int hashCode() { return getClass().hashCode(); }
30
31 @Override
32 public boolean equals(Object o) { return this == o; }
33 }
34