testclasscatalog.java

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

JAVA
61
字号
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002-2006 *	Oracle Corporation.  All rights reserved. * * $Id: TestClassCatalog.java,v 12.3 2006/08/24 14:46:43 bostic Exp $ */package com.sleepycat.bind.serial.test;import java.io.ObjectStreamClass;import java.util.HashMap;import com.sleepycat.bind.serial.ClassCatalog;import com.sleepycat.db.DatabaseException;/** * @author Mark Hayes */public class TestClassCatalog implements ClassCatalog {    private HashMap idToDescMap = new HashMap();    private HashMap nameToIdMap = new HashMap();    private int nextId = 1;    public TestClassCatalog() {    }    public void close()        throws DatabaseException {    }    public synchronized byte[] getClassID(ObjectStreamClass desc)        throws DatabaseException {        String className = desc.getName();        byte[] id = (byte[]) nameToIdMap.get(className);        if (id == null) {            String strId = String.valueOf(nextId);            id = strId.getBytes();            nextId += 1;            idToDescMap.put(strId, desc);            nameToIdMap.put(className, id);        }        return id;    }    public synchronized ObjectStreamClass getClassFormat(byte[] id)        throws DatabaseException {        String strId = new String(id);        ObjectStreamClass desc = (ObjectStreamClass) idToDescMap.get(strId);        if (desc == null) {            throw new DatabaseException("classID not found");        }        return desc;    }}

⌨️ 快捷键说明

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