package com.rjconsultores.ventaboletos.dao.util;

import java.io.Serializable;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.id.IdentifierGenerator;

/**
 * Trata a geração do ID da forma de pagamento data tabela forma de pagamento, pois não pode ultrapassar 2 digitos
 * 
 * @author Guilherme Lopes
 */
public class FormaPagoGenerator implements IdentifierGenerator {

	private static final Logger log = LogManager.getLogger(FormaPagoGenerator.class);

	@Override
	public Short generate(SessionImplementor session, Object object) throws HibernateException {
		log.info("Inicio geração IdFormaPago");
		Serializable nextId = IdFormaPagoStore.getInstance().getNextId(session.connection());
		log.info("Fim geração IdFormaPago:" + nextId);
		return Short.parseShort(nextId.toString());
	}
}
