1 /
55
56
57 package org.apache.poi.hssf.record;
58
59
60
61 import org.apache.poi.util.*;
62
63
70 public class CategorySeriesAxisRecord
71 extends Record
72 {
73 public final static short sid = 0x1020;
74 private short field_1_crossingPoint;
75 private short field_2_labelFrequency;
76 private short field_3_tickMarkFrequency;
77 private short field_4_options;
78 private BitField valueAxisCrossing = new BitField(0x1);
79 private BitField crossesFarRight = new BitField(0x2);
80 private BitField reversed = new BitField(0x4);
81
82
83 public CategorySeriesAxisRecord()
84 {
85
86 }
87
88
96
97 public CategorySeriesAxisRecord(short id, short size, byte [] data)
98 {
99 super(id, size, data);
100
101 }
102
103
112
113 public CategorySeriesAxisRecord(short id, short size, byte [] data, int offset)
114 {
115 super(id, size, data, offset);
116
117 }
118
119
124 protected void validateSid(short id)
125 {
126 if (id != sid)
127 {
128 throw new RecordFormatException("Not a CategorySeriesAxis record");
129 }
130 }
131
132 protected void fillFields(byte [] data, short size, int offset)
133 {
134
135 int pos = 0;
136 field_1_crossingPoint = LittleEndian.getShort(data, pos + 0x0 + offset);
137 field_2_labelFrequency = LittleEndian.getShort(data, pos + 0x2 + offset);
138 field_3_tickMarkFrequency = LittleEndian.getShort(data, pos + 0x4 + offset);
139 field_4_options = LittleEndian.getShort(data, pos + 0x6 + offset);
140
141 }
142
143 public String toString()
144 {
145 StringBuffer buffer = new StringBuffer();
146
147 buffer.append("[CATSERRANGE]\n");
148 buffer.append(" .crossingPoint = ")
149 .append("0x").append(HexDump.toHex( getCrossingPoint ()))
150 .append(" (").append( getCrossingPoint() ).append(" )");
151 buffer.append(System.getProperty("line.separator"));
152 buffer.append(" .labelFrequency = ")
153 .append("0x").append(HexDump.toHex( getLabelFrequency ()))
154 .append(" (").append( getLabelFrequency() ).append(" )");
155 buffer.append(System.getProperty("line.separator"));
156 buffer.append(" .tickMarkFrequency = ")
157 .append("0x").append(HexDump.toHex( getTickMarkFrequency ()))
158 .append(" (").append( getTickMarkFrequency() ).append(" )");
159 buffer.append(System.getProperty("line.separator"));
160 buffer.append(" .options = ")
161 .append("0x").append(HexDump.toHex( getOptions ()))
162 .append(" (").append( getOptions() ).append(" )");
163 buffer.append(System.getProperty("line.separator"));
164 buffer.append(" .valueAxisCrossing = ").append(isValueAxisCrossing()).append('\n');
165 buffer.append(" .crossesFarRight = ").append(isCrossesFarRight()).append('\n');
166 buffer.append(" .reversed = ").append(isReversed()).append('\n');
167
168 buffer.append("[/CATSERRANGE]\n");
169 return buffer.toString();
170 }
171
172 public int serialize(int offset, byte[] data)
173 {
174 int pos = 0;
175
176 LittleEndian.putShort(data, 0 + offset, sid);
177 LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4));
178
179 LittleEndian.putShort(data, 4 + offset + pos, field_1_crossingPoint);
180 LittleEndian.putShort(data, 6 + offset + pos, field_2_labelFrequency);
181 LittleEndian.putShort(data, 8 + offset + pos, field_3_tickMarkFrequency);
182 LittleEndian.putShort(data, 10 + offset + pos, field_4_options);
183
184 return getRecordSize();
185 }
186
187
190 public int getRecordSize()
191 {
192 return 4 + 2 + 2 + 2 + 2;
193 }
194
195 public short getSid()
196 {
197 return this.sid;
198 }
199
200 public Object clone() {
201 CategorySeriesAxisRecord rec = new CategorySeriesAxisRecord();
202
203 rec.field_1_crossingPoint = field_1_crossingPoint;
204 rec.field_2_labelFrequency = field_2_labelFrequency;
205 rec.field_3_tickMarkFrequency = field_3_tickMarkFrequency;
206 rec.field_4_options = field_4_options;
207 return rec;
208 }
209
210
211
212
213
216 public short getCrossingPoint()
217 {
218 return field_1_crossingPoint;
219 }
220
221
224 public void setCrossingPoint(short field_1_crossingPoint)
225 {
226 this.field_1_crossingPoint = field_1_crossingPoint;
227 }
228
229
232 public short getLabelFrequency()
233 {
234 return field_2_labelFrequency;
235 }
236
237
240 public void setLabelFrequency(short field_2_labelFrequency)
241 {
242 this.field_2_labelFrequency = field_2_labelFrequency;
243 }
244
245
248 public short getTickMarkFrequency()
249 {
250 return field_3_tickMarkFrequency;
251 }
252
253
256 public void setTickMarkFrequency(short field_3_tickMarkFrequency)
257 {
258 this.field_3_tickMarkFrequency = field_3_tickMarkFrequency;
259 }
260
261
264 public short getOptions()
265 {
266 return field_4_options;
267 }
268
269
272 public void setOptions(short field_4_options)
273 {
274 this.field_4_options = field_4_options;
275 }
276
277
281 public void setValueAxisCrossing(boolean value)
282 {
283 field_4_options = valueAxisCrossing.setShortBoolean(field_4_options, value);
284 }
285
286
290 public boolean isValueAxisCrossing()
291 {
292 return valueAxisCrossing.isSet(field_4_options);
293 }
294
295
299 public void setCrossesFarRight(boolean value)
300 {
301 field_4_options = crossesFarRight.setShortBoolean(field_4_options, value);
302 }
303
304
308 public boolean isCrossesFarRight()
309 {
310 return crossesFarRight.isSet(field_4_options);
311 }
312
313
317 public void setReversed(boolean value)
318 {
319 field_4_options = reversed.setShortBoolean(field_4_options, value);
320 }
321
322
326 public boolean isReversed()
327 {
328 return reversed.isSet(field_4_options);
329 }
330
331
332 }
333
334
335
336
337