Package org.chaidb.db.index.btree.bufmgr

Source Code of org.chaidb.db.index.btree.bufmgr.CollectionStorage

/*
* Copyright (C) 2006  http://www.chaidb.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
*/

package org.chaidb.db.index.btree.bufmgr;

import java.util.LinkedList;


public class CollectionStorage {
    private String primaryDir;
    LinkedList extendedDirs;
    private String currentDir;

    /**
     * CollectionStorage Constructor
     *
     * @param primaryDir   Primary Directory for this Collection
     * @param extendedDirs Extended Directories for this Collection
     * @param currentDir   The Directory that Collection adds new files
     */
    public CollectionStorage(String primaryDir, LinkedList extendedDirs, String currentDir) {
        this.primaryDir = primaryDir;
        this.extendedDirs = extendedDirs;
        this.currentDir = currentDir;
    }

    /**
     * CollectionStorage Constructor
     *
     * @param primaryDir Primary Directory for this Collection
     */
    public CollectionStorage(String primaryDir) {
        this.primaryDir = primaryDir;
        extendedDirs = new LinkedList();
        currentDir = primaryDir;
    }

    /**
     * add a new extended Directory to the last of extendedDirs
     * We take the new directory as current Directory
     *
     * @param extendedDir Extended Directory for this Collection
     */
    public void addExtendedDir(String extendedDir) {
        extendedDirs.addLast(extendedDir);
        currentDir = extendedDir;
    }

    /**
     * remove an extended Directory to the last of extendedDirs
     * We take last extended  directory as current Directory
     *
     * @param extendedDir Extended Directory to be removed
     */
    public void removeExtendedDir(String extendedDir) {
        extendedDirs.remove(extendedDir);
        currentDir = (String) extendedDirs.getLast();
    }

    public String getPrimaryDirectory() {
        return primaryDir;
    }

    public String getCurrentDirectory() {
        return currentDir;
    }

    public LinkedList getExtendedDirectory() {
        return extendedDirs;
    }
}
TOP

Related Classes of org.chaidb.db.index.btree.bufmgr.CollectionStorage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.