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 + -
显示快捷键?