ASF Bugzilla – Attachment 4106 Details for
Bug 14733
[PATCH] HSSFHeader and HSSFFooter doesnot support for my native language
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
HeaderRecord.java rewriten using StringValue2
HeaderRecord.java (text/plain), 7.03 KB, created by
qiuyiping
on 2002-12-10 11:25:37 UTC
(
hide
)
Description:
HeaderRecord.java rewriten using StringValue2
Filename:
MIME Type:
Creator:
qiuyiping
Created:
2002-12-10 11:25:37 UTC
Size:
7.03 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 org.apache.poi.util.StringUtil; > >/** > * Title: Header Record<P> > * Description: Specifies a header for a sheet<P> > * REFERENCE: PG 321 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> > * @author Andrew C. Oliver (acoliver at apache dot org) > * @author Shawn Laubach (laubach@acm.org) Modified 3/14/02 > * @author Jason Height (jheight at chariot dot net dot au) > * @version 2.0-pre > */ > >public class HeaderRecord > extends Record >{ > public final static short sid = 0x14; > //private byte field_1_header_len; > private StringValue2 field_1_header = new StringValue2(); > > public HeaderRecord() > { > } > > /** > * Constructs an Header record and sets its fields appropriately. > * > * @param id id must be 0x14 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 HeaderRecord(short id, short size, byte [] data) > { > super(id, size, data); > } > > /** > * Constructs an Header record and sets its fields appropriately. > * > * @param id id must be 0x14 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 HeaderRecord(short id, short size, byte [] data, int offset) > { > super(id, size, data, offset); > } > > protected void validateSid(short id) > { > if (id != sid) > { > throw new RecordFormatException("NOT A HEADERRECORD"); > } > } > > protected void fillFields(byte [] data, short size, int offset) > { > if (size > 0) > { > if(field_1_header!=null)field_1_header.fillFields(data, size, offset); > else field_1_header = new StringValue2(size, data, offset); > } > } > > /** > * set the length of the header string > * > * @param len length of the header string > * @see #setHeader(String) > */ > > public void setHeaderLength(byte len) > { > field_1_header.setStringLength(len); > } > > /** > * set the header string > * > * @param header string to display > * @see #setHeaderLength(byte) > */ > > public void setHeader(String header) > { > field_1_header.setString(header); > } > > /** > * get the length of the header string > * > * @return length of the header string > * @see #getHeader() > */ > > public short getHeaderLength() > { > return (short)field_1_header.getStringLength(); // [Shawn] Fixed needing unsigned byte > } > > /** > * get the header string > * > * @return header string to display > * @see #getHeaderLength() > */ > > public String getHeader() > { > return field_1_header.getString(); > } > > public String toString() > { > StringBuffer buffer = new StringBuffer(); > > buffer.append("[HEADER]\n"); > buffer.append(" .length = ").append(getHeaderLength()) > .append("\n"); > buffer.append(" .header = ").append(getHeader()) > .append("\n"); > buffer.append("[/HEADER]\n"); > return buffer.toString(); > } > > public int serialize(int offset, byte [] data) > { > /*int len = 4; > > if (getHeaderLength() != 0) > { > len+=3; // [Shawn] Fixed for two null bytes in the length > }*/ > LittleEndian.putShort(data, 0 + offset, sid); > field_1_header.serialize(4+offset,data); > LittleEndian.putShort(data, 2 + offset, (short)field_1_header.getRecordSize()); > /* > LittleEndian.putShort(data, 2 + offset, > ( short ) ((len - 4) + getHeaderLength())); > > if (getHeaderLength() > 0) > { > data[ 4 + offset ] = (byte)getHeaderLength(); > StringUtil.putCompressedUnicode(getHeader(), data, 7 + offset); // [Shawn] Place the string in the correct offset > }*/ > return getRecordSize(); > } > > public int getRecordSize() > { > return field_1_header.getRecordSize()+4; > } > > public short getSid() > { > return this.sid; > } > > public Object clone() { > HeaderRecord rec = new HeaderRecord(); > rec.field_1_header = this.field_1_header; > return rec; > } >}
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 14733
:
3916
|
3963
|
3964
|
3965
|
4013
|
4104
|
4105
| 4106 |
4156