Changeset 6127 in josm for trunk/src/com/drew/metadata/exif/KyoceraMakernoteDescriptor.java
- Timestamp:
- 2013-08-09T18:05:11+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/drew/metadata/exif/KyoceraMakernoteDescriptor.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 9 * 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/ 14 20 */ 15 21 package com.drew.metadata.exif; 16 22 17 import com.drew. metadata.Directory;18 import com.drew. metadata.MetadataException;23 import com.drew.lang.annotations.NotNull; 24 import com.drew.lang.annotations.Nullable; 19 25 import com.drew.metadata.TagDescriptor; 20 26 21 27 /** 22 * Provides human-readable string versions of the tags stored in a KyoceraMakernoteDirectory.23 * 28 * Provides human-readable string representations of tag values stored in a <code>KyoceraMakernoteDirectory</code>. 29 * <p/> 24 30 * Some information about this makernote taken from here: 25 31 * http://www.ozhiker.com/electronics/pjmt/jpeg_info/kyocera_mn.html 26 * 32 * <p/> 27 33 * Most manufacturer's MakerNote counts the "offset to data" from the first byte 28 34 * of TIFF header (same as the other IFD), but Kyocera (along with Fujifilm) counts 29 35 * it from the first byte of MakerNote itself. 36 * 37 * @author Drew Noakes http://drewnoakes.com 30 38 */ 31 public class KyoceraMakernoteDescriptor extends TagDescriptor 39 public class KyoceraMakernoteDescriptor extends TagDescriptor<KyoceraMakernoteDirectory> 32 40 { 33 public KyoceraMakernoteDescriptor(Directory directory) 41 public KyoceraMakernoteDescriptor(@NotNull KyoceraMakernoteDirectory directory) 34 42 { 35 43 super(directory); 36 44 } 37 45 38 public String getDescription(int tagType) throws MetadataException 46 @Nullable 47 public String getDescription(int tagType) 39 48 { 40 49 switch (tagType) { … … 44 53 return getProprietaryThumbnailDataDescription(); 45 54 default: 46 return _directory.getString(tagType);55 return super.getDescription(tagType); 47 56 } 48 57 } 49 58 50 public String getPrintImageMatchingInfoDescription() throws MetadataException 59 @Nullable 60 public String getPrintImageMatchingInfoDescription() 51 61 { 52 if (!_directory.containsTag(KyoceraMakernoteDirectory.TAG_KYOCERA_PRINT_IMAGE_MATCHING_INFO)) return null;53 62 byte[] bytes = _directory.getByteArray(KyoceraMakernoteDirectory.TAG_KYOCERA_PRINT_IMAGE_MATCHING_INFO); 63 if (bytes==null) 64 return null; 54 65 return "(" + bytes.length + " bytes)"; 55 66 } 56 67 57 public String getProprietaryThumbnailDataDescription() throws MetadataException 68 @Nullable 69 public String getProprietaryThumbnailDataDescription() 58 70 { 59 if (!_directory.containsTag(KyoceraMakernoteDirectory.TAG_KYOCERA_PROPRIETARY_THUMBNAIL)) return null;60 71 byte[] bytes = _directory.getByteArray(KyoceraMakernoteDirectory.TAG_KYOCERA_PROPRIETARY_THUMBNAIL); 72 if (bytes==null) 73 return null; 61 74 return "(" + bytes.length + " bytes)"; 62 75 }
Note:
See TracChangeset
for help on using the changeset viewer.
