source: josm/trunk/src/com/drew/metadata/jpeg/JpegCommentReader.java@ 8132

Last change on this file since 8132 was 8132, checked in by Don-vip, 10 years ago

fix #11162 - update to metadata-extractor 2.7.2

File size: 2.0 KB
Line 
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 */
21package com.drew.metadata.jpeg;
22
23import com.drew.imaging.jpeg.JpegSegmentMetadataReader;
24import com.drew.imaging.jpeg.JpegSegmentType;
25import com.drew.lang.annotations.NotNull;
26import com.drew.metadata.Metadata;
27
28import java.util.Arrays;
29
30/**
31 * Decodes the comment stored within JPEG files, populating a {@link Metadata} object with tag values in a
32 * {@link JpegCommentDirectory}.
33 *
34 * @author Drew Noakes https://drewnoakes.com
35 */
36public class JpegCommentReader implements JpegSegmentMetadataReader
37{
38 @NotNull
39 public Iterable<JpegSegmentType> getSegmentTypes()
40 {
41 return Arrays.asList(JpegSegmentType.COM);
42 }
43
44 public boolean canProcess(@NotNull byte[] segmentBytes, @NotNull JpegSegmentType segmentType)
45 {
46 // The entire contents of the byte[] is the comment. There's nothing here to discriminate upon.
47 return true;
48 }
49
50 public void extract(@NotNull byte[] segmentBytes, @NotNull Metadata metadata, @NotNull JpegSegmentType segmentType)
51 {
52 JpegCommentDirectory directory = metadata.getOrCreateDirectory(JpegCommentDirectory.class);
53
54 // The entire contents of the directory are the comment
55 directory.setString(JpegCommentDirectory.TAG_COMMENT, new String(segmentBytes));
56 }
57}
Note: See TracBrowser for help on using the repository browser.