001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package org.apache.cocoon.components.elementprocessor.impl.poi.hssf.elements;
019:
020: import org.apache.cocoon.components.elementprocessor.types.NumericConverter;
021: import org.apache.cocoon.components.elementprocessor.types.NumericResult;
022: import org.apache.cocoon.components.elementprocessor.types.Validator;
023:
024: import java.io.IOException;
025:
026: /**
027: * No-op implementation of ElementProcessor to handle the "Constr" tag
028: *
029: * This element contains several attributes and no content or other
030: * elements.
031: *
032: * This element is not used in HSSFSerializer 1.0
033: *
034: * @author Marc Johnson (marc_johnson27591@hotmail.com)
035: * @version CVS $Id: EPConstr.java 433543 2006-08-22 06:22:54Z crossley $
036: */
037: public class EPConstr extends BaseElementProcessor {
038: private NumericResult _lcol;
039: private NumericResult _lrow;
040: private NumericResult _rcol;
041: private NumericResult _rrow;
042: private NumericResult _cols;
043: private NumericResult _rows;
044: private NumericResult _type;
045: private static final String _lcol_attribute = "Lcol";
046: private static final String _lrow_attribute = "Lrow";
047: private static final String _rcol_attribute = "Rcol";
048: private static final String _rrow_attribute = "Rrow";
049: private static final String _cols_attribute = "Cols";
050: private static final String _rows_attribute = "Rows";
051: private static final String _type_attribute = "Type";
052: private static final Validator _type_validator = new Validator() {
053: public IOException validate(final Number number) {
054: return ConstraintType.isValid(number.intValue()) ? null
055: : new IOException("\"" + number
056: + "\" is not a legal value");
057: }
058: };
059:
060: /**
061: * constructor
062: */
063: public EPConstr() {
064: super (null);
065: _lcol = null;
066: _lrow = null;
067: _rcol = null;
068: _rrow = null;
069: _cols = null;
070: _rows = null;
071: _type = null;
072: }
073:
074: /**
075: * @return lcol
076: * @exception IOException
077: */
078: public int getLcol() throws IOException {
079: if (_lcol == null) {
080: _lcol = NumericConverter
081: .extractNonNegativeInteger(getValue(_lcol_attribute));
082: }
083: return _lcol.intValue();
084: }
085:
086: /**
087: * @return lrow
088: * @exception IOException
089: */
090: public int getLrow() throws IOException {
091: if (_lrow == null) {
092: _lrow = NumericConverter
093: .extractNonNegativeInteger(getValue(_lrow_attribute));
094: }
095: return _lrow.intValue();
096: }
097:
098: /**
099: * @return rcol
100: * @exception IOException
101: */
102: public int getRcol() throws IOException {
103: if (_rcol == null) {
104: _rcol = NumericConverter
105: .extractNonNegativeInteger(getValue(_rcol_attribute));
106: }
107: return _rcol.intValue();
108: }
109:
110: /**
111: * @return rrow
112: * @exception IOException
113: */
114: public int getRrow() throws IOException {
115: if (_rrow == null) {
116: _rrow = NumericConverter
117: .extractNonNegativeInteger(getValue(_rrow_attribute));
118: }
119: return _rrow.intValue();
120: }
121:
122: /**
123: * @return cols
124: * @exception IOException
125: */
126: public int getCols() throws IOException {
127: if (_cols == null) {
128: _cols = NumericConverter
129: .extractPositiveInteger(getValue(_cols_attribute));
130: }
131: return _cols.intValue();
132: }
133:
134: /**
135: * @return rows
136: * @exception IOException
137: */
138: public int getRows() throws IOException {
139: if (_rows == null) {
140: _rows = NumericConverter
141: .extractPositiveInteger(getValue(_rows_attribute));
142: }
143: return _rows.intValue();
144: }
145:
146: /**
147: * @return type
148: * @exception IOException
149: */
150: public int getType() throws IOException {
151: if (_type == null) {
152: _type = NumericConverter.extractInteger(
153: getValue(_type_attribute), _type_validator);
154: }
155: return _type.intValue();
156: }
157: } // end public class EPConstr
|