1 package com.vladmihalcea.hibernate.type.search;
2
3 import com.vladmihalcea.hibernate.type.search.internal.PostgreSQLTSVectorSqlTypeDescriptor;
4 import com.vladmihalcea.hibernate.type.search.internal.PostgreSQLTSVectorTypeDescriptor;
5 import org.hibernate.type.AbstractSingleColumnStandardBasicType;
6 import org.hibernate.usertype.DynamicParameterizedType;
7
8 import java.util.Properties;
9
10 /**
11  * Maps a {@link String} object type to a PostgreSQL TSVector column type.
12  *
13  * @author Vlad Mihalcea
14  * @author Philip Riecks
15  */

16 public class PostgreSQLTSVectorType
17         extends AbstractSingleColumnStandardBasicType<Object> implements DynamicParameterizedType {
18
19     public static final PostgreSQLTSVectorType INSTANCE = new PostgreSQLTSVectorType();
20
21
22     public PostgreSQLTSVectorType() {
23         super(PostgreSQLTSVectorSqlTypeDescriptor.INSTANCE, new PostgreSQLTSVectorTypeDescriptor());
24     }
25
26     @Override
27     public String getName() {
28         return "tsvector";
29     }
30
31     @Override
32     public void setParameterValues(Properties parameters) {
33         ((PostgreSQLTSVectorTypeDescriptor) getJavaTypeDescriptor()).setParameterValues(parameters);
34     }
35 }
36