|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.mdr.persistence.btreeimpl.btreestorage;
import java.io.*;
import java.text.*;
import java.util.*;
import org.netbeans.mdr.persistence.*;
import org.netbeans.mdr.persistence.btreeimpl.btreeindex.*;
/**
* This is an index from names (Strings) to Integer. Its primary use is to
* store the codes for classes stored in the repository.
*/
public class CounterIndex extends NameIndex {
/* next integer to be assigned */
int nextInt = 0;
/** Create a new CounterIndex */
public CounterIndex() {
}
/** get an integer by its name. If none exists, throw an exception
* @param name the name associated with the integer
*/
public synchronized int get(String name) throws StorageException {
return ((Integer)getObj(name)).intValue();
}
/** get an integer by its name. If none exists, return null
* @param name the name associated with the integer
*/
public synchronized Integer getIf(String name) throws StorageException {
return (Integer)getObjIf(name);
}
/**
* Add a name-MOFID pair to the MofidIndex. If one already existed,
* throw an exception.
* @param name name of object to add to index
* @param id MOFID of object to add
*/
public synchronized int add(String name) throws StorageException {
int i = nextInt++;
addObj(name, new Integer(i));
return i;
}
/* write to a DataOutputStream
*/
public synchronized void write(DataOutputStream dstrm) throws StorageException{
super.write(dstrm);
try {
dstrm.writeInt(nextInt);
}
catch (IOException ex) {
throw new StorageIOException(ex);
}
}
/** read from a DataOutputStream
*/
public synchronized void read(DataInputStream dstrm) throws StorageException{
super.read(dstrm);
try {
nextInt = dstrm.readInt();
}
catch (IOException ex) {
throw new StorageIOException(ex);
}
}
/**
* write object to stream. Used by serialization.
* @param obj object to write
* @param strm stream to write it to
*/
protected void writeObjectToStream(Object obj, DataOutputStream strm)
throws StorageException {
try {
strm.writeInt(((Integer)obj).intValue());
}
catch (IOException ex) {
throw new StorageIOException(ex);
}
}
/**
* read object from stream. Used by deserialization.
* @param strm stream to read from
* @return obj object read
*/
protected Object readObjectFromStream(DataInputStream strm)
throws StorageException {
try {
return new Integer(strm.readInt());
}
catch (IOException ex) {
throw new StorageIOException(ex);
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.