001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.commons.imaging.formats.jpeg.iptc; 018 019public enum IptcTypes implements IptcType { 020 RECORD_VERSION( 021 0, "Record Version"), 022 OBJECT_TYPE_REFERENCE( 023 3, "Object Type Reference"), 024 OBJECT_ATTRIBUTE_REFERENCE( 025 4, "Object Attribute Reference"), 026 OBJECT_NAME( 027 5, "Object Name"), 028 EDIT_STATUS( 029 7, "Edit Status"), 030 EDITORIAL_UPDATE( 031 8, "Editorial Update"), 032 URGENCY( 033 10, "Urgency"), 034 SUBJECT_REFERENCE( 035 12, "Subject Reference"), 036 CATEGORY( 037 15, "Category"), 038 SUPPLEMENTAL_CATEGORY( 039 20, "Supplemental Category"), 040 FIXTURE_IDENTIFIER( 041 22, "Fixture Identifier"), 042 KEYWORDS( 043 25, "Keywords"), 044 CONTENT_LOCATION_CODE( 045 26, "Content Location Code"), 046 CONTENT_LOCATION_NAME( 047 27, "Content Location Name"), 048 RELEASE_DATE( 049 30, "Release Date"), 050 RELEASE_TIME( 051 35, "Release Time"), 052 EXPIRATION_DATE( 053 37, "Expiration Date"), 054 EXPIRATION_TIME( 055 38, "Expiration Time"), 056 SPECIAL_INSTRUCTIONS( 057 40, "Special Instructions"), 058 ACTION_ADVISED( 059 42, "Action Advised"), 060 REFERENCE_SERVICE( 061 45, "Reference Service"), 062 REFERENCE_DATE( 063 47, "Reference Date"), 064 REFERENCE_NUMBER( 065 50, "Reference Number"), 066 DATE_CREATED( 067 55, "Date Created"), 068 TIME_CREATED( 069 60, "Time Created"), 070 DIGITAL_CREATION_DATE( 071 62, "Digital Creation Date"), 072 DIGITAL_CREATION_TIME( 073 63, "Digital Creation Time"), 074 ORIGINATING_PROGRAM( 075 65, "Originating Program"), 076 PROGRAM_VERSION( 077 70, "Program Version"), 078 OBJECT_CYCLE( 079 75, "Object Cycle"), 080 BYLINE( 081 80, "By-line"), 082 BYLINE_TITLE( 083 85, "By-line Title"), 084 CITY( 085 90, "City"), 086 SUBLOCATION( 087 92, "Sublocation"), 088 PROVINCE_STATE( 089 95, "Province/State"), 090 COUNTRY_PRIMARY_LOCATION_CODE( 091 100, "Country/Primary Location Code"), 092 COUNTRY_PRIMARY_LOCATION_NAME( 093 101, "Country/Primary Location Name"), 094 ORIGINAL_TRANSMISSION_REFERENCE( 095 103, "Original Transmission, Reference"), 096 HEADLINE( 097 105, "Headline"), 098 CREDIT( 099 110, "Credit"), 100 SOURCE( 101 115, "Source"), 102 COPYRIGHT_NOTICE( 103 116, "Copyright Notice"), 104 CONTACT( 105 118, "Contact"), 106 CAPTION_ABSTRACT( 107 120, "Caption/Abstract"), 108 WRITER_EDITOR( 109 122, "Writer/Editor"), 110 RASTERIZED_CAPTION( 111 125, "Rasterized Caption"), 112 IMAGE_TYPE( 113 130, "ImageType"), 114 IMAGE_ORIENTATION( 115 131, "Image Orientation"), 116 LANGUAGE_IDENTIFIER( 117 135, "Language Identifier"), 118 AUDIO_TYPE( 119 150, "Audio Type"), 120 AUDIO_SAMPLING_RATE( 121 151, "Audio Sampling Rate"), 122 AUDIO_SAMPLING_RESOLUTION( 123 152, "Audio Sampling Resolution"), 124 AUDIO_DURATION( 125 153, "Audio Duration"), 126 AUDIO_OUTCUE( 127 154, "Audio Outcue"), 128 OBJECT_DATA_PREVIEW_FILE_FORMAT( 129 200, "Object Data Preview, File Format"), 130 OBJECT_DATA_PREVIEW_FILE_FORMAT_VERSION( 131 201, "Object Data Preview, File Format Version"), 132 OBJECT_DATA_PREVIEW_DATA( 133 202, "Object Data Preview Data"); 134 135 public final int type; 136 public final String name; 137 138 IptcTypes(final int type, final String name) { 139 this.type = type; 140 this.name = name; 141 } 142 143 @Override 144 public String getName() { 145 return name; 146 } 147 148 @Override 149 public int getType() { 150 return type; 151 } 152 153 @Override 154 public String toString() { 155 return name + " (" + type + ")"; 156 } 157 158 public static IptcType getUnknown(final int type) { 159 return new IptcType() { 160 @Override 161 public String getName() { 162 return "Unknown"; 163 } 164 165 @Override 166 public int getType() { 167 return type; 168 } 169 170 @Override 171 public String toString() { 172 return "Unknown (" + type + ")"; 173 } 174 }; 175 } 176}