Changeset 6127 in josm for trunk/src/com/drew/metadata/exif/ExifInteropDescriptor.java
- Timestamp:
- 2013-08-09T18:05:11+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/drew/metadata/exif/ExifInteropDescriptor.java
r4231 r6127 1 1 /* 2 * This is public domain software - that is, you can do whatever you want 3 * with it, and include it software that is licensed under the GNU or the 4 * BSD license, or whatever other licence you choose, including proprietary 5 * closed source licenses. I do ask that you leave this header in tact. 2 * Copyright 2002-2012 Drew Noakes 6 3 * 7 * If you make modifications to this code that you think would benefit the 8 * wider community, please send me a copy and I'll post it on my site. 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 9 7 * 10 * If you make use of this code, I'd appreciate hearing about it. 11 * drew@drewnoakes.com 12 * Latest version of this software kept at 13 * http://drewnoakes.com/ 8 * http://www.apache.org/licenses/LICENSE-2.0 14 9 * 15 * Created by dnoakes on 12-Nov-2002 22:27:34 using IntelliJ IDEA. 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 * More information about this project is available at: 17 * 18 * http://drewnoakes.com/code/exif/ 19 * http://code.google.com/p/metadata-extractor/ 16 20 */ 17 21 package com.drew.metadata.exif; 18 22 19 import com.drew. metadata.Directory;20 import com.drew. metadata.MetadataException;23 import com.drew.lang.annotations.NotNull; 24 import com.drew.lang.annotations.Nullable; 21 25 import com.drew.metadata.TagDescriptor; 22 26 23 27 /** 28 * Provides human-readable string representations of tag values stored in a <code>ExifInteropDirectory</code>. 24 29 * 30 * @author Drew Noakes http://drewnoakes.com 25 31 */ 26 public class ExifInteropDescriptor extends TagDescriptor 32 public class ExifInteropDescriptor extends TagDescriptor<ExifInteropDirectory> 27 33 { 28 public ExifInteropDescriptor( Directory directory)34 public ExifInteropDescriptor(@NotNull ExifInteropDirectory directory) 29 35 { 30 36 super(directory); 31 37 } 32 38 33 public String getDescription(int tagType) throws MetadataException 39 @Nullable 40 public String getDescription(int tagType) 34 41 { 35 42 switch (tagType) { … … 39 46 return getInteropVersionDescription(); 40 47 default: 41 return _directory.getString(tagType);48 return super.getDescription(tagType); 42 49 } 43 50 } 44 51 45 public String getInteropVersionDescription() throws MetadataException 52 @Nullable 53 public String getInteropVersionDescription() 46 54 { 47 if (!_directory.containsTag(ExifInteropDirectory.TAG_INTEROP_VERSION)) return null;48 55 int[] ints = _directory.getIntArray(ExifInteropDirectory.TAG_INTEROP_VERSION); 49 return ExifDescriptor.convertBytesToVersionString(ints);56 return convertBytesToVersionString(ints, 2); 50 57 } 51 58 59 @Nullable 52 60 public String getInteropIndexDescription() 53 61 { 54 if (!_directory.containsTag(ExifInteropDirectory.TAG_INTEROP_INDEX)) return null; 55 String interopIndex = _directory.getString(ExifInteropDirectory.TAG_INTEROP_INDEX).trim(); 56 if ("R98".equalsIgnoreCase(interopIndex)) { 57 return "Recommended Exif Interoperability Rules (ExifR98)"; 58 } else { 59 return "Unknown (" + interopIndex + ")"; 60 } 62 String value = _directory.getString(ExifInteropDirectory.TAG_INTEROP_INDEX); 63 64 if (value==null) 65 return null; 66 67 return "R98".equalsIgnoreCase(value.trim()) 68 ? "Recommended Exif Interoperability Rules (ExifR98)" 69 : "Unknown (" + value + ")"; 61 70 } 62 71 }
Note:
See TracChangeset
for help on using the changeset viewer.