source: josm/trunk/src/com/drew/metadata/exif/KyoceraMakernoteDescriptor.java@ 6209

Last change on this file since 6209 was 6127, checked in by bastiK, 11 years ago

applied #8895 - Upgrade metadata-extractor to v. 2.6.4 (patch by ebourg)

File size: 2.7 KB
Line 
1/*
2 * Copyright 2002-2012 Drew Noakes
3 *
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
7 *
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/
20 */
21package com.drew.metadata.exif;
22
23import com.drew.lang.annotations.NotNull;
24import com.drew.lang.annotations.Nullable;
25import com.drew.metadata.TagDescriptor;
26
27/**
28 * Provides human-readable string representations of tag values stored in a <code>KyoceraMakernoteDirectory</code>.
29 * <p/>
30 * Some information about this makernote taken from here:
31 * http://www.ozhiker.com/electronics/pjmt/jpeg_info/kyocera_mn.html
32 * <p/>
33 * Most manufacturer's MakerNote counts the "offset to data" from the first byte
34 * of TIFF header (same as the other IFD), but Kyocera (along with Fujifilm) counts
35 * it from the first byte of MakerNote itself.
36 *
37 * @author Drew Noakes http://drewnoakes.com
38 */
39public class KyoceraMakernoteDescriptor extends TagDescriptor<KyoceraMakernoteDirectory>
40{
41 public KyoceraMakernoteDescriptor(@NotNull KyoceraMakernoteDirectory directory)
42 {
43 super(directory);
44 }
45
46 @Nullable
47 public String getDescription(int tagType)
48 {
49 switch (tagType) {
50 case KyoceraMakernoteDirectory.TAG_KYOCERA_PRINT_IMAGE_MATCHING_INFO:
51 return getPrintImageMatchingInfoDescription();
52 case KyoceraMakernoteDirectory.TAG_KYOCERA_PROPRIETARY_THUMBNAIL:
53 return getProprietaryThumbnailDataDescription();
54 default:
55 return super.getDescription(tagType);
56 }
57 }
58
59 @Nullable
60 public String getPrintImageMatchingInfoDescription()
61 {
62 byte[] bytes = _directory.getByteArray(KyoceraMakernoteDirectory.TAG_KYOCERA_PRINT_IMAGE_MATCHING_INFO);
63 if (bytes==null)
64 return null;
65 return "(" + bytes.length + " bytes)";
66 }
67
68 @Nullable
69 public String getProprietaryThumbnailDataDescription()
70 {
71 byte[] bytes = _directory.getByteArray(KyoceraMakernoteDirectory.TAG_KYOCERA_PROPRIETARY_THUMBNAIL);
72 if (bytes==null)
73 return null;
74 return "(" + bytes.length + " bytes)";
75 }
76}
Note: See TracBrowser for help on using the repository browser.