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

com.maxifier.mxcache.impl.CacheId Maven / Gradle / Ivy

/*
 * Copyright (c) 2008-2014 Maxifier Ltd. All Rights Reserved.
 */
package com.maxifier.mxcache.impl;

import javax.annotation.Nonnull;

/**
 * @author Alexander Kochurov ([email protected])
 */
public final class CacheId {
    @Nonnull
    private final Class declaringClass;

    private final int id;

    public CacheId(@Nonnull Class declaringClass, int id) {
        this.declaringClass = declaringClass;
        this.id = id;
    }

    @Nonnull
    public Class getDeclaringClass() {
        return declaringClass;
    }

    public int getId() {
        return id;
    }

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

        CacheId cacheId = (CacheId) o;

        return id == cacheId.id && declaringClass.equals(cacheId.declaringClass);

    }

    @Override
    public int hashCode() {
        int result = declaringClass.hashCode();
        result = 31 * result + id;
        return result;
    }

    @Override
    public String toString() {
        return "CacheId{declaringClass=" + declaringClass +  ", id=" + id +  '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy