dbnextid.java

来自「Java的面向对象数据库系统的源代码」· Java 代码 · 共 49 行

JAVA
49
字号
// You can redistribute this software and/or modify it under the terms of
// the Ozone Core License version 1 published by ozone-db.org.
//
// The original code and portions created by SMB are
// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.
//
// $Id: DbNextID.java,v 1.3 2002/09/18 06:54:16 per_nyfelt Exp $

package org.ozoneDB.core.DbRemote;

import org.ozoneDB.core.ObjectID;
import org.ozoneDB.core.Transaction;

import java.io.*;


/**
 * @author <a href="http://www.softwarebuero.de/">SMB</a>
 * @version $Revision: 1.3 $Date: 2002/09/18 06:54:16 $
 */
public final class DbNextID extends DbCommand {

    private long range;


    public DbNextID( long _range ) {
        range = _range;
    }


    public void perform( Transaction ta ) throws Exception {
        // env.logWriter.newEntry (this, "DbCreateObj.perform()...", LogWriter.DEBUG);

        long id = env.keyGenerator.nextID( range );
        result = new ObjectID( id );
    }


    public void writeExternal( ObjectOutput out ) throws IOException {
        out.writeLong( range );
    }


    public synchronized void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException {
        range = in.readLong();
    }

}

⌨️ 快捷键说明

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