public SepPostingsReader( Directory dir, FieldInfos fieldInfos, SegmentInfo segmentInfo, IOContext context, IntStreamFactory intFactory, String segmentSuffix) throws IOException { boolean success = false; try { final String docFileName = IndexFileNames.segmentFileName( segmentInfo.name, segmentSuffix, SepPostingsWriter.DOC_EXTENSION); docIn = intFactory.openInput(dir, docFileName, context); skipIn = dir.openInput( IndexFileNames.segmentFileName( segmentInfo.name, segmentSuffix, SepPostingsWriter.SKIP_EXTENSION), context); if (fieldInfos.hasFreq()) { freqIn = intFactory.openInput( dir, IndexFileNames.segmentFileName( segmentInfo.name, segmentSuffix, SepPostingsWriter.FREQ_EXTENSION), context); } else { freqIn = null; } if (fieldInfos.hasProx()) { posIn = intFactory.openInput( dir, IndexFileNames.segmentFileName( segmentInfo.name, segmentSuffix, SepPostingsWriter.POS_EXTENSION), context); payloadIn = dir.openInput( IndexFileNames.segmentFileName( segmentInfo.name, segmentSuffix, SepPostingsWriter.PAYLOAD_EXTENSION), context); } else { posIn = null; payloadIn = null; } success = true; } finally { if (!success) { close(); } } }