/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved. * */ package com.sleepycat.collections.test; import com.sleepycat.bind.RecordNumberBinding; import com.sleepycat.db.DatabaseEntry; import com.sleepycat.db.SecondaryDatabase; import com.sleepycat.db.SecondaryKeyCreator; /** * Unused until secondaries are available. * @author Mark Hayes */ class TestKeyCreator implements SecondaryKeyCreator { private final boolean isRecNum; TestKeyCreator(boolean isRecNum) { this.isRecNum = isRecNum; } public boolean createSecondaryKey(SecondaryDatabase db, DatabaseEntry primaryKeyData, DatabaseEntry valueData, DatabaseEntry indexKeyData) { if (valueData.getSize() == 0) { return false; } if (valueData.getSize() != 1) { throw new IllegalStateException(); } byte val = valueData.getData()[valueData.getOffset()]; if (val == 0) { return false; // fixed-len pad value } val -= 100; if (isRecNum) { RecordNumberBinding.recordNumberToEntry(val, indexKeyData); } else { indexKeyData.setData(new byte[] { val }, 0, 1); } return true; } public void clearIndexKey(DatabaseEntry valueData) { throw new RuntimeException("not supported"); } }