xref: /AOO41X/main/xmerge/source/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/ColumnRowInfo.java (revision 0c0e82a55dc5b7baa849907647dcb88a54f5f573)
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 
130     /**
131      * Returns the base Cell address
132      *
133      * @return the base cell address
134      */
setRepeated(int repeated)135     public void setRepeated(int repeated) {
136 
137         this.repeated = repeated;
138     }
139 
140     /**
141      * Returns the definition itself
142      *
143      * @return the definition
144      */
isRow()145     public boolean isRow() {
146 
147         if(type==ROW)
148             return true;
149         else
150             return false;
151     }
152 
153     /**
154      * Returns the base Cell address
155      *
156      * @return the base cell address
157      */
isColumn()158     public boolean isColumn() {
159 
160         if(type==COLUMN)
161             return true;
162         else
163             return false;
164     }
165 
166     /**
167      * Test if the row height as been set manually
168      *
169      * @return true if user defined otherwise false
170      */
isUserDefined()171     public boolean isUserDefined() {
172 
173         return userDefined;
174     }
175 
176     /**
177      * Test if the row height is default
178      *
179      * @return true if default otherwise false
180      */
isDefaultSize()181     public boolean isDefaultSize() {
182 
183         if( type==ROW &&
184             dimension>DEFAULTROWSIZE_MIN &&
185             dimension<DEFAULTROWSIZE_MAX)
186             return true;
187         else
188             return false;
189     }
190 }
191