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

org.javers.core.metamodel.type.MapEnumerationOwnerContext Maven / Gradle / Ivy

There is a newer version: 7.6.1
Show newest version
package org.javers.core.metamodel.type;

import org.javers.core.metamodel.object.EnumerationAwareOwnerContext;
import org.javers.core.metamodel.object.OwnerContext;

/**
 * @author bartosz.walacik
 */
public class MapEnumerationOwnerContext extends EnumerationAwareOwnerContext {
    private Object key;
    private boolean isKey;

    public MapEnumerationOwnerContext(OwnerContext ownerContext) {
        super(ownerContext, false);
    }

    public MapEnumerationOwnerContext(OwnerContext ownerContext, boolean requiresObjectHasher) {
        super(ownerContext, requiresObjectHasher);
    }

    @Override
    public String getEnumeratorContextPath() {
        if (key != null) {
            return key.toString();
        }
        return "";
    }

    public boolean isKey() {
        return isKey;
    }

    public void switchToValue(Object key) {
        this.key = key;
        this.isKey = false;
    }

    public void switchToKey() {
        this.key = null;
        this.isKey = true;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy