Ignore:
Timestamp:
08/17/12 09:05:19 (12 years ago)
Author:
sherbold
Message:
  • adapted to quest coding style
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/IncompleteMemory.java

    r518 r559  
     1 
    12package de.ugoe.cs.quest.usageprofiles; 
    23 
     
    78/** 
    89 * <p> 
    9  * Implements a round-trip buffered memory of a specified length that can be 
    10  * used to remember the recent history. Every event that happend longer ago than 
    11  * the length of the memory is forgotten, hence the memory is incomplete. 
     10 * Implements a round-trip buffered memory of a specified length that can be used to remember the 
     11 * recent history. Every event that happend longer ago than the length of the memory is forgotten, 
     12 * hence the memory is incomplete. 
    1213 * </p> 
    1314 *  
     
    2021public class IncompleteMemory<T> implements IMemory<T> { 
    2122 
    22         /** 
    23         * <p> 
    24         * Maximum length of the memory. 
    25         * </p> 
    26         */ 
    27         private int length; 
     23    /** 
     24    * <p> 
     25    * Maximum length of the memory. 
     26    * </p> 
     27    */ 
     28    private int length; 
    2829 
    29         /** 
    30         * <p> 
    31         * Internal storage of the history. 
    32         * </p> 
    33         */ 
    34         private List<T> history; 
     30    /** 
     31    * <p> 
     32    * Internal storage of the history. 
     33    * </p> 
     34    */ 
     35    private List<T> history; 
    3536 
    36         /** 
    37          * <p> 
    38          * Constructor. Creates a new IncompleteMemory. 
    39          * </p> 
    40          *  
    41          * @param length 
    42          *            number of recent events that are remembered 
    43          * @throws InvalidParameterException 
    44          *             This exception is thrown if the length is smaller than 1 
    45          */ 
    46         public IncompleteMemory(int length) { 
    47                 if (length < 1) { 
    48                         throw new InvalidParameterException( 
    49                                         "Length of IncompleteMemory must be at least 1."); 
    50                 } 
    51                 this.length = length; 
    52                 history = new LinkedList<T>(); 
    53         } 
     37    /** 
     38     * <p> 
     39     * Constructor. Creates a new IncompleteMemory. 
     40     * </p> 
     41     *  
     42     * @param length 
     43     *            number of recent events that are remembered 
     44     * @throws InvalidParameterException 
     45     *             This exception is thrown if the length is smaller than 1 
     46     */ 
     47    public IncompleteMemory(int length) { 
     48        if (length < 1) { 
     49            throw new InvalidParameterException("Length of IncompleteMemory must be at least 1."); 
     50        } 
     51        this.length = length; 
     52        history = new LinkedList<T>(); 
     53    } 
    5454 
    55         /* 
    56         * (non-Javadoc) 
    57         *  
    58         * @see de.ugoe.cs.quest.usageprofiles.IMemory#add(java.lang.Object) 
    59         */ 
    60         @Override 
    61         public void add(T state) { 
    62                 if (history.size() == length) { 
    63                         history.remove(0); 
    64                 } 
    65                 history.add(state); 
    66         } 
     55    /* 
     56    * (non-Javadoc) 
     57    *  
     58    * @see de.ugoe.cs.quest.usageprofiles.IMemory#add(java.lang.Object) 
     59    */ 
     60    @Override 
     61    public void add(T state) { 
     62        if (history.size() == length) { 
     63            history.remove(0); 
     64        } 
     65        history.add(state); 
     66    } 
    6767 
    68         /* 
    69         * (non-Javadoc) 
    70         *  
    71         * @see de.ugoe.cs.quest.usageprofiles.IMemory#getLast(int) 
    72         */ 
    73         @Override 
    74         public List<T> getLast(int num) { 
    75                 if( num<1 ) { 
    76                         return new LinkedList<T>(); 
    77                 } else { 
    78                 return new LinkedList<T>(history.subList( 
    79                                 Math.max(0, history.size() - num), 
    80                                 history.size())); // defensive copy 
    81                 } 
    82         } 
     68    /* 
     69    * (non-Javadoc) 
     70    *  
     71    * @see de.ugoe.cs.quest.usageprofiles.IMemory#getLast(int) 
     72    */ 
     73    @Override 
     74    public List<T> getLast(int num) { 
     75        if (num < 1) { 
     76            return new LinkedList<T>(); 
     77        } 
     78        else { 
     79            return new LinkedList<T>(history.subList(Math.max(0, history.size() - num), 
     80                                                     history.size())); // defensive copy 
     81        } 
     82    } 
    8383 
    84         /** 
    85         * <p> 
    86          * Returns the current length of the memory. This can be less than 
    87          * {@link #length}, if the overall history is less than {@link #length}. 
    88         * </p> 
    89         *  
    90         * @return length of the current memory 
    91         */ 
    92         public int getLength() { 
    93                 return history.size(); 
    94         } 
     84    /** 
     85    * <p> 
     86     * Returns the current length of the memory. This can be less than {@link #length}, if the 
     87     * overall history is less than {@link #length}. 
     88    * </p> 
     89    *  
     90    * @return length of the current memory 
     91    */ 
     92    public int getLength() { 
     93        return history.size(); 
     94    } 
    9595} 
Note: See TracChangeset for help on using the changeset viewer.