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