| /* ==================================================================== |
| 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.openxml4j.opc; |
| |
| import java.util.Locale; |
| |
| /** |
| * Open Packaging Convention content types (see Annex F : Standard Namespaces |
| * and Content Types). |
| */ |
| public final class ContentTypes { |
| |
| /* |
| * Open Packaging Convention (Annex F : Standard Namespaces and Content |
| * Types) |
| */ |
| |
| /** |
| * Core Properties part. |
| */ |
| public static final String CORE_PROPERTIES_PART = "application/vnd.openxmlformats-package.core-properties+xml"; |
| |
| /** |
| * Digital Signature Certificate part. |
| */ |
| public static final String DIGITAL_SIGNATURE_CERTIFICATE_PART = "application/vnd.openxmlformats-package.digital-signature-certificate"; |
| |
| /** |
| * Digital Signature Origin part. |
| */ |
| public static final String DIGITAL_SIGNATURE_ORIGIN_PART = "application/vnd.openxmlformats-package.digital-signature-origin"; |
| |
| /** |
| * Digital Signature XML Signature part. |
| */ |
| public static final String DIGITAL_SIGNATURE_XML_SIGNATURE_PART = "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml"; |
| |
| /** |
| * Relationships part. |
| */ |
| public static final String RELATIONSHIPS_PART = "application/vnd.openxmlformats-package.relationships+xml"; |
| |
| /** |
| * Custom XML part. |
| */ |
| public static final String CUSTOM_XML_PART = "application/vnd.openxmlformats-officedocument.customXmlProperties+xml"; |
| |
| /** |
| * Plain old xml. Note - OOXML uses application/xml, and not text/xml! |
| */ |
| public static final String PLAIN_OLD_XML = "application/xml"; |
| |
| public static final String IMAGE_JPEG = "image/jpeg"; |
| |
| public static final String EXTENSION_JPG_1 = "jpg"; |
| |
| public static final String EXTENSION_JPG_2 = "jpeg"; |
| |
| // image/png ISO/IEC 15948:2003 http://www.libpng.org/pub/png/spec/ |
| public static final String IMAGE_PNG = "image/png"; |
| |
| public static final String EXTENSION_PNG = "png"; |
| |
| // image/gif http://www.w3.org/Graphics/GIF/spec-gif89a.txt |
| public static final String IMAGE_GIF = "image/gif"; |
| |
| public static final String EXTENSION_GIF = "gif"; |
| |
| /** |
| * TIFF image format. |
| * |
| * @see <a href="http://partners.adobe.com/public/developer/tiff/index.html#spec"> |
| * http://partners.adobe.com/public/developer/tiff/index.html#spec</a> |
| */ |
| public static final String IMAGE_TIFF = "image/tiff"; |
| |
| public static final String EXTENSION_TIFF = "tiff"; |
| |
| /** |
| * Pict image format. |
| * |
| * @see <a href="http://developer.apple.com/documentation/mac/QuickDraw/QuickDraw-2.html"> |
| * http://developer.apple.com/documentation/mac/QuickDraw/QuickDraw-2.html</a> |
| */ |
| public static final String IMAGE_PICT = "image/pict"; |
| |
| public static final String EXTENSION_PICT = "pict"; |
| |
| /** |
| * XML file. |
| */ |
| public static final String XML = "text/xml"; |
| |
| public static final String EXTENSION_XML = "xml"; |
| |
| public static String getContentTypeFromFileExtension(String filename) { |
| String extension = filename.substring(filename.lastIndexOf('.') + 1) |
| .toLowerCase(Locale.ROOT); |
| if (extension.equals(EXTENSION_JPG_1) |
| || extension.equals(EXTENSION_JPG_2)) |
| return IMAGE_JPEG; |
| else if (extension.equals(EXTENSION_GIF)) |
| return IMAGE_GIF; |
| else if (extension.equals(EXTENSION_PICT)) |
| return IMAGE_PICT; |
| else if (extension.equals(EXTENSION_PNG)) |
| return IMAGE_PNG; |
| else if (extension.equals(EXTENSION_TIFF)) |
| return IMAGE_TIFF; |
| else if (extension.equals(EXTENSION_XML)) |
| return XML; |
| else |
| return null; |
| } |
| } |