testentitybinding.java

来自「嵌入式数据库Berkeley DB-4.5.20源代码」· Java 代码 · 共 65 行

JAVA
65
字号
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002-2006 *	Oracle Corporation.  All rights reserved. * * $Id: TestEntityBinding.java,v 12.3 2006/08/24 14:46:46 bostic Exp $ */package com.sleepycat.collections.test;import com.sleepycat.bind.EntityBinding;import com.sleepycat.bind.RecordNumberBinding;import com.sleepycat.db.DatabaseEntry;/** * @author Mark Hayes */class TestEntityBinding implements EntityBinding {    private boolean isRecNum;    TestEntityBinding(boolean isRecNum) {        this.isRecNum = isRecNum;    }    public Object entryToObject(DatabaseEntry key, DatabaseEntry value) {        byte keyByte;        if (isRecNum) {            if (key.getSize() != 4) {                throw new IllegalStateException();            }            keyByte = (byte) RecordNumberBinding.entryToRecordNumber(key);        } else {            if (key.getSize() != 1) {                throw new IllegalStateException();            }            keyByte = key.getData()[key.getOffset()];        }        if (value.getSize() != 1) {            throw new IllegalStateException();        }        byte valByte = value.getData()[value.getOffset()];        return new TestEntity(keyByte, valByte);    }    public void objectToKey(Object object, DatabaseEntry key) {        byte val = (byte) ((TestEntity) object).key;        if (isRecNum) {            RecordNumberBinding.recordNumberToEntry(val, key);        } else {            key.setData(new byte[] { val }, 0, 1);        }    }    public void objectToData(Object object, DatabaseEntry value) {        byte val = (byte) ((TestEntity) object).value;        value.setData(new byte[] { val }, 0, 1);    }}

⌨️ 快捷键说明

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