Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

    @Beta
    public abstract class XSLFShape

extends java.lang.Object
implements Shape<XSLFShape,XSLFTextParagraph>

Base super-class class for all shapes in PresentationML

Field Summary
`protected static java.lang.String` | `PML_NS`

Constructor Summary
`protected` | `XSLFShape(org.apache.xmlbeans.XmlObject shape, XSLFSheet sheet)`

Method Summary
`void` | `draw(java.awt.Graphics2D graphics, java.awt.geom.Rectangle2D bounds)` Convenience method to draw a single shape
`protected 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> T`
` | `getChild(java.lang.Class<T> childClass, java.lang.String namespace, java.lang.String nodename)` Return direct child objects of this shape
`protected org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps` | `getCNvPr()`
`protected org.openxmlformats.schemas.presentationml.x2006.main.CTPlaceholder` | `getCTPlaceholder()`
`protected PaintStyle` | `getFillPaint()`
`protected org.openxmlformats.schemas.drawingml.x2006.main.CTGroupShapeProperties` | `getGrpSpPr()`
`XSLFShapeContainer` | `getParent()`
`Placeholder` | `getPlaceholder()`
`int` | `getShapeId()` Returns a unique identifier for this shape within the current document.
`java.lang.String` | `getShapeName()`
`protected org.apache.xmlbeans.XmlObject` | `getShapeProperties()` Return the shape specific (visual) properties
`XSLFSheet` | `getSheet()`
`protected org.openxmlformats.schemas.drawingml.x2006.main.CTShapeStyle` | `getSpStyle()`
`org.apache.xmlbeans.XmlObject` | `getXmlObject()`
`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 static PaintStyle` | `selectPaint(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
`<T extends org.apache.xmlbeans.XmlObject> T`
` | `selectProperty(java.lang.Class<T> resultClass, java.lang.String xquery)` As there's no xmlbeans hierarchy, but XSLF works with subclassing, not all child classes work with a `CTShape` object, but often contain the same properties.
`void` | `setParent(XSLFShapeContainer parent)`
`protected void` | `setPlaceholder(Placeholder placeholder)` Specifies that the corresponding shape should be represented by the generating application as a placeholder.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.poi.sl.usermodel.Shape
`getAnchor`

Field Detail

### PML_NS

    protected static final java.lang.String PML_NS

See Also:
  Constant Field Values

Constructor Detail

### XSLFShape

    protected XSLFShape(org.apache.xmlbeans.XmlObject shape,
                        XSLFSheet sheet)

Method Detail

### getXmlObject

    public final org.apache.xmlbeans.XmlObject getXmlObject()

  Returns:
    the xml bean holding this shape's data

### getSheet

    public XSLFSheet getSheet()

  Specified by:
    `getSheet` in interface `Shape<XSLFShape,XSLFTextParagraph>`
  Returns:
    the sheet this shape belongs to

### getShapeName

    public java.lang.String getShapeName()

  Returns:
    human-readable name of this shape, e.g. "Rectange 3"

### getShapeId

    public int getShapeId()

  Returns a unique identifier for this shape within the current document. 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 document share the same id attribute value, then the document shall be considered non-conformant.

  Returns:
    unique id of this shape

### setParent

    public void setParent(XSLFShapeContainer parent)

### getParent

    public XSLFShapeContainer getParent()

  Specified by:
    `getParent` in interface `Shape<XSLFShape,XSLFTextParagraph>`

### getFillPaint

    protected PaintStyle 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(java.lang.Class<T> childClass,
                                                                   java.lang.String namespace,
                                                                   java.lang.String nodename)

  Return direct child objects of this shape

  Parameters:
    `childClass` - the class to cast the properties to
    `namespace` - 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

### getCTPlaceholder

    protected org.openxmlformats.schemas.presentationml.x2006.main.CTPlaceholder getCTPlaceholder()

### getPlaceholder

    public Placeholder getPlaceholder()

### setPlaceholder

    protected void setPlaceholder(Placeholder placeholder)

  Specifies that the corresponding shape should be represented by the generating application as a placeholder. When a shape is considered a placeholder by the generating application it can have special properties to alert the user that they may enter content into the shape. Different types of placeholders are allowed and can be specified by using the placeholder type attribute for this element

  Parameters:
    `placeholder` - The shape to use as placeholder or null if no placeholder should be set.

### selectProperty

    protected <T extends org.apache.xmlbeans.XmlObject> T selectProperty(java.lang.Class<T> resultClass,
                                                                         java.lang.String xquery)

  As there's no xmlbeans hierarchy, but XSLF works with subclassing, not all child classes work with a `CTShape` object, but often contain the same properties. This method is the generalized form of selecting and casting those properties.

  Parameters:
    `resultClass` - the requested result class
    `xquery` - the simple (xmlbean) xpath expression to the property
  Returns:
    the xml object at the xpath location, or null if not found

### fetchShapeProperty

    protected boolean fetchShapeProperty(PropertyFetcher<?> visitor)

  Walk up the inheritance tree and fetch shape properties.

  The following order of inheritance is assumed:

  1. slide
  2. slideLayout
  3. slideMaster
  Currently themes and their defaults aren't correctly handled

  Parameters:
    `visitor` - the object that collects the desired property
  Returns:
    true if the property was fetched

### selectPaint

    protected static PaintStyle selectPaint(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 properties
    `phClr` - context color
    `parentPart` - 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

    public void draw(java.awt.Graphics2D graphics,
                     java.awt.geom.Rectangle2D bounds)

  Description copied from interface: `Shape`
  Convenience method to draw a single shape

  Specified by:
    `draw` in interface `Shape<XSLFShape,XSLFTextParagraph>`
  Parameters:
    `graphics` - the graphics context
    `bounds` - 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.