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

com.github.fluent.hibernate.util.InternalUtils Maven / Gradle / Ivy

package com.github.fluent.hibernate.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.StatelessSession;
import org.hibernate.Transaction;

/**
 * Utils for this library. For internal use only.
 *
 * @author V.Ladynev
 */
public final class InternalUtils {

    private InternalUtils() {

    }

    public static int hashCode(Object... objects) {
        return Arrays.hashCode(objects);
    }

    public static boolean equal(Object a, Object b) {
        return a == b || a != null && a.equals(b);
    }

    public static final class CollectionUtils {

        private CollectionUtils() {

        }

        public static  T first(List items) {
            return isEmpty(items) ? null : items.get(0);
        }

        public static boolean isEmpty(final Collection collection) {
            return collection == null || collection.isEmpty();
        }

        public static  ArrayList newArrayList() {
            return new ArrayList();
        }

        public static  HashMap newHashMap() {
            return new HashMap();
        }

    }

    public static final class HibernateUtils {

        private HibernateUtils() {

        }

        public static void rollback(Transaction txn) {
            if (txn != null) {
                txn.rollback();
            }
        }

        public static void close(Session session) {
            if (session != null && session.isOpen()) {
                session.close();
            }
        }

        public static void close(StatelessSession session) {
            if (session != null) {
                session.close();
            }
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy