Package org.apache.poi.xssf.model
Class ThemesTable
java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.xssf.model.ThemesTable
- All Implemented Interfaces:
Themes
Class that represents theme of XLSX document. The theme includes specific
colors and fonts.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a new, empty ThemesTableThemesTable
(PackagePart part) Construct a ThemesTable.ThemesTable
(org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument theme) Construct a ThemesTable from an existing ThemeDocument. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
commit()
Save the content in the underlying package part.getThemeColor
(int idx) Convert a theme "index" (as used by fonts etc) into a color.void
If the colour is based on a theme, then inherit information (currently just colours) from it as required.protected void
setColorMap
(IndexedColorMap colorMap) called fromStylesTable
when setting theme, used to adjust colors if a custom indexed mapping is definedvoid
writeTo
(OutputStream out) Write this table out as XML.Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, toString
-
Constructor Details
-
ThemesTable
public ThemesTable()Create a new, empty ThemesTable -
ThemesTable
Construct a ThemesTable.- Parameters:
part
- A PackagePart.- Throws:
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 Details
-
setColorMap
called fromStylesTable
when setting theme, used to adjust colors if a custom indexed mapping is defined- Parameters:
colorMap
-
-
getThemeColor
Convert a theme "index" (as used by fonts etc) into a color.- Specified by:
getThemeColor
in interfaceThemes
- Parameters:
idx
- A theme "index"- Returns:
- The mapped XSSFColor, or null if not mapped.
-
inheritFromThemeAsRequired
If the colour is based on a theme, then inherit information (currently just colours) from it as required.- Specified by:
inheritFromThemeAsRequired
in interfaceThemes
-
writeTo
Write this table out as XML.- Parameters:
out
- The stream to write to.- Throws:
IOException
- if an error occurs while writing.
-
commit
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 classPOIXMLDocumentPart
- Throws:
IOException
- a subclass may throw an IOException if the changes can't be committed
-