1 /* 2 * MemoryLimitException 3 * 4 * Author: Lasse Collin <lasse.collin@tukaani.org> 5 * 6 * This file has been put into the public domain. 7 * You can do whatever you want with this file. 8 */ 9 10 package org.tukaani.xz; 11 12 /** 13 * Thrown when the memory usage limit given to the XZ decompressor 14 * would be exceeded. 15 * <p> 16 * The amount of memory required and the memory usage limit are 17 * included in the error detail message in human readable format. 18 */ 19 public class MemoryLimitException extends XZIOException { 20 private static final long serialVersionUID = 3L; 21 22 private final int memoryNeeded; 23 private final int memoryLimit; 24 25 /** 26 * Creates a new MemoryLimitException. 27 * <p> 28 * The amount of memory needed and the memory usage limit are 29 * included in the error detail message. 30 * 31 * @param memoryNeeded amount of memory needed as kibibytes (KiB) 32 * @param memoryLimit specified memory usage limit as kibibytes (KiB) 33 */ MemoryLimitException(int memoryNeeded, int memoryLimit)34 public MemoryLimitException(int memoryNeeded, int memoryLimit) { 35 super("" + memoryNeeded + " KiB of memory would be needed; limit was " 36 + memoryLimit + " KiB"); 37 38 this.memoryNeeded = memoryNeeded; 39 this.memoryLimit = memoryLimit; 40 } 41 42 /** 43 * Gets how much memory is required to decompress the data. 44 * 45 * @return amount of memory needed as kibibytes (KiB) 46 */ getMemoryNeeded()47 public int getMemoryNeeded() { 48 return memoryNeeded; 49 } 50 51 /** 52 * Gets what the memory usage limit was at the time the exception 53 * was created. 54 * 55 * @return memory usage limit as kibibytes (KiB) 56 */ getMemoryLimit()57 public int getMemoryLimit() { 58 return memoryLimit; 59 } 60 } 61