01: /* ====================================================================
02: Licensed to the Apache Software Foundation (ASF) under one or more
03: contributor license agreements. See the NOTICE file distributed with
04: this work for additional information regarding copyright ownership.
05: The ASF licenses this file to You under the Apache License, Version 2.0
06: (the "License"); you may not use this file except in compliance with
07: the License. You may obtain a copy of the License at
08:
09: http://www.apache.org/licenses/LICENSE-2.0
10:
11: Unless required by applicable law or agreed to in writing, software
12: distributed under the License is distributed on an "AS IS" BASIS,
13: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: See the License for the specific language governing permissions and
15: limitations under the License.
16: ==================================================================== */
17: package org.apache.poi.hssf.record.formula;
18:
19: import org.apache.poi.hssf.model.Workbook;
20: import org.apache.poi.hssf.record.RecordInputStream;
21:
22: /**
23: * Implements the standard mathmatical multiplication - *
24: * @author Andrew C. Oliver (acoliver at apache dot org)
25: * @author Jason Height (jheight at chariot dot net dot au)
26: */
27:
28: public class MultiplyPtg extends OperationPtg {
29: public final static int SIZE = 1;
30: public final static byte sid = 0x05;
31:
32: /** Creates new AddPtg */
33:
34: public MultiplyPtg() {
35: }
36:
37: public MultiplyPtg(RecordInputStream in) {
38:
39: // doesn't need anything
40: }
41:
42: public void writeBytes(byte[] array, int offset) {
43: array[offset + 0] = sid;
44: }
45:
46: public int getSize() {
47: return SIZE;
48: }
49:
50: public int getType() {
51: return TYPE_BINARY;
52: }
53:
54: public int getNumberOfOperands() {
55: return 2;
56: }
57:
58: public int getStringLength() {
59: return 1;
60: }
61:
62: public String toFormulaString(Workbook book) {
63: return "*";
64: }
65:
66: public String toFormulaString(Ptg[] operands) {
67: StringBuffer buffer = new StringBuffer();
68:
69: buffer.append(operands[0].toFormulaString((Workbook) null));
70: buffer.append("*");
71: buffer.append(operands[1].toFormulaString((Workbook) null));
72: return buffer.toString();
73: }
74:
75: public String toFormulaString(String[] operands) {
76: StringBuffer buffer = new StringBuffer();
77:
78: buffer.append(operands[0]);
79: buffer.append(toFormulaString((Workbook) null));
80: buffer.append(operands[1]);
81: return buffer.toString();
82: }
83:
84: public Object clone() {
85: return new MultiplyPtg();
86: }
87: }
|