klute       2002/12/28 03:15:12

  Modified:    src/java/org/apache/poi/hssf/record SupBookRecord.java
  Log:
  One-line file properly split into many lines.
  
  Revision  Changes    Path
  1.5       +185 -1    
jakarta-poi/src/java/org/apache/poi/hssf/record/SupBookRecord.java
  
  Index: SupBookRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/SupBookRecord.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SupBookRecord.java        28 Dec 2002 08:11:33 -0000      1.4
  +++ SupBookRecord.java        28 Dec 2002 11:15:11 -0000      1.5
  @@ -1 +1,185 @@
  -/* ====================================================================
 * 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 [EMAIL PROTECTED]
 *
 * 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;

/**
 * Title:   
     Sup Book  <P>
 * Description:  A Extrenal Workbook Deciption (Sup Book)
 *        
       Its only a dummy record for making new ExternSheet Record <P>
 * REFERENCE:  
<P>
 * @author Libin Roman (Vista Portal LDT. Developer)
 * @author Andrew C. Oliver 
([EMAIL PROTECTED])
 *
 */
public class SupBookRecord extends Record
{
    public 
final static short sid = 0x1AE;
    private short             
field_1_number_of_sheets;
    private short             field_2_flag;


    public 
SupBookRecord()
    {
        setFlag((short)0x401);
    }

    /**
     * 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 SupBookRecord(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 0x1ae 
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 SupBookRecord(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 An Supbook 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)
    {
        //For now We use it only for one case
        //When we need to 
add an named range when no named ranges was
        //before it
        
field_1_number_of_sheets = LittleEndian.getShort(data,offset+0);
        field_2_flag 
= LittleEndian.getShort(data,offset+2);
    }


    public String toString()
    {
    
    StringBuffer buffer = new StringBuffer();
        buffer.append("[SUPBOOK]\n");
   
     buffer.append("numberosheets = ").append(getNumberOfSheets()).append('\n');
      
  buffer.append("flag          = ").append(getFlag()).append('\n');
        
buffer.append("[/SUPBOOK]\n");
        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) 4);
        
LittleEndian.putShort(data, 4 + offset, field_1_number_of_sheets);
        
LittleEndian.putShort(data, 6 + offset, field_2_flag);

        return 
getRecordSize();
    }

    public void setNumberOfSheets(short number){
        
field_1_number_of_sheets = number;
    }

    public short getNumberOfSheets(){
       
 return field_1_number_of_sheets;
    }

    public void setFlag(short flag){
        
field_2_flag = flag;
    }

    public short getFlag() {
        return field_2_flag;
 
   }

    public int getRecordSize()
    {
        return 4 + 4;
    }

    public 
short getSid()
    {
        return this.sid;
    }
}

  \ No newline at end of file
  +/* ====================================================================
  + * 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 [EMAIL PROTECTED]
  + *
  + * 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;
  +
  +/**
  + * Title:        Sup Book  <P>
  + * Description:  A Extrenal Workbook Deciption (Sup Book)
  + *               Its only a dummy record for making new ExternSheet Record <P>
  + * REFERENCE:  <P>
  + * @author Libin Roman (Vista Portal LDT. Developer)
  + * @author Andrew C. Oliver ([EMAIL PROTECTED])
  + *
  + */
  +public class SupBookRecord extends Record
  +{
  +    public final static short sid = 0x1AE;
  +    private short             field_1_number_of_sheets;
  +    private short             field_2_flag;
  +
  +
  +    public SupBookRecord()
  +    {
  +        setFlag((short)0x401);
  +    }
  +
  +    /**
  +     * 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 SupBookRecord(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 0x1ae 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 SupBookRecord(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 An Supbook 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)
  +    {
  +        //For now We use it only for one case
  +        //When we need to add an named range when no named ranges was
  +        //before it
  +        field_1_number_of_sheets = LittleEndian.getShort(data,offset+0);
  +        field_2_flag = LittleEndian.getShort(data,offset+2);
  +    }
  +
  +
  +    public String toString()
  +    {
  +        StringBuffer buffer = new StringBuffer();
  +        buffer.append("[SUPBOOK]\n");
  +        buffer.append("numberosheets = ").append(getNumberOfSheets()).append('\n');
  +        buffer.append("flag          = ").append(getFlag()).append('\n');
  +        buffer.append("[/SUPBOOK]\n");
  +        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) 4);
  +        LittleEndian.putShort(data, 4 + offset, field_1_number_of_sheets);
  +        LittleEndian.putShort(data, 6 + offset, field_2_flag);
  +
  +        return getRecordSize();
  +    }
  +
  +    public void setNumberOfSheets(short number){
  +        field_1_number_of_sheets = number;
  +    }
  +
  +    public short getNumberOfSheets(){
  +        return field_1_number_of_sheets;
  +    }
  +
  +    public void setFlag(short flag){
  +        field_2_flag = flag;
  +    }
  +
  +    public short getFlag() {
  +        return field_2_flag;
  +    }
  +
  +    public int getRecordSize()
  +    {
  +        return 4 + 4;
  +    }
  +
  +    public short getSid()
  +    {
  +        return this.sid;
  +    }
  +}
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to