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) }