KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ozoneDB > core > DbRemote > DbNextID


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

9 package org.ozoneDB.core.DbRemote;
10
11 import org.ozoneDB.core.ObjectID;
12 import org.ozoneDB.core.Transaction;
13
14 import java.io.*;
15
16
17 /**
18  * @author <a HREF="http://www.softwarebuero.de/">SMB</a>
19  * @version $Revision: 1.3 $Date: 2002/09/18 06:54:16 $
20  */

21 public final class DbNextID extends DbCommand {
22
23     private long range;
24
25
26     public DbNextID( long _range ) {
27         range = _range;
28     }
29
30
31     public void perform( Transaction ta ) throws Exception JavaDoc {
32         // env.logWriter.newEntry (this, "DbCreateObj.perform()...", LogWriter.DEBUG);
33

34         long id = env.keyGenerator.nextID( range );
35         result = new ObjectID( id );
36     }
37
38
39     public void writeExternal( ObjectOutput out ) throws IOException {
40         out.writeLong( range );
41     }
42
43
44     public synchronized void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException JavaDoc {
45         range = in.readLong();
46     }
47
48 }
49
Popular Tags