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
028: * "Checkbox" tag
029: *
030: * This element has a small number of Attributes and no content.
031: *
032: * This element is not used in HSSFSerializer 1.0
033: *
034: * @author Marc Johnson (marc_johnson27591@hotmail.com)
035: * @version CVS $Id: EPCheckbox.java 433543 2006-08-22 06:22:54Z crossley $
036: */
037: public class EPCheckbox extends BaseElementProcessor {
038: private String _input;
039: private NumericResult _value;
040: private String _object_bound;
041: private Offsets _object_offset;
042: private Anchors _object_anchor_type;
043: private NumericResult _direction;
044: private static final String _input_attribute = "Input";
045: private static final String _value_attribute = "Value";
046: private static final String _object_bound_attribute = "ObjectBound";
047: private static final String _object_offset_attribute = "ObjectOffset";
048: private static final String _object_anchor_type_attribute = "ObjectAnchorType";
049: private static final String _direction_attribute = "Direction";
050: private static final Validator _direction_validator = new Validator() {
051: public IOException validate(final Number number) {
052: return Direction.isValid(number.intValue()) ? null
053: : new IOException("\"" + number
054: + "\" is not a legal value");
055: }
056: };
057:
058: /**
059: * constructor
060: */
061: public EPCheckbox() {
062: super (null);
063: _input = null;
064: _value = null;
065: _object_bound = null;
066: _object_offset = null;
067: _object_anchor_type = null;
068: _direction = null;
069: }
070:
071: /**
072: * @return input
073: * @exception IOException
074: */
075: public String getInput() throws IOException {
076: if (_input == null) {
077: _input = getValue(_input_attribute);
078: if (_input == null) {
079: throw new IOException("missing " + _input_attribute
080: + " attribute");
081: }
082: }
083: return _input;
084: }
085:
086: /**
087: * @return value
088: * @exception IOException
089: */
090: public int getValue() throws IOException {
091: if (_value == null) {
092: _value = NumericConverter
093: .extractInteger(getValue(_value_attribute));
094: }
095: return _value.intValue();
096: }
097:
098: /**
099: * @return object_bound
100: * @exception IOException
101: */
102: public String getObjectBound() throws IOException {
103: if (_object_bound == null) {
104: _object_bound = getValue(_object_bound_attribute);
105: if (_object_bound == null) {
106: throw new IOException("missing "
107: + _object_bound_attribute + " attribute");
108: }
109: }
110: return _object_bound;
111: }
112:
113: /**
114: * @return offsets
115: * @exception IOException
116: */
117: public Offsets getOffsets() throws IOException {
118: if (_object_offset == null) {
119: _object_offset = new Offsets(
120: getValue(_object_offset_attribute));
121: }
122: return _object_offset;
123: }
124:
125: /**
126: * @return anchors
127: * @exception IOException
128: */
129: public Anchors getAnchors() throws IOException {
130: if (_object_anchor_type == null) {
131: _object_anchor_type = new Anchors(
132: getValue(_object_anchor_type_attribute));
133: }
134: return _object_anchor_type;
135: }
136:
137: /**
138: * @return direction as a public member of Direction
139: * @exception IOException
140: */
141: public int getDirection() throws IOException {
142: if (_direction == null) {
143: _direction = NumericConverter.extractInteger(
144: getValue(_direction_attribute),
145: _direction_validator);
146: }
147: return _direction.intValue();
148: }
149: } // end public class EPCheckbox
|