001: /* ====================================================================
002: Licensed to the Apache Software Foundation (ASF) under one or more
003: contributor license agreements. See the NOTICE file distributed with
004: this work for additional information regarding copyright ownership.
005: The ASF licenses this file to You under the Apache License, Version 2.0
006: (the "License"); you may not use this file except in compliance with
007: the License. You may obtain a copy of the License at
008:
009: http://www.apache.org/licenses/LICENSE-2.0
010:
011: Unless required by applicable law or agreed to in writing, software
012: distributed under the License is distributed on an "AS IS" BASIS,
013: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: See the License for the specific language governing permissions and
015: limitations under the License.
016: ==================================================================== */
017:
018: package org.apache.poi.hssf.record;
019:
020: import org.apache.poi.util.*;
021:
022: /**
023: * The data format record is used to index into a series.
024: * NOTE: This source is automatically generated please do not modify this file. Either subclass or
025: * remove the record in src/records/definitions.
026:
027: * @author Glen Stampoultzis (glens at apache.org)
028: */
029: public class DataFormatRecord extends Record {
030: public final static short sid = 0x1006;
031: private short field_1_pointNumber;
032: private short field_2_seriesIndex;
033: private short field_3_seriesNumber;
034: private short field_4_formatFlags;
035: private BitField useExcel4Colors = BitFieldFactory.getInstance(0x1);
036:
037: public DataFormatRecord() {
038:
039: }
040:
041: /**
042: * Constructs a DataFormat record and sets its fields appropriately.
043: *
044: * @param in the RecordInputstream to read the record from
045: */
046:
047: public DataFormatRecord(RecordInputStream in) {
048: super (in);
049:
050: }
051:
052: /**
053: * Checks the sid matches the expected side for this record
054: *
055: * @param id the expected sid.
056: */
057: protected void validateSid(short id) {
058: if (id != sid) {
059: throw new RecordFormatException("Not a DataFormat record");
060: }
061: }
062:
063: protected void fillFields(RecordInputStream in) {
064: field_1_pointNumber = in.readShort();
065: field_2_seriesIndex = in.readShort();
066: field_3_seriesNumber = in.readShort();
067: field_4_formatFlags = in.readShort();
068: }
069:
070: public String toString() {
071: StringBuffer buffer = new StringBuffer();
072:
073: buffer.append("[DATAFORMAT]\n");
074: buffer.append(" .pointNumber = ").append("0x")
075: .append(HexDump.toHex(getPointNumber())).append(" (")
076: .append(getPointNumber()).append(" )");
077: buffer.append(System.getProperty("line.separator"));
078: buffer.append(" .seriesIndex = ").append("0x")
079: .append(HexDump.toHex(getSeriesIndex())).append(" (")
080: .append(getSeriesIndex()).append(" )");
081: buffer.append(System.getProperty("line.separator"));
082: buffer.append(" .seriesNumber = ").append("0x")
083: .append(HexDump.toHex(getSeriesNumber())).append(" (")
084: .append(getSeriesNumber()).append(" )");
085: buffer.append(System.getProperty("line.separator"));
086: buffer.append(" .formatFlags = ").append("0x")
087: .append(HexDump.toHex(getFormatFlags())).append(" (")
088: .append(getFormatFlags()).append(" )");
089: buffer.append(System.getProperty("line.separator"));
090: buffer.append(" .useExcel4Colors = ").append(
091: isUseExcel4Colors()).append('\n');
092:
093: buffer.append("[/DATAFORMAT]\n");
094: return buffer.toString();
095: }
096:
097: public int serialize(int offset, byte[] data) {
098: int pos = 0;
099:
100: LittleEndian.putShort(data, 0 + offset, sid);
101: LittleEndian.putShort(data, 2 + offset,
102: (short) (getRecordSize() - 4));
103:
104: LittleEndian.putShort(data, 4 + offset + pos,
105: field_1_pointNumber);
106: LittleEndian.putShort(data, 6 + offset + pos,
107: field_2_seriesIndex);
108: LittleEndian.putShort(data, 8 + offset + pos,
109: field_3_seriesNumber);
110: LittleEndian.putShort(data, 10 + offset + pos,
111: field_4_formatFlags);
112:
113: return getRecordSize();
114: }
115:
116: /**
117: * Size of record (exluding 4 byte header)
118: */
119: public int getRecordSize() {
120: return 4 + 2 + 2 + 2 + 2;
121: }
122:
123: public short getSid() {
124: return sid;
125: }
126:
127: public Object clone() {
128: DataFormatRecord rec = new DataFormatRecord();
129:
130: rec.field_1_pointNumber = field_1_pointNumber;
131: rec.field_2_seriesIndex = field_2_seriesIndex;
132: rec.field_3_seriesNumber = field_3_seriesNumber;
133: rec.field_4_formatFlags = field_4_formatFlags;
134: return rec;
135: }
136:
137: /**
138: * Get the point number field for the DataFormat record.
139: */
140: public short getPointNumber() {
141: return field_1_pointNumber;
142: }
143:
144: /**
145: * Set the point number field for the DataFormat record.
146: */
147: public void setPointNumber(short field_1_pointNumber) {
148: this .field_1_pointNumber = field_1_pointNumber;
149: }
150:
151: /**
152: * Get the series index field for the DataFormat record.
153: */
154: public short getSeriesIndex() {
155: return field_2_seriesIndex;
156: }
157:
158: /**
159: * Set the series index field for the DataFormat record.
160: */
161: public void setSeriesIndex(short field_2_seriesIndex) {
162: this .field_2_seriesIndex = field_2_seriesIndex;
163: }
164:
165: /**
166: * Get the series number field for the DataFormat record.
167: */
168: public short getSeriesNumber() {
169: return field_3_seriesNumber;
170: }
171:
172: /**
173: * Set the series number field for the DataFormat record.
174: */
175: public void setSeriesNumber(short field_3_seriesNumber) {
176: this .field_3_seriesNumber = field_3_seriesNumber;
177: }
178:
179: /**
180: * Get the format flags field for the DataFormat record.
181: */
182: public short getFormatFlags() {
183: return field_4_formatFlags;
184: }
185:
186: /**
187: * Set the format flags field for the DataFormat record.
188: */
189: public void setFormatFlags(short field_4_formatFlags) {
190: this .field_4_formatFlags = field_4_formatFlags;
191: }
192:
193: /**
194: * Sets the use excel 4 colors field value.
195: * set true to use excel 4 colors.
196: */
197: public void setUseExcel4Colors(boolean value) {
198: field_4_formatFlags = useExcel4Colors.setShortBoolean(
199: field_4_formatFlags, value);
200: }
201:
202: /**
203: * set true to use excel 4 colors.
204: * @return the use excel 4 colors field value.
205: */
206: public boolean isUseExcel4Colors() {
207: return useExcel4Colors.isSet(field_4_formatFlags);
208: }
209:
210: } // END OF CLASS
|