testkeycreator.java

来自「linux 下的源代码分析阅读器 red hat公司新版」· Java 代码 · 共 60 行

JAVA
60
字号
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002,2007 Oracle.  All rights reserved. * * $Id: TestKeyCreator.java,v 12.5 2007/05/04 00:28:29 mark Exp $ */package com.sleepycat.collections.test;import com.sleepycat.bind.RecordNumberBinding;import com.sleepycat.db.DatabaseEntry;import com.sleepycat.db.DatabaseException;import com.sleepycat.db.SecondaryDatabase;import com.sleepycat.db.SecondaryKeyCreator;/** * Unused until secondaries are available. * @author Mark Hayes */class TestKeyCreator implements SecondaryKeyCreator {    private boolean isRecNum;    TestKeyCreator(boolean isRecNum) {        this.isRecNum = isRecNum;    }    public boolean createSecondaryKey(SecondaryDatabase db,                                      DatabaseEntry primaryKeyData,                                      DatabaseEntry valueData,                                      DatabaseEntry indexKeyData)        throws DatabaseException {        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");    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?