DxListDeque.java :  » Database-DBMS » Ozone-1.1 » org » ozoneDB » DxLib » Java Open Source

Java Open Source » Database DBMS » Ozone 1.1 
Ozone 1.1 » org » ozoneDB » DxLib » DxListDeque.java
// You can redistribute this software and/or modify it under the terms of
// the Ozone Library License version 1 published by ozone-db.org.
//
// The original code and portions created by SMB are
// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.
//
// $Id: DxListDeque.java,v 1.1 2001/12/18 10:31:30 per_nyfelt Exp $

package org.ozoneDB.DxLib;

/**
 * 
 * 
 * @author <a href="http://www.softwarebuero.de/">SMB</a>
 * @version $Revision: 1.1 $Date: 2001/12/18 10:31:30 $
 */
public class DxListDeque extends DxListBag implements DxDeque {
    
    final static long serialVersionUID = 1L;
    
    
    /**
     */
    public DxListDeque() {
    }
    
    
    /**
     */
    public Object peek() {
        return peekBottom();
    } 
    
    
    /**
     */
    public Object peekTop() {
        //if the deque is empty, this return null
        return top.prev().data();
    } 
    
    
    /**
     */
    public Object peekBottom() {
        //if the deque is empty, this return null
        return start.next().data();
    } 
    
    
    /**
     */
    public synchronized void push( Object obj ) {
        pushBottom( obj );
    } 
    
    
    /**
     */
    public synchronized void pushTop( Object obj ) {
        top.storeInfront( new DxListNode( obj ) );
        itemCount++;
    } 
    
    
    /**
     */
    public synchronized void pushBottom( Object obj ) {
        start.storeBehind( new DxListNode( obj ) );
        itemCount++;
    } 
    
    
    /**
     */
    public Object pop() {
        return popBottom();
    } 
    
    
    /**
     */
    public Object popTop() {
        Object answer = top.prev().data();
        if (answer != null) {
            top.prev().remove();
            itemCount--;
        } 
        return answer;
    } 
    
    
    /**
     */
    public Object popBottom() {
        Object answer = start.next().data();
        if (answer != null) {
            start.next().remove();
            itemCount--;
        } 
        return answer;
    } 
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.