blob: 3850d582edbf73ef6841b70614261f367bf1c1c8 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.cocoon.components.elementprocessor.impl.poi.hssf.elements;
import org.apache.cocoon.components.elementprocessor.types.NumericConverter;
import org.apache.cocoon.components.elementprocessor.types.NumericResult;
import org.apache.cocoon.components.elementprocessor.types.Validator;
import java.io.IOException;
/**
* No-op implementation of ElementProcessor to handle the "Button" tag
*
* This element has a small number of Attributes and no content.
*
* This element is not used in HSSFSerializer 1.0
*
* @author Marc Johnson (marc_johnson27591@hotmail.com)
* @version CVS $Id$
*/
public class EPButton extends BaseElementProcessor
{
private String _label;
private String _object_bound;
private Offsets _object_offset;
private Anchors _object_anchor_type;
private NumericResult _direction;
private static final String _label_attribute = "Label";
private static final String _object_bound_attribute = "ObjectBound";
private static final String _object_offset_attribute = "ObjectOffset";
private static final String _object_anchor_type_attribute =
"ObjectAnchorType";
private static final String _direction_attribute = "Direction";
private static final Validator _direction_validator =
new Validator()
{
public IOException validate(final Number number) {
return Direction.isValid(number.intValue()) ? null
: new IOException("\"" + number + "\" is not a legal value");
}
};
/**
* constructor
*/
public EPButton() {
super(null);
_label = null;
_object_bound = null;
_object_offset = null;
_object_anchor_type = null;
_direction = null;
}
/**
* @return label
*
* @exception IOException
*/
public String getLabel() throws IOException {
if (_label == null) {
_label = getValue(_label_attribute);
if (_label == null) {
throw new IOException("missing " + _label_attribute
+ " attribute");
}
}
return _label;
}
/**
* @return object_bound
*
* @exception IOException
*/
public String getObjectBound() throws IOException {
if (_object_bound == null) {
_object_bound = getValue(_object_bound_attribute);
if (_object_bound == null) {
throw new IOException("missing " + _object_bound_attribute
+ " attribute");
}
}
return _object_bound;
}
/**
* @return offsets
*
* @exception IOException
*/
public Offsets getOffsets() throws IOException {
if (_object_offset == null) {
_object_offset = new Offsets(getValue(_object_offset_attribute));
}
return _object_offset;
}
/**
* @return anchors
*
* @exception IOException
*/
public Anchors getAnchors() throws IOException {
if (_object_anchor_type == null) {
_object_anchor_type =
new Anchors(getValue(_object_anchor_type_attribute));
}
return _object_anchor_type;
}
/**
* @return direction as a public member of Direction
*
* @exception IOException
*/
public int getDirection() throws IOException {
if (_direction == null) {
_direction = NumericConverter.extractInteger(
getValue(_direction_attribute), _direction_validator);
}
return _direction.intValue();
}
} // end public class EPButton