org.apache.poi.xssf.model
Class ThemesTable

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xssf.model.ThemesTable

public class ThemesTable
extends POIXMLDocumentPart

Class that represents theme of XLSX document. The theme includes specific colors and fonts.


Nested Class Summary
static class ThemesTable.ThemeElement
           
 
Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
 
Constructor Summary
ThemesTable()
          Create a new, empty ThemesTable
ThemesTable(PackagePart part)
          Construct a ThemesTable.
ThemesTable(org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument theme)
          Construct a ThemesTable from an existing ThemeDocument.
 
Method Summary
protected  void commit()
          Save the content in the underlying package part.
 XSSFColor getThemeColor(int idx)
          Convert a theme "index" (as used by fonts etc) into a color.
 void inheritFromThemeAsRequired(XSSFColor color)
          If the colour is based on a theme, then inherit information (currently just colours) from it as required.
protected  void setColorMap(IndexedColorMap colorMap)
          called from StylesTable when setting theme, used to adjust colors if a custom indexed mapping is defined
 void writeTo(java.io.OutputStream out)
          Write this table out as XML.
 
Methods inherited from class org.apache.poi.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationParts, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ThemesTable

public ThemesTable()
Create a new, empty ThemesTable


ThemesTable

public ThemesTable(PackagePart part)
            throws java.io.IOException
Construct a ThemesTable.

Parameters:
part - A PackagePart.
Throws:
java.io.IOException
Since:
POI 3.14-Beta1

ThemesTable

public ThemesTable(org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument theme)
Construct a ThemesTable from an existing ThemeDocument.

Parameters:
theme - A ThemeDocument.
Method Detail

setColorMap

protected void setColorMap(IndexedColorMap colorMap)
called from StylesTable when setting theme, used to adjust colors if a custom indexed mapping is defined

Parameters:
colorMap -

getThemeColor

public XSSFColor getThemeColor(int idx)
Convert a theme "index" (as used by fonts etc) into a color.

Parameters:
idx - A theme "index"
Returns:
The mapped XSSFColor, or null if not mapped.

inheritFromThemeAsRequired

public void inheritFromThemeAsRequired(XSSFColor color)
If the colour is based on a theme, then inherit information (currently just colours) from it as required.


writeTo

public void writeTo(java.io.OutputStream out)
             throws java.io.IOException
Write this table out as XML.

Parameters:
out - The stream to write to.
Throws:
java.io.IOException - if an error occurs while writing.

commit

protected 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