/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ package com.sleepycat.db; import com.sleepycat.db.internal.DbConstants; /** Database types. */ public final class DatabaseType { /** The database is a Btree. The Btree format is a representation of a sorted, balanced tree structure. */ public static final DatabaseType BTREE = new DatabaseType("BTREE", DbConstants.DB_BTREE); /** The database is a Hash. The Hash format is an extensible, dynamic hashing scheme. */ public static final DatabaseType HASH = new DatabaseType("HASH", DbConstants.DB_HASH); /** The database is a Heap. The Heap format is designed for efficient use of disk space. */ public static final DatabaseType HEAP = new DatabaseType("HEAP", DbConstants.DB_HEAP); /** The database is a Queue. The Queue format supports fast access to fixed-length records accessed sequentially or by logical record number. */ public static final DatabaseType QUEUE = new DatabaseType("QUEUE", DbConstants.DB_QUEUE); /** The database is a Recno. The Recno format supports fixed- or variable-length records, accessed sequentially or by logical record number, and optionally backed by a flat text file. */ public static final DatabaseType RECNO = new DatabaseType("RECNO", DbConstants.DB_RECNO); /** The database type is unknown. */ public static final DatabaseType UNKNOWN = new DatabaseType("UNKNOWN", DbConstants.DB_UNKNOWN); /* package */ static DatabaseType fromInt(int type) { switch(type) { case DbConstants.DB_BTREE: return BTREE; case DbConstants.DB_HASH: return HASH; case DbConstants.DB_HEAP: return HEAP; case DbConstants.DB_QUEUE: return QUEUE; case DbConstants.DB_RECNO: return DatabaseType.RECNO; case DbConstants.DB_UNKNOWN: return DatabaseType.UNKNOWN; default: throw new IllegalArgumentException( "Unknown database type: " + type); } } private String statusName; private int id; private DatabaseType(final String statusName, final int id) { this.statusName = statusName; this.id = id; } /* package */ int getId() { return id; } /** {@inheritDoc} */ public String toString() { return "DatabaseType." + statusName; } }