//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: private void addPositions(final org.apache.lucene.index.DocsAndPositionsEnum in, final org.apache.lucene.store.IndexOutput out) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET: internal virtual void addPositions(DocsAndPositionsEnum @in, IndexOutput @out) { int freq = @in.freq(); @out.writeVInt(freq); int previousPosition = 0; int previousEndOffset = 0; for (int i = 0; i < freq; i++) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int pos = in.nextPosition(); int pos = @in.nextPosition(); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.apache.lucene.util.BytesRef payload = in.getPayload(); BytesRef payload = @in.Payload; // The low-order bit of token is set only if there is a payload, the // previous bits are the delta-encoded position. //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int token = (pos - previousPosition) << 1 | (payload == null ? 0 : 1); int token = (pos - previousPosition) << 1 | (payload == null ? 0 : 1); @out.writeVInt(token); previousPosition = pos; if (storeOffsets) // don't encode offsets if they are not stored { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int startOffset = in.startOffset(); int startOffset = @in.startOffset(); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int endOffset = in.endOffset(); int endOffset = @in.endOffset(); @out.writeVInt(startOffset - previousEndOffset); @out.writeVInt(endOffset - startOffset); previousEndOffset = endOffset; } if (payload != null) { @out.writeVInt(payload.length); @out.writeBytes(payload.bytes, payload.offset, payload.length); } } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: @Override public void addBinaryField(index.FieldInfo field, Iterable<util.BytesRef> values) throws java.io.IOException public override void addBinaryField(FieldInfo field, IEnumerable <BytesRef> values) { Debug.Assert(fieldSeen(field.name)); Debug.Assert(field.DocValuesType == FieldInfo.DocValuesType.BINARY); int maxLength = 0; foreach (BytesRef value in values) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int length = value == null ? 0 : value.length; int length = value == null ? 0 : value.length; maxLength = Math.Max(maxLength, length); } writeFieldEntry(field, FieldInfo.DocValuesType.BINARY); // write maxLength SimpleTextUtil.write(data, MAXLENGTH); SimpleTextUtil.write(data, Convert.ToString(maxLength), scratch); SimpleTextUtil.WriteNewline(data); int maxBytesLength = Convert.ToString(maxLength).Length; StringBuilder sb = new StringBuilder(); for (int i = 0; i < maxBytesLength; i++) { sb.Append('0'); } // write our pattern for encoding lengths SimpleTextUtil.write(data, PATTERN); SimpleTextUtil.write(data, sb.ToString(), scratch); SimpleTextUtil.WriteNewline(data); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.text.DecimalFormat encoder = new java.text.DecimalFormat(sb.toString(), new java.text.DecimalFormatSymbols(java.util.Locale.ROOT)); DecimalFormat encoder = new DecimalFormat(sb.ToString(), new DecimalFormatSymbols(Locale.ROOT)); int numDocsWritten = 0; foreach (BytesRef value in values) { // write length //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int length = value == null ? 0 : value.length; int length = value == null ? 0 : value.length; SimpleTextUtil.write(data, LENGTH); SimpleTextUtil.write(data, encoder.format(length), scratch); SimpleTextUtil.WriteNewline(data); // write bytes -- don't use SimpleText.write // because it escapes: if (value != null) { data.writeBytes(value.bytes, value.offset, value.length); } // pad to fit for (int i = length; i < maxLength; i++) { data.writeByte((sbyte)' '); } SimpleTextUtil.WriteNewline(data); if (value == null) { SimpleTextUtil.write(data, "F", scratch); } else { SimpleTextUtil.write(data, "T", scratch); } SimpleTextUtil.WriteNewline(data); numDocsWritten++; } Debug.Assert(numDocs == numDocsWritten); }
public override void writeBytes(byte[] b, int length) { _indexOutput.writeBytes(b, length); }