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:
18: package org.apache.poi.hssf.record.formula;
19:
20: import java.util.List;
21:
22: import org.apache.poi.hssf.model.Workbook;
23: import org.apache.poi.hssf.record.RecordInputStream;
24:
25: /**
26: * Unary Plus operator
27: * does not have any effect on the operand
28: * @author Avik Sengupta
29: */
30:
31: public class UnaryMinusPtg extends OperationPtg {
32: public final static int SIZE = 1;
33: public final static byte sid = 0x13;
34:
35: private final static String MINUS = "-";
36:
37: /** Creates new AddPtg */
38:
39: public UnaryMinusPtg() {
40: }
41:
42: public UnaryMinusPtg(RecordInputStream in) {
43:
44: // doesn't need anything
45: }
46:
47: public void writeBytes(byte[] array, int offset) {
48: array[offset + 0] = sid;
49: }
50:
51: public int getSize() {
52: return SIZE;
53: }
54:
55: public int getType() {
56: return this .TYPE_UNARY;
57: }
58:
59: public int getNumberOfOperands() {
60: return 1;
61: }
62:
63: /** Implementation of method from Ptg */
64: public String toFormulaString(Workbook book) {
65: return "+";
66: }
67:
68: /** implementation of method from OperationsPtg*/
69: public String toFormulaString(String[] operands) {
70: StringBuffer buffer = new StringBuffer();
71: buffer.append(MINUS);
72: buffer.append(operands[0]);
73: return buffer.toString();
74: }
75:
76: public byte getDefaultOperandClass() {
77: return Ptg.CLASS_VALUE;
78: }
79:
80: public Object clone() {
81: return new UnaryPlusPtg();
82: }
83:
84: }
|