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
111
112 public CategorySeriesAxisRecord(short id, short size, byte [] data, int offset)
113 {
114 super(id, size, data, offset);
115 }
116
117
122 protected void validateSid(short id)
123 {
124 if (id != sid)
125 {
126 throw new RecordFormatException("Not a CategorySeriesAxis record");
127 }
128 }
129
130 protected void fillFields(byte [] data, short size, int offset)
131 {
132 field_1_crossingPoint = LittleEndian.getShort(data, 0x0 + offset);
133 field_2_labelFrequency = LittleEndian.getShort(data, 0x2 + offset);
134 field_3_tickMarkFrequency = LittleEndian.getShort(data, 0x4 + offset);
135 field_4_options = LittleEndian.getShort(data, 0x6 + offset);
136
137 }
138
139 public String toString()
140 {
141 StringBuffer buffer = new StringBuffer();
142
143 buffer.append("[CategorySeriesAxis]\n");
144
145 buffer.append(" .crossingPoint = ")
146 .append("0x")
147 .append(HexDump.toHex((short)getCrossingPoint()))
148 .append(" (").append(getCrossingPoint()).append(" )\n");
149
150 buffer.append(" .labelFrequency = ")
151 .append("0x")
152 .append(HexDump.toHex((short)getLabelFrequency()))
153 .append(" (").append(getLabelFrequency()).append(" )\n");
154
155 buffer.append(" .tickMarkFrequency = ")
156 .append("0x")
157 .append(HexDump.toHex((short)getTickMarkFrequency()))
158 .append(" (").append(getTickMarkFrequency()).append(" )\n");
159
160 buffer.append(" .options = ")
161 .append("0x")
162 .append(HexDump.toHex((short)getOptions()))
163 .append(" (").append(getOptions()).append(" )\n");
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("[/CategorySeriesAxis]\n");
169 return buffer.toString();
170 }
171
172 public int serialize(int offset, byte[] data)
173 {
174 LittleEndian.putShort(data, 0 + offset, sid);
175 LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4));
176
177 LittleEndian.putShort(data, 4 + offset, field_1_crossingPoint);
178 LittleEndian.putShort(data, 6 + offset, field_2_labelFrequency);
179 LittleEndian.putShort(data, 8 + offset, field_3_tickMarkFrequency);
180 LittleEndian.putShort(data, 10 + offset, field_4_options);
181
182 return getRecordSize();
183 }
184
185
188 public int getRecordSize()
189 {
190 return 4 + 2 + 2 + 2 + 2;
191 }
192
193 public short getSid()
194 {
195 return this.sid;
196 }
197
198 public Object clone() {
199 CategorySeriesAxisRecord rec = new CategorySeriesAxisRecord();
200
201 rec.field_1_crossingPoint = field_1_crossingPoint;
202 rec.field_2_labelFrequency = field_2_labelFrequency;
203 rec.field_3_tickMarkFrequency = field_3_tickMarkFrequency;
204 rec.field_4_options = field_4_options;
205
206 return rec;
207 }
208
209
210
213 public short getCrossingPoint()
214 {
215 return field_1_crossingPoint;
216 }
217
218
221 public void setCrossingPoint(short field_1_crossingPoint)
222 {
223 this.field_1_crossingPoint = field_1_crossingPoint;
224 }
225
226
229 public short getLabelFrequency()
230 {
231 return field_2_labelFrequency;
232 }
233
234
237 public void setLabelFrequency(short field_2_labelFrequency)
238 {
239 this.field_2_labelFrequency = field_2_labelFrequency;
240 }
241
242
245 public short getTickMarkFrequency()
246 {
247 return field_3_tickMarkFrequency;
248 }
249
250
253 public void setTickMarkFrequency(short field_3_tickMarkFrequency)
254 {
255 this.field_3_tickMarkFrequency = field_3_tickMarkFrequency;
256 }
257
258
261 public short getOptions()
262 {
263 return field_4_options;
264 }
265
266
269 public void setOptions(short field_4_options)
270 {
271 this.field_4_options = field_4_options;
272 }
273
274
278 public void setValueAxisCrossing(boolean value)
279 {
280 field_4_options = valueAxisCrossing.setShortBoolean(field_4_options, value);
281 }
282
283
287 public boolean isValueAxisCrossing()
288 {
289 return valueAxisCrossing.isSet(field_4_options);
290 }
291
292
296 public void setCrossesFarRight(boolean value)
297 {
298 field_4_options = crossesFarRight.setShortBoolean(field_4_options, value);
299 }
300
301
305 public boolean isCrossesFarRight()
306 {
307 return crossesFarRight.isSet(field_4_options);
308 }
309
310
314 public void setReversed(boolean value)
315 {
316 field_4_options = reversed.setShortBoolean(field_4_options, value);
317 }
318
319
323 public boolean isReversed()
324 {
325 return reversed.isSet(field_4_options);
326 }
327
328
329 }
330
331
332
333
334