1 /* 2 * dpkg - Debian Package library and the Debian Package Maven plugin 3 * (c) Copyright 2015 Gerrit Hohl 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Software Foundation; either version 2 8 * of the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 package net.sourceforge.javadpkg.control; 20 21 22 /** 23 * <p> 24 * The size of data. 25 * </p> 26 * 27 * @author Gerrit Hohl (gerrit-hohl@users.sourceforge.net) 28 * @version <b>1.0</b>, 31.12.2015 by Gerrit Hohl 29 */ 30 public class Size { 31 32 33 /** The size in bytes. */ 34 private long size; 35 36 37 /** 38 * <p> 39 * Creates a size of 0 bytes. 40 * </p> 41 */ 42 public Size() { 43 super(); 44 45 this.size = 0; 46 } 47 48 49 /** 50 * <p> 51 * Creates a size in bytes. 52 * </p> 53 * 54 * @param size 55 * The size in bytes. 56 */ 57 public Size(long size) { 58 super(); 59 60 this.size = size; 61 } 62 63 64 /** 65 * <p> 66 * Returns the size in bytes. 67 * </p> 68 * 69 * @return The size. 70 */ 71 public long getBytes() { 72 return this.size; 73 } 74 75 76 /** 77 * <p> 78 * Returns the size in kilobytes. 79 * </p> 80 * <p> 81 * The size is divided by 1024 and rounded up. 82 * </p> 83 * 84 * @return The size. 85 */ 86 public long getKiloBytes() { 87 long result; 88 89 90 result = (this.size / 1024) + ((this.size % 1024) > 0 ? 1 : 0); 91 return result; 92 } 93 94 95 /** 96 * <p> 97 * Returns the size for the specified number of bytes. 98 * </p> 99 * 100 * @param size 101 * The size in bytes. 102 * @return The size. 103 */ 104 public static Size getSizeInBytes(long size) { 105 Size result; 106 107 108 result = new Size(size); 109 return result; 110 } 111 112 113 /** 114 * <p> 115 * Returns the size for the specified number of kilobytes. 116 * </p> 117 * 118 * @param size 119 * The size in kilobytes. 120 * @return The size. 121 */ 122 public static Size getSizeInKiloBytes(long size) { 123 Size result; 124 125 126 result = new Size(size * 1024); 127 return result; 128 } 129 130 131 }