/*- * 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; } }