org.hibernate.cfg.AttributeConversionInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core-jakarta Show documentation
Show all versions of hibernate-core-jakarta Show documentation
Hibernate O/RM implementation of the Jakarta Persistence specification
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.cfg;
import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Convert;
import org.hibernate.annotations.common.reflection.XAnnotatedElement;
/**
* Describes a {@link jakarta.persistence.Convert} conversion
*
* @author Steve Ebersole
*/
public class AttributeConversionInfo {
private final Class extends AttributeConverter> converterClass;
private final boolean conversionDisabled;
private final String attributeName;
private final XAnnotatedElement source;
public AttributeConversionInfo(
Class extends AttributeConverter> converterClass,
boolean conversionDisabled,
String attributeName,
XAnnotatedElement source) {
this.converterClass = converterClass;
this.conversionDisabled = conversionDisabled;
this.attributeName = attributeName;
this.source = source;
}
@SuppressWarnings("unchecked")
public AttributeConversionInfo(Convert convertAnnotation, XAnnotatedElement xAnnotatedElement) {
this(
convertAnnotation.converter(),
convertAnnotation.disableConversion(),
convertAnnotation.attributeName(),
xAnnotatedElement
);
}
public Class extends AttributeConverter> getConverterClass() {
return converterClass;
}
public boolean isConversionDisabled() {
return conversionDisabled;
}
public String getAttributeName() {
return attributeName;
}
public XAnnotatedElement getSource() {
return source;
}
}