com.sleepycat.collections.StoredMapEntry Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of je Show documentation
Show all versions of je Show documentation
Berkley Database Java Edition - build and runtime support.
/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2000, 2010 Oracle and/or its affiliates. All rights reserved.
*
*/
package com.sleepycat.collections;
/**
* @author Mark Hayes
*/
final class StoredMapEntry extends MapEntryParameter {
private BaseIterator iter;
private StoredCollection coll;
StoredMapEntry(Object key,
Object value,
StoredCollection coll,
BaseIterator iter) {
super(key, value);
this.coll = coll;
this.iter = iter;
}
public Object setValue(Object newValue) {
Object oldValue;
if (iter != null && iter.isCurrentData(this)) {
oldValue = getValue();
iter.set(newValue);
} else {
if (coll.view.dupsAllowed) {
throw new IllegalStateException("May not insert duplicates");
}
oldValue = coll.putKeyValue(getKey(), newValue);
}
setValueInternal(newValue);
return oldValue;
}
}