| /* ==================================================================== |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ==================================================================== */ |
| |
| package org.apache.poi.xwpf.usermodel; |
| |
| import java.util.HashMap; |
| import java.util.Map; |
| |
| import org.apache.poi.POIXMLDocumentPart; |
| import org.apache.poi.POIXMLRelation; |
| |
| /** |
| * @author Yegor Kozlov |
| */ |
| public final class XWPFRelation extends POIXMLRelation { |
| |
| /** |
| * A map to lookup POIXMLRelation by its relation type |
| */ |
| private static final Map<String, XWPFRelation> _table = new HashMap<String, XWPFRelation>(); |
| |
| public static final XWPFRelation DOCUMENT = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", |
| "/word/document.xml", |
| null |
| ); |
| public static final XWPFRelation TEMPLATE = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", |
| "/word/document.xml", |
| null |
| ); |
| public static final XWPFRelation MACRO_DOCUMENT = new XWPFRelation( |
| "application/vnd.ms-word.document.macroEnabled.main+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", |
| "/word/document.xml", |
| null |
| ); |
| public static final XWPFRelation MACRO_TEMPLATE_DOCUMENT = new XWPFRelation( |
| "application/vnd.ms-word.template.macroEnabledTemplate.main+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", |
| "/word/document.xml", |
| null |
| ); |
| public static final XWPFRelation GLOSSARY_DOCUMENT = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument", |
| "/word/glossary/document.xml", |
| null |
| ); |
| public static final XWPFRelation NUMBERING = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering", |
| "/word/numbering.xml", |
| XWPFNumbering.class |
| ); |
| public static final XWPFRelation FONT_TABLE = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable", |
| "/word/fontTable.xml", |
| null |
| ); |
| public static final XWPFRelation SETTINGS = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings", |
| "/word/settings.xml", |
| XWPFSettings.class |
| ); |
| public static final XWPFRelation STYLES = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", |
| "/word/styles.xml", |
| XWPFStyles.class |
| ); |
| public static final XWPFRelation WEB_SETTINGS = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings", |
| "/word/webSettings.xml", |
| null |
| ); |
| public static final XWPFRelation HEADER = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", |
| "/word/header#.xml", |
| XWPFHeader.class |
| ); |
| public static final XWPFRelation FOOTER = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", |
| "/word/footer#.xml", |
| XWPFFooter.class |
| ); |
| public static final XWPFRelation THEME = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.theme+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", |
| "/word/theme/theme#.xml", |
| null |
| ); |
| public static final XWPFRelation HYPERLINK = new XWPFRelation( |
| null, |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", |
| null, |
| null |
| ); |
| public static final XWPFRelation COMMENT = new XWPFRelation( |
| null, |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", |
| null, |
| null |
| ); |
| public static final XWPFRelation FOOTNOTE = new XWPFRelation( |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes", |
| "/word/footnotes.xml", |
| XWPFFootnotes.class |
| ); |
| public static final XWPFRelation ENDNOTE = new XWPFRelation( |
| null, |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes", |
| null, |
| null |
| ); |
| /** |
| * Supported image formats |
| */ |
| public static final XWPFRelation IMAGE_EMF = new XWPFRelation( |
| "image/x-emf", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.emf", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_WMF = new XWPFRelation( |
| "image/x-wmf", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.wmf", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_PICT = new XWPFRelation( |
| "image/pict", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.pict", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_JPEG = new XWPFRelation( |
| "image/jpeg", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.jpeg", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_PNG = new XWPFRelation( |
| "image/png", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.png", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_DIB = new XWPFRelation( |
| "image/dib", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.dib", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_GIF = new XWPFRelation( |
| "image/gif", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.gif", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_TIFF = new XWPFRelation( |
| "image/tiff", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.tiff", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_EPS = new XWPFRelation( |
| "image/x-eps", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.eps", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_BMP = new XWPFRelation( |
| "image/x-ms-bmp", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.bmp", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGE_WPG = new XWPFRelation( |
| "image/x-wpg", |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| "/word/media/image#.wpg", |
| XWPFPictureData.class |
| ); |
| public static final XWPFRelation IMAGES = new XWPFRelation( |
| null, |
| "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", |
| null, |
| XWPFPictureData.class |
| ); |
| |
| private XWPFRelation(String type, String rel, String defaultName, Class<? extends POIXMLDocumentPart> cls) { |
| super(type, rel, defaultName, cls); |
| _table.put(rel, this); |
| } |
| |
| /** |
| * Get POIXMLRelation by relation type |
| * |
| * @param rel relation type, for example, |
| * <code>http://schemas.openxmlformats.org/officeDocument/2006/relationships/image</code> |
| * @return registered POIXMLRelation or null if not found |
| */ |
| public static XWPFRelation getInstance(String rel) { |
| return _table.get(rel); |
| } |
| |
| } |