All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.cfg.AttributeConversionInfo Maven / Gradle / Ivy

There is a newer version: 5.6.15.Final
Show newest version
/*
 * 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 converterClass;
	private final boolean conversionDisabled;

	private final String attributeName;

	private final XAnnotatedElement source;

	public AttributeConversionInfo(
			Class 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 getConverterClass() {
		return converterClass;
	}

	public boolean isConversionDisabled() {
		return conversionDisabled;
	}

	public String getAttributeName() {
		return attributeName;
	}

	public XAnnotatedElement getSource() {
		return source;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy