package org.apache.poi.xslf.usermodel;
import static org.apache.poi.openxml4j.opc.PackageRelationshipTypes.IMAGE_PART;
import java.util.HashMap;
import java.util.Map;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLRelation;
import org.apache.poi.sl.usermodel.PictureData.PictureType;
import org.apache.poi.util.Beta;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@SuppressWarnings({"unused", "WeakerAccess"})
@Beta
public final class XSLFRelation extends POIXMLRelation {
static final String NS_DRAWINGML = "http://schemas.openxmlformats.org/drawingml/2006/main";
private static final Map<String, XSLFRelation> _table = new HashMap<>();
public static final XSLFRelation MAIN = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml",
null, null, null
);
public static final XSLFRelation MACRO = new XSLFRelation(
"application/vnd.ms-powerpoint.slideshow.macroEnabled.main+xml",
null, null, null
);
public static final XSLFRelation MACRO_TEMPLATE = new XSLFRelation(
"application/vnd.ms-powerpoint.template.macroEnabled.main+xml",
null, null, null
);
public static final XSLFRelation PRESENTATIONML = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml",
null, null, null
);
public static final XSLFRelation PRESENTATIONML_TEMPLATE = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml",
null, null, null
);
public static final XSLFRelation PRESENTATION_MACRO = new XSLFRelation(
"application/vnd.ms-powerpoint.presentation.macroEnabled.main+xml",
null, null, null
);
public static final XSLFRelation THEME_MANAGER = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.themeManager+xml",
null, null, null
);
public static final XSLFRelation NOTES = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide",
"/ppt/notesSlides/notesSlide#.xml",
XSLFNotes.class
);
public static final XSLFRelation SLIDE = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.slide+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide",
"/ppt/slides/slide#.xml",
XSLFSlide.class
);
public static final XSLFRelation SLIDE_LAYOUT = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout",
"/ppt/slideLayouts/slideLayout#.xml",
XSLFSlideLayout.class
);
public static final XSLFRelation SLIDE_MASTER = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster",
"/ppt/slideMasters/slideMaster#.xml",
XSLFSlideMaster.class
);
public static final XSLFRelation NOTES_MASTER = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster",
"/ppt/notesMasters/notesMaster#.xml",
XSLFNotesMaster.class
);
public static final XSLFRelation = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.comments+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
"/ppt/comments/comment#.xml",
XSLFComments.class
);
public static final XSLFRelation = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors",
"/ppt/commentAuthors.xml",
XSLFCommentAuthors.class
);
public static final XSLFRelation HYPERLINK = new XSLFRelation(
null,
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",
null,
null
);
public static final XSLFRelation THEME = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.theme+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",
"/ppt/theme/theme#.xml",
XSLFTheme.class
);
public static final XSLFRelation VML_DRAWING = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.vmlDrawing",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",
"/ppt/drawings/vmlDrawing#.vml",
null
);
public static final XSLFRelation WORKBOOK = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
POIXMLDocument.PACK_OBJECT_REL_TYPE,
"/ppt/embeddings/Microsoft_Excel_Worksheet#.xlsx",
XSSFWorkbook.class
);
public static final XSLFRelation CHART = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
"/ppt/charts/chart#.xml",
XSLFChart.class
);
public static final XSLFRelation IMAGE_EMF = new XSLFRelation(
PictureType.EMF.contentType,
IMAGE_PART,
"/ppt/media/image#.emf",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_WMF = new XSLFRelation(
PictureType.WMF.contentType,
IMAGE_PART,
"/ppt/media/image#.wmf",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_PICT = new XSLFRelation(
PictureType.PICT.contentType,
IMAGE_PART,
"/ppt/media/image#.pict",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_JPEG = new XSLFRelation(
PictureType.JPEG.contentType,
IMAGE_PART,
"/ppt/media/image#.jpeg",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_PNG = new XSLFRelation(
PictureType.PNG.contentType,
IMAGE_PART,
"/ppt/media/image#.png",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_DIB = new XSLFRelation(
PictureType.DIB.contentType,
IMAGE_PART,
"/ppt/media/image#.dib",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_GIF = new XSLFRelation(
PictureType.GIF.contentType,
IMAGE_PART,
"/ppt/media/image#.gif",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_TIFF = new XSLFRelation(
PictureType.TIFF.contentType,
IMAGE_PART,
"/ppt/media/image#.tiff",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_EPS = new XSLFRelation(
PictureType.EPS.contentType,
IMAGE_PART,
"/ppt/media/image#.eps",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_BMP = new XSLFRelation(
PictureType.BMP.contentType,
IMAGE_PART,
"/ppt/media/image#.bmp",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_WPG = new XSLFRelation(
PictureType.WPG.contentType,
IMAGE_PART,
"/ppt/media/image#.wpg",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_WDP = new XSLFRelation(
PictureType.WDP.contentType,
IMAGE_PART,
"/ppt/media/image#.wdp",
XSLFPictureData.class
);
public static final XSLFRelation IMAGE_SVG = new XSLFRelation(
PictureType.SVG.contentType,
IMAGE_PART,
"/ppt/media/image#.svg",
XSLFPictureData.class
);
public static final XSLFRelation IMAGES = new XSLFRelation(
null,
IMAGE_PART,
null,
XSLFPictureData.class
);
public static final XSLFRelation TABLE_STYLES = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles",
"/ppt/tableStyles.xml",
XSLFTableStyles.class
);
public static final XSLFRelation OLE_OBJECT = new XSLFRelation(
"application/vnd.openxmlformats-officedocument.oleObject",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject",
"/ppt/embeddings/oleObject#.bin",
XSLFObjectData.class
);
public static final XSLFRelation FONT = new XSLFRelation(
"application/x-fontdata",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/font",
"/ppt/fonts/font#.fntdata",
XSLFFontData.class
);
private XSLFRelation(String type, String rel, String defaultName, Class<? extends POIXMLDocumentPart> cls) {
super(type, rel, defaultName, cls);
_table.put(rel, this);
}
public static XSLFRelation getInstance(String rel) {
return _table.get(rel);
}
}