1 2 /* ==================================================================== 3 * The Apache Software License, Version 1.1 4 * 5 * Copyright (c) 2002 The Apache Software Foundation. All rights 6 * reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in 17 * the documentation and/or other materials provided with the 18 * distribution. 19 * 20 * 3. The end-user documentation included with the redistribution, 21 * if any, must include the following acknowledgment: 22 * "This product includes software developed by the 23 * Apache Software Foundation (http://www.apache.org/)." 24 * Alternately, this acknowledgment may appear in the software itself, 25 * if and wherever such third-party acknowledgments normally appear. 26 * 27 * 4. The names "Apache" and "Apache Software Foundation" and 28 * "Apache POI" must not be used to endorse or promote products 29 * derived from this software without prior written permission. For 30 * written permission, please contact apache@apache.org. 31 * 32 * 5. Products derived from this software may not be called "Apache", 33 * "Apache POI", nor may "Apache" appear in their name, without 34 * prior written permission of the Apache Software Foundation. 35 * 36 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 37 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 38 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 39 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 42 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 43 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 44 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 45 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 46 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 47 * SUCH DAMAGE. 48 * ==================================================================== 49 * 50 * This software consists of voluntary contributions made by many 51 * individuals on behalf of the Apache Software Foundation. For more 52 * information on the Apache Software Foundation, please see 53 * <http://www.apache.org/>. 54 */ 55 56 57 package org.apache.poi.hssf.record; 58 59 60 61 import org.apache.poi.util.BitField; 62 import org.apache.poi.util.LittleEndian; 63 import org.apache.poi.util.StringUtil; 64 import org.apache.poi.util.HexDump; 65 66 /** 67 * The axis record defines the type of an axis. 68 * NOTE: This source is automatically generated please do not modify this file. Either subclass or 69 * remove the record in src/records/definitions. 70 71 * @author Glen Stampoultzis (glens at apache.org) 72 */ 73 public class AxisRecord 74 extends Record 75 { 76 public final static short sid = 0x101d; 77 private short field_1_axisType; 78 public final static short AXIS_TYPE_CATEGORY_OR_X_AXIS = 0; 79 public final static short AXIS_TYPE_VALUE_AXIS = 1; 80 public final static short AXIS_TYPE_SERIES_AXIS = 2; 81 private int field_2_reserved1; 82 private int field_3_reserved2; 83 private int field_4_reserved3; 84 private int field_5_reserved4; 85 86 87 public AxisRecord() 88 { 89 90 } 91 92 /** 93 * Constructs a Axis record and sets its fields appropriately. 94 * 95 * @param id id must be 0x101d or an exception 96 * will be throw upon validation 97 * @param size size the size of the data area of the record 98 * @param data data of the record (should not contain sid/len) 99 */ 100 101 public AxisRecord(short id, short size, byte [] data) 102 { 103 super(id, size, data); 104 } 105 106 /** 107 * Constructs a Axis record and sets its fields appropriately. 108 * 109 * @param id id must be 0x101d or an exception 110 * will be throw upon validation 111 * @param size size the size of the data area of the record 112 * @param data data of the record (should not contain sid/len) 113 * @param offset of the record's data 114 */ 115 116 public AxisRecord(short id, short size, byte [] data, int offset) 117 { 118 super(id, size, data, offset); 119 } 120 121 /** 122 * Checks the sid matches the expected side for this record 123 * 124 * @param id the expected sid. 125 */ 126 protected void validateSid(short id) 127 { 128 if (id != sid) 129 { 130 throw new RecordFormatException("Not a Axis record"); 131 } 132 } 133 134 protected void fillFields(byte [] data, short size, int offset) 135 { 136 field_1_axisType = LittleEndian.getShort(data, 0x0 + offset); 137 field_2_reserved1 = LittleEndian.getInt(data, 0x2 + offset); 138 field_3_reserved2 = LittleEndian.getInt(data, 0x6 + offset); 139 field_4_reserved3 = LittleEndian.getInt(data, 0xa + offset); 140 field_5_reserved4 = LittleEndian.getInt(data, 0xe + offset); 141 142 } 143 144 public String toString() 145 { 146 StringBuffer buffer = new StringBuffer(); 147 148 buffer.append("[Axis]\n"); 149 150 buffer.append(" .axisType = ") 151 .append("0x") 152 .append(HexDump.toHex((short)getAxisType())) 153 .append(" (").append(getAxisType()).append(" )\n"); 154 155 buffer.append(" .reserved1 = ") 156 .append("0x") 157 .append(HexDump.toHex((int)getReserved1())) 158 .append(" (").append(getReserved1()).append(" )\n"); 159 160 buffer.append(" .reserved2 = ") 161 .append("0x") 162 .append(HexDump.toHex((int)getReserved2())) 163 .append(" (").append(getReserved2()).append(" )\n"); 164 165 buffer.append(" .reserved3 = ") 166 .append("0x") 167 .append(HexDump.toHex((int)getReserved3())) 168 .append(" (").append(getReserved3()).append(" )\n"); 169 170 buffer.append(" .reserved4 = ") 171 .append("0x") 172 .append(HexDump.toHex((int)getReserved4())) 173 .append(" (").append(getReserved4()).append(" )\n"); 174 175 buffer.append("[/Axis]\n"); 176 return buffer.toString(); 177 } 178 179 public int serialize(int offset, byte[] data) 180 { 181 LittleEndian.putShort(data, 0 + offset, sid); 182 LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4)); 183 184 LittleEndian.putShort(data, 4 + offset, field_1_axisType); 185 LittleEndian.putInt(data, 6 + offset, field_2_reserved1); 186 LittleEndian.putInt(data, 10 + offset, field_3_reserved2); 187 LittleEndian.putInt(data, 14 + offset, field_4_reserved3); 188 LittleEndian.putInt(data, 18 + offset, field_5_reserved4); 189 190 return getRecordSize(); 191 } 192 193 /** 194 * Size of record (exluding 4 byte header) 195 */ 196 public int getRecordSize() 197 { 198 return 4 + 2 + 4 + 4 + 4 + 4; 199 } 200 201 public short getSid() 202 { 203 return this.sid; 204 } 205 206 207 /** 208 * Get the axis type field for the Axis record. 209 * 210 * @return One of 211 * AXIS_TYPE_CATEGORY_OR_X_AXIS 212 * AXIS_TYPE_VALUE_AXIS 213 * AXIS_TYPE_SERIES_AXIS 214 */ 215 public short getAxisType() 216 { 217 return field_1_axisType; 218 } 219 220 /** 221 * Set the axis type field for the Axis record. 222 * 223 * @param field_1_axisType 224 * One of 225 * AXIS_TYPE_CATEGORY_OR_X_AXIS 226 * AXIS_TYPE_VALUE_AXIS 227 * AXIS_TYPE_SERIES_AXIS 228 */ 229 public void setAxisType(short field_1_axisType) 230 { 231 this.field_1_axisType = field_1_axisType; 232 } 233 234 /** 235 * Get the reserved1 field for the Axis record. 236 */ 237 public int getReserved1() 238 { 239 return field_2_reserved1; 240 } 241 242 /** 243 * Set the reserved1 field for the Axis record. 244 */ 245 public void setReserved1(int field_2_reserved1) 246 { 247 this.field_2_reserved1 = field_2_reserved1; 248 } 249 250 /** 251 * Get the reserved2 field for the Axis record. 252 */ 253 public int getReserved2() 254 { 255 return field_3_reserved2; 256 } 257 258 /** 259 * Set the reserved2 field for the Axis record. 260 */ 261 public void setReserved2(int field_3_reserved2) 262 { 263 this.field_3_reserved2 = field_3_reserved2; 264 } 265 266 /** 267 * Get the reserved3 field for the Axis record. 268 */ 269 public int getReserved3() 270 { 271 return field_4_reserved3; 272 } 273 274 /** 275 * Set the reserved3 field for the Axis record. 276 */ 277 public void setReserved3(int field_4_reserved3) 278 { 279 this.field_4_reserved3 = field_4_reserved3; 280 } 281 282 /** 283 * Get the reserved4 field for the Axis record. 284 */ 285 public int getReserved4() 286 { 287 return field_5_reserved4; 288 } 289 290 /** 291 * Set the reserved4 field for the Axis record. 292 */ 293 public void setReserved4(int field_5_reserved4) 294 { 295 this.field_5_reserved4 = field_5_reserved4; 296 } 297 298 299 } // END OF CLASS 300 301 302 303 304