diff --git a/src/java/org/apache/poi/hssf/record/formula/NameXPtg.java b/src/java/org/apache/poi/hssf/record/formula/NameXPtg.java new file mode 100644 index 000000000..b913f438a --- /dev/null +++ b/src/java/org/apache/poi/hssf/record/formula/NameXPtg.java @@ -0,0 +1,130 @@ + +/* ==================================================================== + * 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 + * . + */ + +/* + * NameXPtg.java + * + * Created on May 5, 2003 + */ +package org.apache.poi.hssf.record.formula; + +import org.apache.poi.util.LittleEndian; +import org.apache.poi.hssf.util.SheetReferences; + +/** + * + * @author aviks + */ + +public class NameXPtg extends Ptg +{ + public final static short sid = 0x39; + private final static int SIZE = 7; + private short field_1_ixals; // index to externsheet record + private short field_2_ilbl; //index to name or externname table(1 based) + private short field_3_reserved; // reserved must be 0 + + + private NameXPtg() { + //Required for clone methods + } + + /** Creates new NamePtg */ + + public NameXPtg(String name) + { + //TODO + } + + /** Creates new NamePtg */ + + public NameXPtg(byte[] data, int offset) + { + offset++; + field_1_ixals = LittleEndian.getShort(data, offset); + field_2_ilbl = LittleEndian.getShort(data, offset + 2); + field_3_reserved = LittleEndian.getShort(data, offset +4); + + //field_2_reserved = LittleEndian.getByteArray(data, offset + 12,12); + } + + public void writeBytes(byte [] array, int offset) + { + array[ offset + 0 ] = sid; + LittleEndian.putShort(array, offset + 1, field_1_ixals); + LittleEndian.putShort(array,offset+3, field_2_ilbl); + LittleEndian.putShort(array, offset + 5, field_3_reserved); + } + + public int getSize() + { + return SIZE; + } + + public String toFormulaString(SheetReferences refs) + { + return "NO IDEA - NAME"; + } + + public byte getDefaultOperandClass() {return Ptg.CLASS_VALUE;} + + public Object clone() { + NameXPtg ptg = new NameXPtg(); + ptg.field_1_ixals = field_1_ixals; + ptg.field_3_reserved = field_3_reserved; + ptg.field_2_ilbl = field_2_ilbl; + return ptg; + } +}