⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 store.java

📁 用Java写的面相对象的数据库管理系统
💻 JAVA
字号:
// 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-2000 by SMB GmbH. All rights reserved.//// $Id: Store.java,v 1.10 2000/10/28 16:55:17 daniela Exp $package org.ozoneDB.core;import java.io.*;import org.ozoneDB.DxLib.*;import org.ozoneDB.*;/** * Together with the {@link ObjectContainer} interface this is the Store * back-end API.<p> *  *  * @author <a href="http://www.softwarebuero.de/">SMB</a> * @version $Revision: 1.10 $Date: 2000/10/28 16:55:17 $ */public interface Store  {            /**     * Aid constructor, because a store is instantiated with 'newInstance',     * where we've got no arguments.     */    public void init( Env env );            public void startup() throws Exception;            public void shutdown() throws Exception;            public Object newTransactionData();        /**     * Creates a new object container and initializes it with the specified     * target object. The new container is immediatly accessible from the calling     * transaction via containerByID but it is not joined to this transaction.     * It needs to be joined and commited afterwards.     *      *      * @param ta     * @param target     * @param objID     * @param permission     * @param name     * @return An container-proxy for the created container.     */    public ObjectContainer newContainer( Transaction ta, OzoneCompatible target, ObjectID objID,            Permissions permissions ) throws Exception;            /**     * Update lock level of the given container according to the leve of the     * containers lock object.     */    public void updateLockLevel( Transaction ta, ObjectContainer container ) throws Exception;        /**     * Prepare the specified transaction for commit. All operations that may     * fail during the commit process should be done here. However, this method     * must not change any global data structures such as the idTable that     * are used by other transactions too.<p>     *      * The {@link TransactionManager} let this method run exclusivly. However,     * {@link  prepareCommitTransaction} and {@link commitTransaction} are not     * an atomar operation.     *      *      * @param ta Transaction that will be commited.     */    public void prepareCommitTransaction( Transaction ta ) throws Exception;            public void commitTransaction( Transaction ta ) throws Exception;            /**     * @param ta ID of the comitting transaction.     * @param created     * @param modified     */    public void abortTransaction( Transaction ta ) throws Exception;            public ObjectContainer containerForID( Transaction ta, ObjectID id ) throws Exception;            /**     * @param name The object name to search for.     * @param ta     * @return The object container for the name or null.     */    public ObjectContainer containerForName( Transaction ta, String name ) throws Exception;            /**     * @param ta     * @param container     * @param name     */    public void nameContainer( Transaction ta, ObjectContainer container, String name ) throws PermissionDeniedExc;            /**     * Force the Store to make a guess which objects are used together with the     * container with the specified id.     * @param id The ObjectID if the container.     */    public DxBag clusterOfID( ObjectID id ) throws Exception;    }

⌨️ 快捷键说明

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