Changeset 253 for trunk


Ignore:
Timestamp:
10/12/11 22:26:16 (13 years ago)
Author:
sherbold
Message:
  • improved handling of bad input values for methods of de.ugoe.cs.eventbench.models.IncompleMemory?
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IncompleteMemory.java

    r106 r253  
    11package de.ugoe.cs.eventbench.models; 
    22 
     3import java.security.InvalidParameterException; 
    34import java.util.LinkedList; 
    45import java.util.List; 
     
    4041         * @param length 
    4142         *            number of recent events that are remembered 
     43         * @throws InvalidParameterException 
     44         *             This exception is thrown if the length is smaller than 1 
    4245         */ 
    4346        public IncompleteMemory(int length) { 
     47                if (length < 1) { 
     48                        throw new InvalidParameterException( 
     49                                        "Length of IncompleteMemory must be at least 1."); 
     50                } 
    4451                this.length = length; 
    4552                history = new LinkedList<T>(); 
     
    6673        @Override 
    6774        public List<T> getLast(int num) { 
    68                 return new LinkedList<T>(history); // defensive copy 
     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                } 
    6982        } 
    7083 
Note: See TracChangeset for help on using the changeset viewer.