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 /** 98 * Constructs a SeriesToChartGroup record and sets its fields appropriately. 99 * 100 * @param id id must be 0x1045 or an exception 101 * will be throw upon validation 102 * @param size size the size of the data area of the record 103 * @param data data of the record (should not contain sid/len) 104 * @param offset of the record's data 105 */ 106 107 public SeriesToChartGroupRecord(short id, short size, byte [] data, int offset) 108 { 109 super(id, size, data, offset); 110 111 } 112 113 /** 114 * Checks the sid matches the expected side for this record 115 * 116 * @param id the expected sid. 117 */ 118 protected void validateSid(short id) 119 { 120 if (id != sid) 121 { 122 throw new RecordFormatException("Not a SeriesToChartGroup record"); 123 } 124 } 125 126 protected void fillFields(byte [] data, short size, int offset) 127 { 128 129 int pos = 0; 130 field_1_chartGroupIndex = LittleEndian.getShort(data, pos + 0x0 + offset); 131 132 } 133 134 public String toString() 135 { 136 StringBuffer buffer = new StringBuffer(); 137 138 buffer.append("[SeriesToChartGroup]\n"); 139 buffer.append(" .chartGroupIndex = ") 140 .append("0x").append(HexDump.toHex( getChartGroupIndex ())) 141 .append(" (").append( getChartGroupIndex() ).append(" )"); 142 buffer.append(System.getProperty("line.separator")); 143 144 buffer.append("[/SeriesToChartGroup]\n"); 145 return buffer.toString(); 146 } 147 148 public int serialize(int offset, byte[] data) 149 { 150 int pos = 0; 151 152 LittleEndian.putShort(data, 0 + offset, sid); 153 LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4)); 154 155 LittleEndian.putShort(data, 4 + offset + pos, field_1_chartGroupIndex); 156 157 return getRecordSize(); 158 } 159 160 /** 161 * Size of record (exluding 4 byte header) 162 */ 163 public int getRecordSize() 164 { 165 return 4 + 2; 166 } 167 168 public short getSid() 169 { 170 return this.sid; 171 } 172 173 public Object clone() { 174 SeriesToChartGroupRecord rec = new SeriesToChartGroupRecord(); 175 176 rec.field_1_chartGroupIndex = field_1_chartGroupIndex; 177 return rec; 178 } 179 180 181 182 183 /** 184 * Get the chart group index field for the SeriesToChartGroup record. 185 */ 186 public short getChartGroupIndex() 187 { 188 return field_1_chartGroupIndex; 189 } 190 191 /** 192 * Set the chart group index field for the SeriesToChartGroup record. 193 */ 194 public void setChartGroupIndex(short field_1_chartGroupIndex) 195 { 196 this.field_1_chartGroupIndex = field_1_chartGroupIndex; 197 } 198 199 200 } // END OF CLASS 201 202 203 204 205