org.apache.poi.xslf.usermodel

## Class XSLFTheme

- java.lang.Object
- - org.apache.poi.ooxml.POIXMLDocumentPart
  - - org.apache.poi.xslf.usermodel.XSLFTheme

-     @Beta
      public class XSLFTheme
      extends POIXMLDocumentPart

  A shared style sheet in a .pptx slide show

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart

      `POIXMLDocumentPart.RelationPart`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XSLFTheme(PackagePart part)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `commit()` Save the content in the underlying package part.
    `org.openxmlformats.schemas.drawingml.x2006.main.CTColor` | `getCTColor(java.lang.String name)` Get a color from the theme's color scheme by name
    `java.lang.String` | `getMajorFont()`
    `java.lang.String` | `getMinorFont()`
    `java.lang.String` | `getName()`
    `org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeStyleSheet` | `getXmlObject()` While developing only!
    `void` | `importTheme(XSLFTheme theme)`
    `void` | `setName(java.lang.String name)` Set name of this theme

    - ### Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart

      `_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, isCommitted, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, setCommitted, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### XSLFTheme

          public XSLFTheme(PackagePart part)
                    throws java.io.IOException,
                           org.apache.xmlbeans.XmlException

      Throws:
        `java.io.IOException`
        `org.apache.xmlbeans.XmlException`
      Since:
        POI 3.14-Beta1

  - ### Method Detail

    - #### importTheme

          public void importTheme(XSLFTheme theme)

    - #### getName

          public java.lang.String getName()

      Returns:
        name of this theme, e.g. "Office Theme"

    - #### setName

          public void setName(java.lang.String name)

      Set name of this theme
      Parameters:
        `name` - name of this theme

    - #### getCTColor

          @Internal
          public org.openxmlformats.schemas.drawingml.x2006.main.CTColor getCTColor(java.lang.String name)

      Get a color from the theme's color scheme by name
      Returns:
        a theme color or `null` if not found

    - #### getXmlObject

          @Internal
          public org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeStyleSheet getXmlObject()

      While developing only!

    - #### commit

          protected final void commit()
                               throws java.io.IOException

      Description copied from class: `POIXMLDocumentPart`
      Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified.

      Sub-classes should override and add logic to marshal the "model" into Ooxml4J.

      For example, the code saving a generic XML entry may look as follows:

           protected void commit() throws IOException {
             PackagePart part = getPackagePart();
             OutputStream out = part.getOutputStream();
             XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
             bean.save(out, DEFAULT_XML_OPTIONS);
             out.close();
           }

      Overrides:
        `commit` in class `POIXMLDocumentPart`
      Throws:
        `java.io.IOException` - a subclass may throw an IOException if the changes can't be committed

    - #### getMajorFont

          public java.lang.String getMajorFont()

      Returns:
        typeface of the major font to use in a document. Typically the major font is used for heading areas of a document.

    - #### getMinorFont

          public java.lang.String getMinorFont()

      Returns:
        typeface of the minor font to use in a document. Typically the monor font is used for normal text or paragraph areas.

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