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

org.javers.repository.sql.reposiotries.PersistentGlobalId Maven / Gradle / Ivy

There is a newer version: 7.6.2
Show newest version
package org.javers.repository.sql.reposiotries;

import org.javers.common.collections.Optional;
import org.javers.common.validation.Validate;
import org.javers.core.metamodel.clazz.ManagedClass;
import org.javers.core.metamodel.object.GlobalId;

/**
* @author bartosz walacik
*/
public class PersistentGlobalId extends GlobalId{
    private final GlobalId instance;
    private final Optional primaryKey;

    PersistentGlobalId(GlobalId instance, Optional primaryKey) {
        Validate.argumentsAreNotNull(instance, primaryKey);
        this.instance = instance;
        this.primaryKey = primaryKey;
    }

    public boolean persisted() {
        return primaryKey.isPresent();
    }

    public long getPrimaryKey() {
        return primaryKey.get();
    }

    @Override
    public ManagedClass getCdoClass() {
        return instance.getCdoClass();
    }

    @Override
    public Object getCdoId() {
        return instance.getCdoId();
    }

    @Override
    public String value() {
        return instance.value();
    }

    @Override
    public int hashCode() {
        return instance.hashCode();
    }

    public GlobalId getInstance() {
        return instance;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy