added javadoc and code refactoring

git-svn-id: https://svn.apache.org/repos/asf/poi/branches/gsoc2012@1370912 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Evgeniy Berlog 2012-08-08 19:41:14 +00:00
parent a5fc05417c
commit b5a2cd5eb5
8 changed files with 85 additions and 109 deletions

View File

@ -233,14 +233,14 @@ public class HSSFComment extends HSSFTextbox implements Comment {
public void setBackgroundImage(int pictureIndex){ public void setBackgroundImage(int pictureIndex){
setPropertyValue(new EscherSimpleProperty( EscherProperties.FILL__PATTERNTEXTURE, false, true, pictureIndex)); setPropertyValue(new EscherSimpleProperty( EscherProperties.FILL__PATTERNTEXTURE, false, true, pictureIndex));
setPropertyValue(new EscherSimpleProperty( EscherProperties.FILL__FILLTYPE, false, false, FILL_TYPE_PICTURE)); setPropertyValue(new EscherSimpleProperty( EscherProperties.FILL__FILLTYPE, false, false, FILL_TYPE_PICTURE));
EscherBSERecord bse = _patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(pictureIndex); EscherBSERecord bse = getPatriarch().getSheet().getWorkbook().getWorkbook().getBSERecord(pictureIndex);
bse.setRef(bse.getRef() + 1); bse.setRef(bse.getRef() + 1);
} }
public void resetBackgroundImage(){ public void resetBackgroundImage(){
EscherSimpleProperty property = getOptRecord().lookup(EscherProperties.FILL__PATTERNTEXTURE); EscherSimpleProperty property = getOptRecord().lookup(EscherProperties.FILL__PATTERNTEXTURE);
if (null != property){ if (null != property){
EscherBSERecord bse = _patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(property.getPropertyValue()); EscherBSERecord bse = getPatriarch().getSheet().getWorkbook().getWorkbook().getBSERecord(property.getPropertyValue());
bse.setRef(bse.getRef() - 1); bse.setRef(bse.getRef() - 1);
getOptRecord().removeEscherProperty(EscherProperties.FILL__PATTERNTEXTURE); getOptRecord().removeEscherProperty(EscherProperties.FILL__PATTERNTEXTURE);
} }

View File

@ -90,6 +90,10 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing {
return newPatriarch; return newPatriarch;
} }
/**
* @param shape to be removed
* @return true of shape is removed
*/
public boolean removeShape(HSSFShape shape) { public boolean removeShape(HSSFShape shape) {
boolean isRemoved = _mainSpgrContainer.removeChildRecord(shape.getEscherContainer()); boolean isRemoved = _mainSpgrContainer.removeChildRecord(shape.getEscherContainer());
if (isRemoved){ if (isRemoved){
@ -225,7 +229,7 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing {
} }
/** /**
* Returns a list of all shapes contained by the patriarch. * Returns a unmodifiable list of all shapes contained by the patriarch.
*/ */
public List<HSSFShape> getChildren() { public List<HSSFShape> getChildren() {
return Collections.unmodifiableList(_shapes); return Collections.unmodifiableList(_shapes);
@ -236,7 +240,7 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing {
*/ */
@Internal @Internal
public void addShape(HSSFShape shape) { public void addShape(HSSFShape shape) {
shape._patriarch = this; shape.setPatriarch(this);
_shapes.add(shape); _shapes.add(shape);
} }
@ -331,18 +335,30 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing {
return false; return false;
} }
/**
* @return x coordinate of the left up corner
*/
public int getX1() { public int getX1() {
return _spgrRecord.getRectX1(); return _spgrRecord.getRectX1();
} }
/**
* @return y coordinate of the left up corner
*/
public int getY1() { public int getY1() {
return _spgrRecord.getRectY1(); return _spgrRecord.getRectY1();
} }
/**
* @return x coordinate of the right down corner
*/
public int getX2() { public int getX2() {
return _spgrRecord.getRectX2(); return _spgrRecord.getRectX2();
} }
/**
* @return y coordinate of the right down corner
*/
public int getY2() { public int getY2() {
return _spgrRecord.getRectY2(); return _spgrRecord.getRectY2();
} }
@ -377,6 +393,9 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing {
} }
/**
* create shape tree from existing escher records tree
*/
void buildShapeTree() { void buildShapeTree() {
EscherContainerRecord dgContainer = _boundAggregate.getEscherContainer(); EscherContainerRecord dgContainer = _boundAggregate.getEscherContainer();
if (dgContainer == null) { if (dgContainer == null) {
@ -397,10 +416,10 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing {
private void setFlipFlags(HSSFShape shape){ private void setFlipFlags(HSSFShape shape){
EscherSpRecord sp = shape.getEscherContainer().getChildById(EscherSpRecord.RECORD_ID); EscherSpRecord sp = shape.getEscherContainer().getChildById(EscherSpRecord.RECORD_ID);
if (shape.anchor.isHorizontallyFlipped()) { if (shape.getAnchor().isHorizontallyFlipped()) {
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ); sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ);
} }
if (shape.anchor.isVerticallyFlipped()) { if (shape.getAnchor().isVerticallyFlipped()) {
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPVERT); sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPVERT);
} }
} }

View File

@ -206,7 +206,7 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture {
private float getColumnWidthInPixels(int column){ private float getColumnWidthInPixels(int column){
int cw = _patriarch.getSheet().getColumnWidth(column); int cw = getPatriarch().getSheet().getColumnWidth(column);
float px = getPixelWidth(column); float px = getPixelWidth(column);
return cw/px; return cw/px;
@ -214,18 +214,18 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture {
private float getRowHeightInPixels(int i){ private float getRowHeightInPixels(int i){
HSSFRow row = _patriarch.getSheet().getRow(i); HSSFRow row = getPatriarch().getSheet().getRow(i);
float height; float height;
if(row != null) height = row.getHeight(); if(row != null) height = row.getHeight();
else height = _patriarch.getSheet().getDefaultRowHeight(); else height = getPatriarch().getSheet().getDefaultRowHeight();
return height/PX_ROW; return height/PX_ROW;
} }
private float getPixelWidth(int column){ private float getPixelWidth(int column){
int def = _patriarch.getSheet().getDefaultColumnWidth()*256; int def = getPatriarch().getSheet().getDefaultColumnWidth()*256;
int cw = _patriarch.getSheet().getColumnWidth(column); int cw = getPatriarch().getSheet().getColumnWidth(column);
return cw == def ? PX_DEFAULT : PX_MODIFIED; return cw == def ? PX_DEFAULT : PX_MODIFIED;
} }
@ -236,7 +236,7 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture {
* @return image dimension * @return image dimension
*/ */
public Dimension getImageDimension(){ public Dimension getImageDimension(){
EscherBSERecord bse = _patriarch.getSheet()._book.getBSERecord(getPictureIndex()); EscherBSERecord bse = getPatriarch().getSheet()._book.getBSERecord(getPictureIndex());
byte[] data = bse.getBlipRecord().getPicturedata(); byte[] data = bse.getBlipRecord().getPicturedata();
int type = bse.getBlipTypeWin32(); int type = bse.getBlipTypeWin32();
return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type); return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type);
@ -248,7 +248,7 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture {
* @return picture data for this shape * @return picture data for this shape
*/ */
public HSSFPictureData getPictureData(){ public HSSFPictureData getPictureData(){
InternalWorkbook iwb = _patriarch.getSheet().getWorkbook().getWorkbook(); InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook();
EscherBlipRecord blipRecord = iwb.getBSERecord(getPictureIndex()).getBlipRecord(); EscherBlipRecord blipRecord = iwb.getBSERecord(getPictureIndex()).getBlipRecord();
return new HSSFPictureData(blipRecord); return new HSSFPictureData(blipRecord);
} }

View File

@ -54,9 +54,9 @@ public abstract class HSSFShape {
public static final int LINESTYLE_DEFAULT = LINESTYLE_NONE; public static final int LINESTYLE_DEFAULT = LINESTYLE_NONE;
// TODO - make all these fields private // TODO - make all these fields private
HSSFShape parent; private HSSFShape parent;
HSSFAnchor anchor; HSSFAnchor anchor;
HSSFPatriarch _patriarch; private HSSFPatriarch _patriarch;
private final EscherContainerRecord _escherContainer; private final EscherContainerRecord _escherContainer;
private final ObjRecord _objRecord; private final ObjRecord _objRecord;
@ -93,6 +93,12 @@ public abstract class HSSFShape {
protected abstract ObjRecord createObjRecord(); protected abstract ObjRecord createObjRecord();
/**
* remove escher container from the patriarch.escherAggregate
* remove obj, textObj and note records if it's necessary
* in case of ShapeGroup remove all contained shapes
* @param patriarch
*/
protected abstract void afterRemove(HSSFPatriarch patriarch); protected abstract void afterRemove(HSSFPatriarch patriarch);
/** /**
@ -379,4 +385,16 @@ public abstract class HSSFShape {
} }
protected abstract HSSFShape cloneShape(); protected abstract HSSFShape cloneShape();
protected void setPatriarch(HSSFPatriarch _patriarch) {
this._patriarch = _patriarch;
}
public HSSFPatriarch getPatriarch() {
return _patriarch;
}
protected void setParent(HSSFShape parent) {
this.parent = parent;
}
} }

View File

@ -129,18 +129,18 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
for ( int i=0; i<shapes.size(); i++ ) { for ( int i=0; i<shapes.size(); i++ ) {
HSSFShape shape = shapes.get(i); HSSFShape shape = shapes.get(i);
removeShape(shape); removeShape(shape);
shape.afterRemove(_patriarch); shape.afterRemove(getPatriarch());
} }
shapes.clear(); shapes.clear();
} }
private void onCreate(HSSFShape shape){ private void onCreate(HSSFShape shape){
if(_patriarch != null){ if(getPatriarch() != null){
EscherContainerRecord spContainer = shape.getEscherContainer(); EscherContainerRecord spContainer = shape.getEscherContainer();
int shapeId = _patriarch.newShapeId(); int shapeId = getPatriarch().newShapeId();
shape.setShapeId(shapeId); shape.setShapeId(shapeId);
getEscherContainer().addChildRecord(spContainer); getEscherContainer().addChildRecord(spContainer);
shape.afterInsert(_patriarch); shape.afterInsert(getPatriarch());
EscherSpRecord sp; EscherSpRecord sp;
if (shape instanceof HSSFShapeGroup){ if (shape instanceof HSSFShapeGroup){
sp = shape.getEscherContainer().getChildContainers().get(0).getChildById(EscherSpRecord.RECORD_ID); sp = shape.getEscherContainer().getChildContainers().get(0).getChildById(EscherSpRecord.RECORD_ID);
@ -159,16 +159,16 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
*/ */
public HSSFShapeGroup createGroup(HSSFChildAnchor anchor) { public HSSFShapeGroup createGroup(HSSFChildAnchor anchor) {
HSSFShapeGroup group = new HSSFShapeGroup(this, anchor); HSSFShapeGroup group = new HSSFShapeGroup(this, anchor);
group.parent = this; group.setParent(this);
group.anchor = anchor; group.setAnchor(anchor);
shapes.add(group); shapes.add(group);
onCreate(group); onCreate(group);
return group; return group;
} }
public void addShape(HSSFShape shape) { public void addShape(HSSFShape shape) {
shape._patriarch = this._patriarch; shape.setPatriarch(this.getPatriarch());
shape.parent = this; shape.setParent(this);
shapes.add(shape); shapes.add(shape);
} }
@ -180,15 +180,15 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
*/ */
public HSSFSimpleShape createShape(HSSFChildAnchor anchor) { public HSSFSimpleShape createShape(HSSFChildAnchor anchor) {
HSSFSimpleShape shape = new HSSFSimpleShape(this, anchor); HSSFSimpleShape shape = new HSSFSimpleShape(this, anchor);
shape.parent = this; shape.setParent(this);
shape.anchor = anchor; shape.setAnchor(anchor);
shapes.add(shape); shapes.add(shape);
onCreate(shape); onCreate(shape);
EscherSpRecord sp = shape.getEscherContainer().getChildById(EscherSpRecord.RECORD_ID); EscherSpRecord sp = shape.getEscherContainer().getChildById(EscherSpRecord.RECORD_ID);
if (shape.anchor.isHorizontallyFlipped()){ if (shape.getAnchor().isHorizontallyFlipped()){
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ); sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ);
} }
if (shape.anchor.isVerticallyFlipped()){ if (shape.getAnchor().isVerticallyFlipped()){
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPVERT); sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPVERT);
} }
return shape; return shape;
@ -202,8 +202,8 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
*/ */
public HSSFTextbox createTextbox(HSSFChildAnchor anchor) { public HSSFTextbox createTextbox(HSSFChildAnchor anchor) {
HSSFTextbox shape = new HSSFTextbox(this, anchor); HSSFTextbox shape = new HSSFTextbox(this, anchor);
shape.parent = this; shape.setParent(this);
shape.anchor = anchor; shape.setAnchor(anchor);
shapes.add(shape); shapes.add(shape);
onCreate(shape); onCreate(shape);
return shape; return shape;
@ -218,8 +218,8 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
*/ */
public HSSFPolygon createPolygon(HSSFChildAnchor anchor) { public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {
HSSFPolygon shape = new HSSFPolygon(this, anchor); HSSFPolygon shape = new HSSFPolygon(this, anchor);
shape.parent = this; shape.setParent(this);
shape.anchor = anchor; shape.setAnchor(anchor);
shapes.add(shape); shapes.add(shape);
onCreate(shape); onCreate(shape);
return shape; return shape;
@ -234,16 +234,16 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
*/ */
public HSSFPicture createPicture(HSSFChildAnchor anchor, int pictureIndex) { public HSSFPicture createPicture(HSSFChildAnchor anchor, int pictureIndex) {
HSSFPicture shape = new HSSFPicture(this, anchor); HSSFPicture shape = new HSSFPicture(this, anchor);
shape.parent = this; shape.setParent(this);
shape.anchor = anchor; shape.setAnchor(anchor);
shape.setPictureIndex(pictureIndex); shape.setPictureIndex(pictureIndex);
shapes.add(shape); shapes.add(shape);
onCreate(shape); onCreate(shape);
EscherSpRecord sp = shape.getEscherContainer().getChildById(EscherSpRecord.RECORD_ID); EscherSpRecord sp = shape.getEscherContainer().getChildById(EscherSpRecord.RECORD_ID);
if (shape.anchor.isHorizontallyFlipped()){ if (shape.getAnchor().isHorizontallyFlipped()){
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ); sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ);
} }
if (shape.anchor.isVerticallyFlipped()){ if (shape.getAnchor().isVerticallyFlipped()){
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPVERT); sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_FLIPVERT);
} }
return shape; return shape;
@ -357,7 +357,7 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
} }
HSSFShapeGroup group = new HSSFShapeGroup(spgrContainer, obj); HSSFShapeGroup group = new HSSFShapeGroup(spgrContainer, obj);
group._patriarch = patriarch; group.setPatriarch(patriarch);
for (HSSFShape shape: getChildren()){ for (HSSFShape shape: getChildren()){
HSSFShape newShape; HSSFShape newShape;
@ -375,7 +375,7 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
public boolean removeShape(HSSFShape shape) { public boolean removeShape(HSSFShape shape) {
boolean isRemoved = getEscherContainer().removeChildRecord(shape.getEscherContainer()); boolean isRemoved = getEscherContainer().removeChildRecord(shape.getEscherContainer());
if (isRemoved){ if (isRemoved){
shape.afterRemove(this._patriarch); shape.afterRemove(this.getPatriarch());
shapes.remove(shape); shapes.remove(shape);
} }
return isRemoved; return isRemoved;

View File

@ -15,9 +15,9 @@
limitations under the License. limitations under the License.
==================================================================== */ ==================================================================== */
package org.apache.poi.hssf.usermodel.drawing; package org.apache.poi.hssf.usermodel;
public interface ShapeTypes { public interface HSSFShapeTypes {
public static final int NotPrimitive = 0; public static final int NotPrimitive = 0;
public static final int Rectangle = 1; public static final int Rectangle = 1;
public static final int RoundRectangle = 2; public static final int RoundRectangle = 2;

View File

@ -19,7 +19,6 @@ package org.apache.poi.hssf.usermodel;
import org.apache.poi.ddf.*; import org.apache.poi.ddf.*;
import org.apache.poi.hssf.record.*; import org.apache.poi.hssf.record.*;
import org.apache.poi.hssf.usermodel.drawing.ShapeTypes;
import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.RichTextString;
/** /**
@ -32,14 +31,14 @@ public class HSSFSimpleShape extends HSSFShape
// The commented out ones haven't been tested yet or aren't supported // The commented out ones haven't been tested yet or aren't supported
// by HSSFSimpleShape. // by HSSFSimpleShape.
public final static short OBJECT_TYPE_LINE = ShapeTypes.Line; public final static short OBJECT_TYPE_LINE = HSSFShapeTypes.Line;
public final static short OBJECT_TYPE_RECTANGLE = ShapeTypes.Rectangle; public final static short OBJECT_TYPE_RECTANGLE = HSSFShapeTypes.Rectangle;
public final static short OBJECT_TYPE_OVAL = ShapeTypes.Ellipse; public final static short OBJECT_TYPE_OVAL = HSSFShapeTypes.Ellipse;
public final static short OBJECT_TYPE_ARC = ShapeTypes.Arc; public final static short OBJECT_TYPE_ARC = HSSFShapeTypes.Arc;
// public final static short OBJECT_TYPE_CHART = 5; // public final static short OBJECT_TYPE_CHART = 5;
// public final static short OBJECT_TYPE_TEXT = 6; // public final static short OBJECT_TYPE_TEXT = 6;
// public final static short OBJECT_TYPE_BUTTON = 7; // public final static short OBJECT_TYPE_BUTTON = 7;
public final static short OBJECT_TYPE_PICTURE = ShapeTypes.PictureFrame; public final static short OBJECT_TYPE_PICTURE = HSSFShapeTypes.PictureFrame;
// public final static short OBJECT_TYPE_POLYGON = 9; // public final static short OBJECT_TYPE_POLYGON = 9;
// public final static short OBJECT_TYPE_CHECKBOX = 11; // public final static short OBJECT_TYPE_CHECKBOX = 11;
@ -51,8 +50,8 @@ public class HSSFSimpleShape extends HSSFShape
// public final static short OBJECT_TYPE_SCROLL_BAR = 17; // public final static short OBJECT_TYPE_SCROLL_BAR = 17;
// public final static short OBJECT_TYPE_LIST_BOX = 18; // public final static short OBJECT_TYPE_LIST_BOX = 18;
// public final static short OBJECT_TYPE_GROUP_BOX = 19; // public final static short OBJECT_TYPE_GROUP_BOX = 19;
public final static short OBJECT_TYPE_COMBO_BOX = ShapeTypes.HostControl; public final static short OBJECT_TYPE_COMBO_BOX = HSSFShapeTypes.HostControl;
public final static short OBJECT_TYPE_COMMENT = ShapeTypes.TextBox; public final static short OBJECT_TYPE_COMMENT = HSSFShapeTypes.TextBox;
public final static short OBJECT_TYPE_MICROSOFT_OFFICE_DRAWING = 30; public final static short OBJECT_TYPE_MICROSOFT_OFFICE_DRAWING = 30;
public final static int WRAP_SQUARE = 0; public final static int WRAP_SQUARE = 0;
@ -124,7 +123,7 @@ public class HSSFSimpleShape extends HSSFShape
spContainer.addChildRecord(sp); spContainer.addChildRecord(sp);
spContainer.addChildRecord(optRecord); spContainer.addChildRecord(optRecord);
spContainer.addChildRecord(anchor.getEscherAnchor()); spContainer.addChildRecord(getAnchor().getEscherAnchor());
spContainer.addChildRecord(clientData); spContainer.addChildRecord(clientData);
spContainer.addChildRecord(escherTextbox); spContainer.addChildRecord(escherTextbox);
return spContainer; return spContainer;
@ -226,7 +225,7 @@ public class HSSFSimpleShape extends HSSFShape
} }
/** /**
* @see org.apache.poi.hssf.usermodel.drawing.ShapeTypes * @see HSSFShapeTypes
* @param value - shapeType * @param value - shapeType
*/ */
public void setShapeType(int value){ public void setShapeType(int value){

View File

@ -1,60 +0,0 @@
/* ====================================================================
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.poi.hssf.usermodel.drawing;
import org.apache.poi.hssf.record.EscherAggregate;
import org.apache.poi.hssf.usermodel.HSSFPicture;
import org.apache.poi.hssf.usermodel.HSSFSimpleShape;
import org.apache.poi.hssf.usermodel.HSSFTextbox;
/**
* @author Evgeniy Berlog
* date: 08.06.12
*/
public enum HSSFShapeType {
NOT_PRIMITIVE((short)0x0, null, (short)0),
RECTANGLE((short)0x1, HSSFSimpleShape.class, HSSFSimpleShape.OBJECT_TYPE_RECTANGLE),
PICTURE((short)0x004B, HSSFPicture.class, HSSFSimpleShape.OBJECT_TYPE_PICTURE),
LINE((short)0x14, HSSFSimpleShape.class, HSSFSimpleShape.OBJECT_TYPE_LINE),
OVAL(EscherAggregate.ST_ELLIPSE, HSSFSimpleShape.class, HSSFSimpleShape.OBJECT_TYPE_OVAL),
ARC(EscherAggregate.ST_ARC, HSSFSimpleShape.class, HSSFSimpleShape.OBJECT_TYPE_ARC),
TEXT((short)202, HSSFTextbox.class, HSSFTextbox.OBJECT_TYPE_TEXT),
ROUND_RECTANGLE((short)0x2, null, null);
private Short type;
private Class shape;
private Short objectType;
private HSSFShapeType(Short type, Class shape, Short objectType) {
this.type = type;
this.shape = shape;
this.objectType = objectType;
}
public Short getType() {
return type;
}
public Class getShape() {
return shape;
}
public Short getObjectType() {
return objectType;
}
}