com.vladmihalcea.hibernate.type.array.LocalDateArrayType Maven / Gradle / Ivy
Show all versions of hibernate-types-60 Show documentation
package com.vladmihalcea.hibernate.type.array;
import com.vladmihalcea.hibernate.type.array.internal.AbstractArrayType;
import com.vladmihalcea.hibernate.type.array.internal.LocalDateArrayTypeDescriptor;
import com.vladmihalcea.hibernate.type.util.Configuration;
import com.vladmihalcea.hibernate.type.util.ParameterizedParameterType;
import org.hibernate.usertype.DynamicParameterizedType;
import java.util.Properties;
/**
* Maps a {@code java.Time.LocalDate[]} array on a PostgreSQL date[] ARRAY type. Multidimensional arrays are
* supported as well, as
* explained in this article.
*
* For more details about how to use it, check out
* this
* article on vladmihalcea.com.
*
* @author Andrew Lazarus, based on DateArrayType by Guillaume Briand
*/
public class LocalDateArrayType extends AbstractArrayType {
public static final com.vladmihalcea.hibernate.type.array.LocalDateArrayType INSTANCE =
new com.vladmihalcea.hibernate.type.array.LocalDateArrayType();
public LocalDateArrayType() {
super(
new LocalDateArrayTypeDescriptor()
);
}
public LocalDateArrayType(Configuration configuration) {
super(
new LocalDateArrayTypeDescriptor(), configuration
);
}
public LocalDateArrayType(Class arrayClass) {
this();
Properties parameters = new Properties();
parameters.put(DynamicParameterizedType.PARAMETER_TYPE, new ParameterizedParameterType(arrayClass));
setParameterValues(parameters);
}
public LocalDateArrayType(org.hibernate.type.spi.TypeBootstrapContext typeBootstrapContext) {
this(new Configuration(typeBootstrapContext.getConfigurationSettings()));
}
public String getName() {
return "localdate-array";
}
}