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.*; 62 63 /** 64 * Indicates the chart-group index for a series. The order probably defines the mapping. So the 0th record probably means the 0th series. The only field in this of course defines which chart group the 0th series (for instance) would map to. Confusing? Well thats because it is. (p 522 BCG) 65 * NOTE: This source is automatically generated please do not modify this file. Either subclass or 66 * remove the record in src/records/definitions. 67 68 * @author Andrew C. Oliver (acoliver at apache.org) 69 */ 70 public class SeriesToChartGroupRecord 71 extends Record 72 { 73 public final static short sid = 0x1045; 74 private short field_1_chartGroupIndex; 75 76 77 public SeriesToChartGroupRecord() 78 { 79 80 } 81 82 /** 83 * Constructs a SeriesToChartGroup record and sets its fields appropriately. 84 * 85 * @param id id must be 0x1045 or an exception 86 * will be throw upon validation 87 * @param size size the size of the data area of the record 88 * @param data data of the record (should not contain sid/len) 89 */ 90 91 public SeriesToChartGroupRecord(short id, short size, byte [] data) 92 { 93 super(id, size, data); 94 } 95 96 /** 97 * Constructs a SeriesToChartGroup record and sets its fields appropriately. 98 * 99 * @param id id must be 0x1045 or an exception 100 * will be throw upon validation 101 * @param size size the size of the data area of the record 102 * @param data data of the record (should not contain sid/len) 103 * @param offset of the record's data 104 */ 105 106 public SeriesToChartGroupRecord(short id, short size, byte [] data, int offset) 107 { 108 super(id, size, data, offset); 109 } 110 111 /** 112 * Checks the sid matches the expected side for this record 113 * 114 * @param id the expected sid. 115 */ 116 protected void validateSid(short id) 117 { 118 if (id != sid) 119 { 120 throw new RecordFormatException("Not a SeriesToChartGroup record"); 121 } 122 } 123 124 protected void fillFields(byte [] data, short size, int offset) 125 { 126 field_1_chartGroupIndex = LittleEndian.getShort(data, 0x0 + offset); 127 128 } 129 130 public String toString() 131 { 132 StringBuffer buffer = new StringBuffer(); 133 134 buffer.append("[SeriesToChartGroup]\n"); 135 136 buffer.append(" .chartGroupIndex = ") 137 .append("0x") 138 .append(HexDump.toHex((short)getChartGroupIndex())) 139 .append(" (").append(getChartGroupIndex()).append(" )\n"); 140 141 buffer.append("[/SeriesToChartGroup]\n"); 142 return buffer.toString(); 143 } 144 145 public int serialize(int offset, byte[] data) 146 { 147 LittleEndian.putShort(data, 0 + offset, sid); 148 LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4)); 149 150 LittleEndian.putShort(data, 4 + offset, field_1_chartGroupIndex); 151 152 return getRecordSize(); 153 } 154 155 /** 156 * Size of record (exluding 4 byte header) 157 */ 158 public int getRecordSize() 159 { 160 return 4 + 2; 161 } 162 163 public short getSid() 164 { 165 return this.sid; 166 } 167 168 public Object clone() { 169 SeriesToChartGroupRecord rec = new SeriesToChartGroupRecord(); 170 171 rec.field_1_chartGroupIndex = field_1_chartGroupIndex; 172 173 return rec; 174 } 175 176 177 /** 178 * Get the chart group index field for the SeriesToChartGroup record. 179 */ 180 public short getChartGroupIndex() 181 { 182 return field_1_chartGroupIndex; 183 } 184 185 /** 186 * Set the chart group index field for the SeriesToChartGroup record. 187 */ 188 public void setChartGroupIndex(short field_1_chartGroupIndex) 189 { 190 this.field_1_chartGroupIndex = field_1_chartGroupIndex; 191 } 192 193 194 } // END OF CLASS 195 196 197 198 199