private void parseFileHeaderInfo(java.nio.ByteBuffer buffer) { this.headerID = NITFSUtil.getString(buffer, 0, 4); this.version = NITFSUtil.getString(buffer, 5); this.isVersion0210 = "02.10".Equals(version); this.complexityLevel = NITFSUtil.getShortNumeric(buffer, 2); this.specialType = NITFSUtil.getString(buffer, 4); // offset 11, size 4 this.originationStationId = NITFSUtil.getString(buffer, 10); // offset 15, size 10 this.dateTime = NITFSUtil.getString(buffer, 14); // offset 25, size 14 this.title = NITFSUtil.getString(buffer, 80); // offset 39, size 80 this.FSCLAS = NITFSUtil.getString(buffer, 1); // offset 119, size 1 this.FSCLSY = (isVersion0210 ? NITFSUtil.getString(buffer, 2) : ""); // offset 120, size 2 this.FSCODE = NITFSUtil.getString(buffer, isVersion0210 ? 11 : 40); this.FSCTLH = NITFSUtil.getString(buffer, isVersion0210 ? 2 : 40); this.FSREL = NITFSUtil.getString(buffer, isVersion0210 ? 20 : 40); this.FSDCTP = (isVersion0210 ? NITFSUtil.getString(buffer, 2) : ""); this.FSDCDT = (isVersion0210 ? NITFSUtil.getString(buffer, 8) : ""); // offset 157/ this.FSDCXM = (isVersion0210 ? NITFSUtil.getString(buffer, 4) : ""); // offset 165/ this.FSDG = (isVersion0210 ? NITFSUtil.getString(buffer, 1) : ""); // offset 169/ this.FSDGDT = (isVersion0210 ? NITFSUtil.getString(buffer, 8) : ""); // oofset 170/ this.FSCLTX = (isVersion0210 ? NITFSUtil.getString(buffer, 43) : ""); // offset 178/ this.FSCATP = (isVersion0210 ? NITFSUtil.getString(buffer, 1) : ""); // offset 221/ this.FSCAUT = NITFSUtil.getString(buffer, isVersion0210 ? 40 : 20); // offset 222/240 this.FSCRSN = (isVersion0210 ? NITFSUtil.getString(buffer, 1) : ""); // offset 262/ this.FSSRDT = (isVersion0210 ? NITFSUtil.getString(buffer, 8) : ""); // offset 263/ this.FSCTLN = NITFSUtil.getString(buffer, isVersion0210 ? 15 : 20); // offset 271/260 this.FSDWNG = (isVersion0210) ? "" : NITFSUtil.getString(buffer, 6); // offset /280 this.FSDEVT = (!isVersion0210 && "999998".Equals(FSDWNG)) // offset /286 ? NITFSUtil.getString(buffer, 40) : ""; this.FSCOP = NITFSUtil.getString(buffer, 5); // offset 286/+40 this.FSCPYS = NITFSUtil.getString(buffer, 5); // offset 291/+40 this.ENCRYP = NITFSUtil.getString(buffer, 1); // offset 296/+40 this.FBKGC = (isVersion0210 ? NITFSUtil.getString(buffer, 297, 3) : ""); // offset 297/ this.ONAME = NITFSUtil.getString(buffer, isVersion0210 ? 24 : 27); // offset 300/297(+40) this.OPHONE = NITFSUtil.getString(buffer, 18); // offset 324(+40) this.fileLength = NITFSUtil.getNumeric(buffer, 12); // offset 342(+40) this.headerLength = NITFSUtil.getNumeric(buffer, 6); // offset 352(+40) }
public NITFSImageBand(java.nio.ByteBuffer buffer) { this.representation = NITFSUtil.getString(buffer, 2); this.significanceForImageCategory = NITFSUtil.getString(buffer, 6); this.imageFilterCondition = NITFSUtil.getString(buffer, 1); this.stdImageFilterCode = NITFSUtil.getString(buffer, 3); this.numOfLookupTables = NITFSUtil.getShortNumeric(buffer, 1); this.numOfLookupTableEntries = NITFSUtil.getShortNumeric(buffer, 5); if (0 < this.numOfLookupTables && 0 < this.numOfLookupTableEntries) { this.lut = new byte[this.numOfLookupTables][this.numOfLookupTableEntries]; for (int j = 0; j < this.numOfLookupTables; j++) { buffer.get(this.lut[j], 0, this.numOfLookupTableEntries); } } this.isGrayImage = (1 == this.numOfLookupTables); this.hasTransparentEntry = (217 == this.numOfLookupTableEntries); }