xref: /AOO42X/main/xmerge/java/xmerge/src/main/java/org/openoffice/xmerge/converter/xml/sxc/ColumnRowInfo.java (revision b0efeae40e43e6d4ccd561d22ec612d42773857b)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 package org.openoffice.xmerge.converter.xml.sxc;
25 
26 /**
27  * This is a class to define a table-column structure. This can then be
28  * used by plugins to write or read their own column types.
29  *
30  * @author Martin Maher
31  */
32 public class ColumnRowInfo {
33 
34     final public static int COLUMN  = 0x01;
35     final public static int ROW     = 0x02;
36 
37     final private static int DEFAULTROWSIZE_MIN = 250;
38     final private static int DEFAULTROWSIZE_MAX = 260;
39 
40     private int type;
41     private int dimension   = 0;
42     private int repeated    = 1;
43     private boolean userDefined = true;
44     private Format fmt = new Format();
45 
46     /**
47      * Constructor for a <code>ColumnRowInfo</code>
48      *
49      * @param type whether Row or column record
50      */
ColumnRowInfo(int type)51     public ColumnRowInfo(int type) {
52 
53         this.type = type;
54     }
55 
56     /**
57      * Constructor for a <code>ColumnRowInfo</code>
58      *
59      * @param dimension if it's a row the height, a column the width
60      * @param repeated how many times it is repeated
61      * @param type whether Row or column record
62      */
ColumnRowInfo(int dimension, int repeated, int type)63     public ColumnRowInfo(int dimension, int repeated, int type) {
64 
65         this.dimension = dimension;
66         this.repeated = repeated;
67         this.type = type;
68     }
69 
70     /**
71      * Constructor that includes userDefined field
72      *
73      * @param userDefined whether the record is manually set
74      */
ColumnRowInfo(int dimension, int repeated, int type, boolean userDefined)75     public ColumnRowInfo(int dimension, int repeated, int type, boolean userDefined) {
76 
77         this(dimension, repeated, type);
78         this.userDefined = userDefined;
79     }
80 
81     /**
82      * sets the definition
83      *
84      * @param fmt sets the definition
85      */
setFormat(Format fmt)86     public void setFormat(Format fmt) {
87 
88         this.fmt = fmt;
89     }
90 
91     /**
92      * returns Name of the definition
93      *
94      * @return the name which identifies the definition
95      */
getFormat()96     public Format getFormat() {
97 
98         return fmt;
99     }
100 
101     /**
102      * returns Name of the definition
103      *
104      * @return the name which identifies the definition
105      */
getSize()106     public int getSize() {
107 
108         return dimension;
109     }
110 
111     /**
112      * Sets the definition
113      *
114      * @param dimension
115      */
setSize(int dimension)116     public void setSize(int dimension) {
117 
118         this.dimension = dimension;
119     }
120     /**
121      * Returns the definition itself
122      *
123      * @return the definition
124      */
getRepeated()125     public int getRepeated() {
126 
127         return repeated;
128     }
129 
setRepeated(int repeated)130     public void setRepeated(int repeated) {
131 
132         this.repeated = repeated;
133     }
134 
135     /**
136      * Returns the definition itself
137      *
138      * @return the definition
139      */
isRow()140     public boolean isRow() {
141 
142         if(type==ROW)
143             return true;
144         else
145             return false;
146     }
147 
148     /**
149      * Returns the base Cell address
150      *
151      * @return the base cell address
152      */
isColumn()153     public boolean isColumn() {
154 
155         if(type==COLUMN)
156             return true;
157         else
158             return false;
159     }
160 
161     /**
162      * Test if the row height as been set manually
163      *
164      * @return true if user defined otherwise false
165      */
isUserDefined()166     public boolean isUserDefined() {
167 
168         return userDefined;
169     }
170 
171     /**
172      * Test if the row height is default
173      *
174      * @return true if default otherwise false
175      */
isDefaultSize()176     public boolean isDefaultSize() {
177 
178         if( type==ROW &&
179             dimension>DEFAULTROWSIZE_MIN &&
180             dimension<DEFAULTROWSIZE_MAX)
181             return true;
182         else
183             return false;
184     }
185 }
186