ASF Bugzilla – Attachment 1582 Details for
Bug 8114
[PATCH] Named Ranges
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
org\apache\poi\hssf\record\
ExternSheetRecord.java (text/plain), 7.85 KB, created by
Libin Roman
on 2002-04-15 15:53:57 UTC
(
hide
)
Description:
org\apache\poi\hssf\record\
Filename:
MIME Type:
Creator:
Libin Roman
Created:
2002-04-15 15:53:57 UTC
Size:
7.85 KB
patch
obsolete
> >/* ==================================================================== > * The Apache Software License, Version 1.1 > * > * Copyright (c) 2002 The Apache Software Foundation. All rights > * reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in > * the documentation and/or other materials provided with the > * distribution. > * > * 3. The end-user documentation included with the redistribution, > * if any, must include the following acknowledgment: > * "This product includes software developed by the > * Apache Software Foundation (http://www.apache.org/)." > * Alternately, this acknowledgment may appear in the software itself, > * if and wherever such third-party acknowledgments normally appear. > * > * 4. The names "Apache" and "Apache Software Foundation" and > * "Apache POI" must not be used to endorse or promote products > * derived from this software without prior written permission. For > * written permission, please contact apache@apache.org. > * > * 5. Products derived from this software may not be called "Apache", > * "Apache POI", nor may "Apache" appear in their name, without > * prior written permission of the Apache Software Foundation. > * > * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED > * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE > * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR > * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF > * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND > * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, > * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT > * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * ==================================================================== > * > * This software consists of voluntary contributions made by many > * individuals on behalf of the Apache Software Foundation. For more > * information on the Apache Software Foundation, please see > * <http://www.apache.org/>. > */ > >package org.apache.poi.hssf.record; > >import org.apache.poi.util.LittleEndian; > >import java.util.ArrayList; > >/** > * Title: Extern Sheet <P> > * Description: A List of Inndexes to SupBook <P> > * REFERENCE: <P> > * @author Libin Roman (Vista Portal LDT. Developer) > * @version 1.0-pre > */ > >public class ExternSheetRecord extends Record { > public final static short sid = 0x17; > private short field_1_number_of_REF_sturcutres; > private ArrayList field_2_REF_structures; > > public ExternSheetRecord() { > field_2_REF_structures = new ArrayList(); > } > > /** > * Constructs a Extern Sheet record and sets its fields appropriately. > * > * @param id id must be 0x16 or an exception will be throw upon validation > * @param size the size of the data area of the record > * @param data data of the record (should not contain sid/len) > */ > > public ExternSheetRecord(short id, short size, byte[] data) { > super(id, size, data); > } > > /** > * Constructs a Extern Sheet record and sets its fields appropriately. > * > * @param id id must be 0x16 or an exception will be throw upon validation > * @param size the size of the data area of the record > * @param data data of the record (should not contain sid/len) > * @param offset of the record's data > */ > public ExternSheetRecord(short id, short size, byte[] data, int offset) { > super(id, size, data, offset); > } > > /** > * called by constructor, should throw runtime exception in the event of a > * record passed with a differing ID. > * > * @param id alleged id for this record > */ > protected void validateSid(short id) { > if (id != sid) { > throw new RecordFormatException("NOT An ExternSheet RECORD"); > } > } > > /** > * called by the constructor, should set class level fields. Should throw > * runtime exception for bad/icomplete data. > * > * @param data raw data > * @param size size of data > * @param offset of the record's data (provided a big array of the file) > */ > protected void fillFields(byte [] data, short size, int offset) { > field_2_REF_structures = new ArrayList(); > > field_1_number_of_REF_sturcutres = LittleEndian.getShort(data, 0 + offset); > > int pos = 2 + offset; > for (int i = 0 ; i < field_1_number_of_REF_sturcutres ; ++i) { > ExternSheetSubRecord rec = new ExternSheetSubRecord((short)0, (short)6 , data , pos); > > pos += 6; > > field_2_REF_structures.add( rec); > } > } > > /** sets the number of the REF structors , that is in Excel file > * @param numStruct number of REF structs > */ > public void setNumOfREFStructures(short numStruct) { > field_1_number_of_REF_sturcutres = numStruct; > } > > /** return the number of the REF structors , that is in Excel file > * @return number of REF structs > */ > public short getNumOfREFStructures() { > return field_1_number_of_REF_sturcutres; > } > > /** adds REF struct (ExternSheetSubRecord) > * @param rec REF struct > */ > public void addREFRecord(ExternSheetSubRecord rec) { > field_2_REF_structures.add(rec); > } > > /** returns the number of REF Record , which is in model > * @return number of REF records > */ > public int getNumOfREFRecord() { > return field_2_REF_structures.size(); > } > > /** return the REF record (ExternSheetSubRecord) > * @param elem index to place > * @return REF record > */ > public ExternSheetSubRecord getREFRecordAt(int elem) { > ExternSheetSubRecord result = ( ExternSheetSubRecord ) field_2_REF_structures.get(elem); > > return result; > } > > public String toString() { > StringBuffer buffer = new StringBuffer(); > > return buffer.toString(); > } > > /** > * called by the class that is responsible for writing this sucker. > * Subclasses should implement this so that their data is passed back in a > * byte array. > * > * @param offset to begin writing at > * @param data byte array containing instance data > * @return number of bytes written > */ > public int serialize(int offset, byte [] data) { > LittleEndian.putShort(data, 0 + offset, sid); > LittleEndian.putShort(data, 2 + offset,(short)(2 + (getNumOfREFRecord() *6))); > > LittleEndian.putShort(data, 4 + offset, getNumOfREFStructures()); > > int pos = 6 ; > > for (int k = 0; k < getNumOfREFRecord(); k++) { > ExternSheetSubRecord record = getREFRecordAt(k); > System.arraycopy(record.serialize(), 0, data, pos + offset, 6); > > pos +=6; > } > return getRecordSize(); > } > > public int getRecordSize() { > return 4 + 2 + getNumOfREFRecord() * 6; > } > > /** > * return the non static version of the id for this record. > */ > public short getSid() { > return this.sid; > } >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 8114
:
1581
| 1582 |
1583
|
1584
|
1585
|
1586
|
1587
|
1588
|
1589
|
1590
|
1591
|
1592
|
1597
|
1610
|
1647
|
1649
|
1650
|
1662
|
1663