Package org.apache.poi.xslf.usermodel
Class XSLFShape
java.lang.Object
org.apache.poi.xslf.usermodel.XSLFShape
- All Implemented Interfaces:
Shape<XSLFShape,
XSLFTextParagraph>
- Direct Known Subclasses:
XSLFGraphicFrame
,XSLFGroupShape
,XSLFShadow
,XSLFSimpleShape
Base super-class class for all shapes in PresentationML
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
draw
(Graphics2D graphics, Rectangle2D bounds) Convenience method to draw a single shapeprotected boolean
fetchShapeProperty
(PropertyFetcher<?> visitor) Walk up the inheritance tree and fetch shape properties.protected org.openxmlformats.schemas.presentationml.x2006.main.CTBackgroundProperties
getBgPr()
protected org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference
getBgRef()
protected <T extends org.apache.xmlbeans.XmlObject>
TReturn direct child objects of this shapeprotected org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps
getCNvPr()
protected PaintStyle
protected org.openxmlformats.schemas.drawingml.x2006.main.CTGroupShapeProperties
int
Returns a unique identifier for this shape within the current slide.protected org.apache.xmlbeans.XmlObject
Return the shape specific (visual) propertiesgetSheet()
protected org.openxmlformats.schemas.drawingml.x2006.main.CTShapeStyle
final org.apache.xmlbeans.XmlObject
boolean
protected static PaintStyle
selectPaint
(org.apache.poi.xslf.usermodel.XSLFPropertiesDelegate.XSLFFillProperties fp, org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor phClr, PackagePart parentPart, XSLFTheme theme, boolean hasPlaceholder) Convert shape fill into java.awt.Paint.protected static PaintStyle
selectPaint
(org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties blipFill, PackagePart parentPart) protected static PaintStyle
selectPaint
(org.openxmlformats.schemas.drawingml.x2006.main.CTGradientFillProperties gradFill, org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor phClr, XSLFTheme theme) protected static PaintStyle
selectPaint
(org.openxmlformats.schemas.drawingml.x2006.main.CTSolidColorFillProperties solidFill, org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor phClr, XSLFTheme theme) protected static PaintStyle
selectPaint
(org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference fillRef, XSLFTheme theme, boolean isLineStyle, boolean hasPlaceholder) protected <T extends org.apache.xmlbeans.XmlObject>
TselectProperty
(Class<T> resultClass, String xquery) As there's no xmlbeans hierarchy, but XSLF works with subclassing, not all child classes work with aCTShape
object, but often contain the same properties.void
setParent
(XSLFShapeContainer parent) void
setPlaceholder
(Placeholder placeholder)
-
Constructor Details
-
XSLFShape
-
-
Method Details
-
getXmlObject
public final org.apache.xmlbeans.XmlObject getXmlObject()- Returns:
- the xml bean holding this shape's data
-
getSheet
- Specified by:
getSheet
in interfaceShape<XSLFShape,
XSLFTextParagraph> - Returns:
- the sheet this shape belongs to
-
getShapeName
- Specified by:
getShapeName
in interfaceShape<XSLFShape,
XSLFTextParagraph> - Returns:
- human-readable name of this shape, e.g. "Rectange 3"
-
getShapeId
public int getShapeId()Description copied from interface:Shape
Returns a unique identifier for this shape within the current slide. This ID may be used to assist in uniquely identifying this object so that it can be referred to by other parts of the document.If multiple objects within the same slide share the same id attribute value, then the document shall be considered non-conformant.
- Specified by:
getShapeId
in interfaceShape<XSLFShape,
XSLFTextParagraph> - Returns:
- unique id of this shape
-
setParent
-
getParent
- Specified by:
getParent
in interfaceShape<XSLFShape,
XSLFTextParagraph>
-
getFillPaint
-
getBgPr
protected org.openxmlformats.schemas.presentationml.x2006.main.CTBackgroundProperties getBgPr() -
getBgRef
protected org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference getBgRef() -
getGrpSpPr
protected org.openxmlformats.schemas.drawingml.x2006.main.CTGroupShapeProperties getGrpSpPr() -
getCNvPr
protected org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps getCNvPr() -
getSpStyle
protected org.openxmlformats.schemas.drawingml.x2006.main.CTShapeStyle getSpStyle() -
getChild
protected <T extends org.apache.xmlbeans.XmlObject> T getChild(Class<T> childClass, String namespace, String nodename) Return direct child objects of this shape- Parameters:
childClass
- the class to cast the properties tonamespace
- the namespace - usually it is"http://schemas.openxmlformats.org/presentationml/2006/main"
nodename
- the node name, without prefix- Returns:
- the properties object or null if it can't be found
-
isPlaceholder
public boolean isPlaceholder() -
getPlaceholder
- See Also:
-
setPlaceholder
- See Also:
-
getPlaceholderDetails
- See Also:
-
selectProperty
protected <T extends org.apache.xmlbeans.XmlObject> T selectProperty(Class<T> resultClass, String xquery) As there's no xmlbeans hierarchy, but XSLF works with subclassing, not all child classes work with aCTShape
object, but often contain the same properties. This method is the generalized form of selecting and casting those properties.- Parameters:
resultClass
- the requested result classxquery
- the simple (xmlbean) xpath expression to the property- Returns:
- the xml object at the xpath location, or null if not found
-
fetchShapeProperty
Walk up the inheritance tree and fetch shape properties.The following order of inheritance is assumed:
- slide
- slideLayout
- slideMaster
- Parameters:
visitor
- the object that collects the desired property- Returns:
- true if the property was fetched
-
selectPaint
protected static PaintStyle selectPaint(org.apache.poi.xslf.usermodel.XSLFPropertiesDelegate.XSLFFillProperties fp, org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor phClr, PackagePart parentPart, XSLFTheme theme, boolean hasPlaceholder) Convert shape fill into java.awt.Paint. The result is either Color or TexturePaint or GradientPaint or null- Parameters:
fp
- a properties handler specific to the underlying shape propertiesphClr
- context colorparentPart
- the parent package part. Any external references (images, etc.) are resolved relative to it.theme
- the theme for the shape/sheet- Returns:
- the applied Paint or null if none was applied
-
selectPaint
protected static PaintStyle selectPaint(org.openxmlformats.schemas.drawingml.x2006.main.CTSolidColorFillProperties solidFill, org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor phClr, XSLFTheme theme) -
selectPaint
protected static PaintStyle selectPaint(org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties blipFill, PackagePart parentPart) -
selectPaint
protected static PaintStyle selectPaint(org.openxmlformats.schemas.drawingml.x2006.main.CTGradientFillProperties gradFill, org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor phClr, XSLFTheme theme) -
selectPaint
protected static PaintStyle selectPaint(org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference fillRef, XSLFTheme theme, boolean isLineStyle, boolean hasPlaceholder) -
draw
Description copied from interface:Shape
Convenience method to draw a single shape- Specified by:
draw
in interfaceShape<XSLFShape,
XSLFTextParagraph> - Parameters:
graphics
- the graphics contextbounds
- the rectangle to fit the shape to. if null, the bounds of the shape are used.
-
getShapeProperties
protected org.apache.xmlbeans.XmlObject getShapeProperties()Return the shape specific (visual) properties- Returns:
- the shape specific properties
-