1 package com.vladmihalcea.hibernate.type.json;
2
3 import com.fasterxml.jackson.databind.JsonNode;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import com.vladmihalcea.hibernate.type.AbstractHibernateType;
6 import com.vladmihalcea.hibernate.type.json.internal.JsonBinarySqlTypeDescriptor;
7 import com.vladmihalcea.hibernate.type.json.internal.JsonNodeTypeDescriptor;
8 import com.vladmihalcea.hibernate.type.util.Configuration;
9 import com.vladmihalcea.hibernate.type.util.ObjectMapperWrapper;
10
11
19 public class JsonNodeBinaryType extends AbstractHibernateType<JsonNode> {
20
21 public static final JsonNodeBinaryType INSTANCE = new JsonNodeBinaryType();
22
23 public JsonNodeBinaryType() {
24 super(
25 JsonBinarySqlTypeDescriptor.INSTANCE,
26 new JsonNodeTypeDescriptor(Configuration.INSTANCE.getObjectMapperWrapper())
27 );
28 }
29
30 public JsonNodeBinaryType(Configuration configuration) {
31 super(
32 JsonBinarySqlTypeDescriptor.INSTANCE,
33 new JsonNodeTypeDescriptor(configuration.getObjectMapperWrapper()),
34 configuration
35 );
36 }
37
38 public JsonNodeBinaryType(ObjectMapper objectMapper) {
39 super(
40 JsonBinarySqlTypeDescriptor.INSTANCE,
41 new JsonNodeTypeDescriptor(new ObjectMapperWrapper(objectMapper))
42 );
43 }
44
45 public JsonNodeBinaryType(ObjectMapperWrapper objectMapperWrapper) {
46 super(
47 JsonBinarySqlTypeDescriptor.INSTANCE,
48 new JsonNodeTypeDescriptor(objectMapperWrapper)
49 );
50 }
51
52 public String getName() {
53 return "jsonb-node";
54 }
55 }