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

com.dottydingo.hyperion.jpa.model.BasePersistentObject Maven / Gradle / Ivy

There is a newer version: 2.0.0-EA3
Show newest version
package com.dottydingo.hyperion.jpa.model;


import com.dottydingo.hyperion.core.model.PersistentObject;

import javax.persistence.*;
import java.io.Serializable;

/**
 * An abstract base class that can be used for persistent objects.
 * @param  serializable identifier
 */
@MappedSuperclass
public abstract class BasePersistentObject implements PersistentObject
{

    public String toString() {

        return String.format("Entity of type %s with id: %s", this.getClass().getName(), getId());
    }

    @Override
    public boolean equals(Object o)
    {
        if (this == o) return true;
        if (o == null || !(o instanceof BasePersistentObject)) return false;

        BasePersistentObject that = (BasePersistentObject) o;

        if (getId() != null
                ? !getId().equals(that.getId())
                : that.getId() != null) return false;

        return true;
    }

    @Override
    public int hashCode()
    {
        return getId() != null
                ? getId().hashCode()
                : 0;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy