Coverage Report - org.apache.commons.cache.adt.Listable
 
Classes in this File Line Coverage Branch Coverage Complexity
Listable
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2001-2004 The Apache Software Foundation
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *     http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.apache.commons.cache.adt;
 17  
 
 18  
 import java.util.LinkedList; // only used in JavaDoc comments, but this makes the warnings go away
 19  
 /**
 20  
  * A simple linked-listed inteface, supporting
 21  
  * both singly and doubly linked lists.
 22  
  * <p>
 23  
  * Unlike {@link java.util.LinkedList}, this interface
 24  
  * provides access to the list elements themselves, which
 25  
  * may necessary for some uses.
 26  
  *
 27  
  * @see java.util.LinkedList
 28  
  *
 29  
  * @version $Id: Listable.java 155435 2005-02-26 13:17:27Z dirkv $
 30  
  * @author Rodney Waldhoff
 31  
  */
 32  
 public interface Listable {
 33  
   /**
 34  
    * Return the <tt>Listable</tt> element following me,
 35  
    * or <tt>null</tt> if I am the last element in the
 36  
    * list.
 37  
    *
 38  
    * @return the <tt>Listable</tt> element following me,
 39  
    *         or <tt>null</tt>.
 40  
    */
 41  
   public abstract Listable getNext();
 42  
 
 43  
   /**
 44  
    * Return <tt>true</tt> if there is a <tt>Listable</tt>
 45  
    * element following me, <tt>false</tt> otherwise.
 46  
    *
 47  
    * @return <tt>true</tt> if there is a <tt>Listable</tt>
 48  
    *         element following me, <tt>false</tt> otherwise.
 49  
    */
 50  
   public abstract boolean hasNext();
 51  
 
 52  
   /**
 53  
    * Change my next element to <i>next</i>.
 54  
    * Note that this does not change the {@link #getPrev}
 55  
    * value of <i>next</i>.
 56  
    *
 57  
    * @param next my new following sibling.
 58  
    * @throws UnsupportedOperationException if I am a read-only list.
 59  
    */
 60  
   public abstract void setNext(Listable next) throws UnsupportedOperationException;
 61  
 
 62  
   /**
 63  
    * Return the <tt>Listable</tt> element preceeding me,
 64  
    * or <tt>null</tt> if I am the last element in the
 65  
    * list.
 66  
    *
 67  
    * @return the <tt>Listable</tt> element preceeding me,
 68  
    *         or <tt>null</tt>.
 69  
    * @throws UnsupportedOperationException if I am a singly-linked list.
 70  
    */
 71  
   public abstract Listable getPrev() throws UnsupportedOperationException;
 72  
 
 73  
   /**
 74  
    * Return <tt>true</tt> if there is a <tt>Listable</tt>
 75  
    * element preceeding me, <tt>false</tt> otherwise.
 76  
    *
 77  
    * @return <tt>true</tt> if there is a <tt>Listable</tt>
 78  
    *         element preceeding me, <tt>false</tt> otherwise.
 79  
    * @throws UnsupportedOperationException if I am a singly-linked list.
 80  
    */
 81  
   public abstract boolean hasPrev() throws UnsupportedOperationException;
 82  
 
 83  
   /**
 84  
    * Change my preceeding element to <i>prev</i>.
 85  
    * Note that this does not change the {@link #getNext}
 86  
    * value of <i>prev</i>.
 87  
    *
 88  
    * @param prev my new preceeding sibling.
 89  
    * @throws UnsupportedOperationException if I am a singly-linked or read-only list.
 90  
    */
 91  
   public abstract void setPrev(Listable prev) throws UnsupportedOperationException;
 92  
 }