| 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 | }
|
|---|