1 | /*
|
---|
2 | * Copyright 2002-2015 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 | * https://drewnoakes.com/code/exif/
|
---|
19 | * https://github.com/drewnoakes/metadata-extractor
|
---|
20 | */
|
---|
21 | package com.drew.metadata.exif.makernotes;
|
---|
22 |
|
---|
23 | import com.drew.lang.annotations.NotNull;
|
---|
24 | import com.drew.metadata.Directory;
|
---|
25 |
|
---|
26 | import java.util.HashMap;
|
---|
27 |
|
---|
28 | /**
|
---|
29 | * The Olympus equipment makernote is used by many manufacturers (Epson, Konica, Minolta and Agfa...), and as such contains some tags
|
---|
30 | * that appear specific to those manufacturers.
|
---|
31 | *
|
---|
32 | * @author Kevin Mott https://github.com/kwhopper
|
---|
33 | * @author Drew Noakes https://drewnoakes.com
|
---|
34 | */
|
---|
35 | public class OlympusEquipmentMakernoteDirectory extends Directory
|
---|
36 | {
|
---|
37 | public static final int TAG_EQUIPMENT_VERSION = 0x0000;
|
---|
38 | public static final int TAG_CAMERA_TYPE_2 = 0x0100;
|
---|
39 | public static final int TAG_SERIAL_NUMBER = 0x0101;
|
---|
40 |
|
---|
41 | public static final int TAG_INTERNAL_SERIAL_NUMBER = 0x0102;
|
---|
42 | public static final int TAG_FOCAL_PLANE_DIAGONAL = 0x0103;
|
---|
43 | public static final int TAG_BODY_FIRMWARE_VERSION = 0x0104;
|
---|
44 |
|
---|
45 | public static final int TAG_LENS_TYPE = 0x0201;
|
---|
46 | public static final int TAG_LENS_SERIAL_NUMBER = 0x0202;
|
---|
47 | public static final int TAG_LENS_MODEL = 0x0203;
|
---|
48 | public static final int TAG_LENS_FIRMWARE_VERSION = 0x0204;
|
---|
49 | public static final int TAG_MAX_APERTURE_AT_MIN_FOCAL = 0x0205;
|
---|
50 | public static final int TAG_MAX_APERTURE_AT_MAX_FOCAL = 0x0206;
|
---|
51 | public static final int TAG_MIN_FOCAL_LENGTH = 0x0207;
|
---|
52 | public static final int TAG_MAX_FOCAL_LENGTH = 0x0208;
|
---|
53 | public static final int TAG_MAX_APERTURE = 0x020A;
|
---|
54 | public static final int TAG_LENS_PROPERTIES = 0x020B;
|
---|
55 |
|
---|
56 | public static final int TAG_EXTENDER = 0x0301;
|
---|
57 | public static final int TAG_EXTENDER_SERIAL_NUMBER = 0x0302;
|
---|
58 | public static final int TAG_EXTENDER_MODEL = 0x0303;
|
---|
59 | public static final int TAG_EXTENDER_FIRMWARE_VERSION = 0x0304;
|
---|
60 |
|
---|
61 | public static final int TAG_CONVERSION_LENS = 0x0403;
|
---|
62 |
|
---|
63 | public static final int TAG_FLASH_TYPE = 0x1000;
|
---|
64 | public static final int TAG_FLASH_MODEL = 0x1001;
|
---|
65 | public static final int TAG_FLASH_FIRMWARE_VERSION = 0x1002;
|
---|
66 | public static final int TAG_FLASH_SERIAL_NUMBER = 0x1003;
|
---|
67 |
|
---|
68 | @NotNull
|
---|
69 | protected static final HashMap<Integer, String> _tagNameMap = new HashMap<Integer, String>();
|
---|
70 |
|
---|
71 | static {
|
---|
72 | _tagNameMap.put(TAG_EQUIPMENT_VERSION, "Equipment Version");
|
---|
73 | _tagNameMap.put(TAG_CAMERA_TYPE_2, "Camera Type 2");
|
---|
74 | _tagNameMap.put(TAG_SERIAL_NUMBER, "Serial Number");
|
---|
75 | _tagNameMap.put(TAG_INTERNAL_SERIAL_NUMBER, "Internal Serial Number");
|
---|
76 | _tagNameMap.put(TAG_FOCAL_PLANE_DIAGONAL, "Focal Plane Diagonal");
|
---|
77 | _tagNameMap.put(TAG_BODY_FIRMWARE_VERSION, "Body Firmware Version");
|
---|
78 | _tagNameMap.put(TAG_LENS_TYPE, "Lens Type");
|
---|
79 | _tagNameMap.put(TAG_LENS_SERIAL_NUMBER, "Lens Serial Number");
|
---|
80 | _tagNameMap.put(TAG_LENS_MODEL, "Lens Model");
|
---|
81 | _tagNameMap.put(TAG_LENS_FIRMWARE_VERSION, "Lens Firmware Version");
|
---|
82 | _tagNameMap.put(TAG_MAX_APERTURE_AT_MIN_FOCAL, "Max Aperture At Min Focal");
|
---|
83 | _tagNameMap.put(TAG_MAX_APERTURE_AT_MAX_FOCAL, "Max Aperture At Max Focal");
|
---|
84 | _tagNameMap.put(TAG_MIN_FOCAL_LENGTH, "Min Focal Length");
|
---|
85 | _tagNameMap.put(TAG_MAX_FOCAL_LENGTH, "Max Focal Length");
|
---|
86 | _tagNameMap.put(TAG_MAX_APERTURE, "Max Aperture");
|
---|
87 | _tagNameMap.put(TAG_LENS_PROPERTIES, "Lens Properties");
|
---|
88 | _tagNameMap.put(TAG_EXTENDER, "Extender");
|
---|
89 | _tagNameMap.put(TAG_EXTENDER_SERIAL_NUMBER, "Extender Serial Number");
|
---|
90 | _tagNameMap.put(TAG_EXTENDER_MODEL, "Extender Model");
|
---|
91 | _tagNameMap.put(TAG_EXTENDER_FIRMWARE_VERSION, "Extender Firmware Version");
|
---|
92 | _tagNameMap.put(TAG_CONVERSION_LENS, "Conversion Lens");
|
---|
93 | _tagNameMap.put(TAG_FLASH_TYPE, "Flash Type");
|
---|
94 | _tagNameMap.put(TAG_FLASH_MODEL, "Flash Model");
|
---|
95 | _tagNameMap.put(TAG_FLASH_FIRMWARE_VERSION, "Flash Firmware Version");
|
---|
96 | _tagNameMap.put(TAG_FLASH_SERIAL_NUMBER, "Flash Serial Number");
|
---|
97 | }
|
---|
98 |
|
---|
99 | public OlympusEquipmentMakernoteDirectory()
|
---|
100 | {
|
---|
101 | this.setDescriptor(new OlympusEquipmentMakernoteDescriptor(this));
|
---|
102 | }
|
---|
103 |
|
---|
104 | @Override
|
---|
105 | @NotNull
|
---|
106 | public String getName()
|
---|
107 | {
|
---|
108 | return "Olympus Equipment";
|
---|
109 | }
|
---|
110 |
|
---|
111 | @Override
|
---|
112 | @NotNull
|
---|
113 | protected HashMap<Integer, String> getTagNameMap()
|
---|
114 | {
|
---|
115 | return _tagNameMap;
|
---|
116 | }
|
---|
117 | }
|
---|