65 public TIFFImageMetadata(List<TIFFTagSet> tagSets) { 66 super(true, 67 NATIVE_METADATA_FORMAT_NAME, 68 NATIVE_METADATA_FORMAT_CLASS_NAME, 69 null, null); 70 71 this.tagSets = tagSets; 72 this.rootIFD = new TIFFIFD(tagSets); 73 } 74 75 public TIFFImageMetadata(TIFFIFD ifd) { 76 super(true, 77 NATIVE_METADATA_FORMAT_NAME, 78 NATIVE_METADATA_FORMAT_CLASS_NAME, 79 null, null); 80 this.tagSets = ifd.getTagSetList(); 81 this.rootIFD = ifd; 82 } 83 84 public void initializeFromStream(ImageInputStream stream, 85 boolean ignoreUnknownFields) 86 throws IOException { 87 rootIFD.initialize(stream, true, ignoreUnknownFields); 88 } 89 90 public void addShortOrLongField(int tagNumber, int value) { 91 TIFFField field = new TIFFField(rootIFD.getTag(tagNumber), value); 92 rootIFD.addTIFFField(field); 93 } 94 95 public boolean isReadOnly() { 96 return false; 97 } 98 99 private Node getIFDAsTree(TIFFIFD ifd, 100 String parentTagName, int parentTagNumber) { 101 IIOMetadataNode IFDRoot = new IIOMetadataNode("TIFFIFD"); 102 if (parentTagNumber != 0) { 103 IFDRoot.setAttribute("parentTagNumber", 104 Integer.toString(parentTagNumber)); 105 } 106 if (parentTagName != null) { 107 IFDRoot.setAttribute("parentTagName", parentTagName); | 65 public TIFFImageMetadata(List<TIFFTagSet> tagSets) { 66 super(true, 67 NATIVE_METADATA_FORMAT_NAME, 68 NATIVE_METADATA_FORMAT_CLASS_NAME, 69 null, null); 70 71 this.tagSets = tagSets; 72 this.rootIFD = new TIFFIFD(tagSets); 73 } 74 75 public TIFFImageMetadata(TIFFIFD ifd) { 76 super(true, 77 NATIVE_METADATA_FORMAT_NAME, 78 NATIVE_METADATA_FORMAT_CLASS_NAME, 79 null, null); 80 this.tagSets = ifd.getTagSetList(); 81 this.rootIFD = ifd; 82 } 83 84 public void initializeFromStream(ImageInputStream stream, 85 boolean ignoreMetadata, 86 boolean readUnknownTags) 87 throws IOException { 88 rootIFD.initialize(stream, true, ignoreMetadata, readUnknownTags); 89 } 90 91 public void addShortOrLongField(int tagNumber, int value) { 92 TIFFField field = new TIFFField(rootIFD.getTag(tagNumber), value); 93 rootIFD.addTIFFField(field); 94 } 95 96 public boolean isReadOnly() { 97 return false; 98 } 99 100 private Node getIFDAsTree(TIFFIFD ifd, 101 String parentTagName, int parentTagNumber) { 102 IIOMetadataNode IFDRoot = new IIOMetadataNode("TIFFIFD"); 103 if (parentTagNumber != 0) { 104 IFDRoot.setAttribute("parentTagNumber", 105 Integer.toString(parentTagNumber)); 106 } 107 if (parentTagName != null) { 108 IFDRoot.setAttribute("parentTagName", parentTagName); |