1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.imaging.formats.gif;
18
19 import java.util.ArrayList;
20 import java.util.Collections;
21 import java.util.List;
22
23 import org.apache.commons.imaging.common.ImageMetadata;
24
25 public class GifImageMetadata implements ImageMetadata {
26
27 private static final String NEWLINE = System.lineSeparator();
28 private final int width;
29 private final int height;
30 private final List<GifImageMetadataItem> items;
31
32 GifImageMetadata(final int width, final int height, final List<GifImageMetadataItem> items) {
33 this.width = width;
34 this.height = height;
35 this.items = Collections.unmodifiableList(new ArrayList<>(items));
36 }
37
38 public int getHeight() {
39 return height;
40 }
41
42 @Override
43 public List<GifImageMetadataItem> getItems() {
44 return Collections.unmodifiableList(items);
45 }
46
47 public int getWidth() {
48 return width;
49 }
50
51 @Override
52 public String toString(String prefix) {
53 prefix = prefix == null ? "" : prefix;
54 final StringBuilder result = new StringBuilder();
55 result.append(String.format("%sGIF metadata:", prefix));
56 result.append(String.format("%sWidth: %d%s", prefix, width, NEWLINE));
57 result.append(String.format("%sHeight: %d%s", prefix, height, NEWLINE));
58 result.append(NEWLINE);
59 result.append(String.format("%sImages:", prefix));
60 for (final GifImageMetadataItem item : items) {
61 result.append(NEWLINE);
62 result.append(item.toString(prefix));
63 }
64 return result.toString();
65 }
66 }