/**
* Copyright 2010 Wealthfront Inc. Licensed under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
* or agreed to in writing, software distributed under the License is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package com.kaching.platform.hibernate.types;
import org.hibernate.HibernateException;
import org.hibernate.usertype.CompositeUserType;
import org.hibernate.usertype.UserType;
/**
* Common implementation of {@link UserType} and {@link CompositeUserType} for
* mutable and immutable values.
*/
public abstract class AbstractType {
/**
* Delegating to object's {@link #equals} method with proper {@code null}
* checks.
*/
public final boolean equals(Object x, Object y)
throws HibernateException {
if (x == y) {
return true;
} else if (x == null || y == null) {
return false;
} else {
return x.equals(y);
}
}
/**
* Delegating to object's {@link #hashCode()} method.
*/
public final int hashCode(Object value) throws HibernateException {
return value.hashCode();
}
}