01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2005-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.gce.geotiff.IIOMetadataAdpaters;
17:
18: /**
19: * This class is a holder for a GeoKey record containing four short values as
20: * specified in the GeoTiff spec. The values are a GeoKey ID, the TIFFTag number
21: * of the location of this data, the count of values for this GeoKey, and the
22: * offset (or value if the location is 0).
23: *
24: * <p>
25: * If the Tiff Tag location is 0, then the value is a Short and is contained in
26: * the offset. Otherwise, there is one or more value in the specified external
27: * Tiff tag. The number is specified by the count field, and the offset into the
28: * record is the offset field.
29: * </p>
30: *
31: * @author Simone Giannecchini
32: * @author Mike Nidel
33: */
34: public final class GeoKeyEntry {
35: /** ID of this key. */
36: private int myKeyID;
37:
38: private int myTiffTagLocation;
39:
40: private int myCount;
41:
42: private int myValueOffset;
43:
44: /**
45: * Constructor of a {@link GeoKeyEntry}.
46: *
47: * @param keyID
48: * the id of this {@link GeoKeyEntry}.
49: * @param tagLoc
50: * the location of this tag.
51: * @param count
52: * @param offset
53: */
54: public GeoKeyEntry(int keyID, int tagLoc, int count, int offset) {
55: myKeyID = keyID;
56: myTiffTagLocation = tagLoc;
57: myCount = count;
58: myValueOffset = offset;
59: }
60:
61: public int getKeyID() {
62: return myKeyID;
63: }
64:
65: public int getTiffTagLocation() {
66: return myTiffTagLocation;
67: }
68:
69: public int getCount() {
70: return myCount;
71: }
72:
73: public int getValueOffset() {
74: return myValueOffset;
75: }
76:
77: public void setCount(int myCount) {
78: this .myCount = myCount;
79: }
80:
81: public void setKeyID(int myKeyID) {
82: this .myKeyID = myKeyID;
83: }
84:
85: public void setTiffTagLocation(int myTiffTagLocation) {
86: this .myTiffTagLocation = myTiffTagLocation;
87: }
88:
89: public void setValueOffset(int myValueOffset) {
90: this .myValueOffset = myValueOffset;
91: }
92:
93: public int[] getValues() {
94: return new int[] { myKeyID, myTiffTagLocation, myValueOffset,
95: myCount };
96: }
97: }
|